def sensor_names()

in bisk/features/base.py [0:0]


    def sensor_names(self) -> List[str]:
        names = ['' for i in range(len(self.p.data.sensordata))]
        for sn in self.p.named.model.sensor_adr.axes.row.names:
            typ = self.p.named.model.sensor_type[sn]
            adr = self.p.named.model.sensor_adr[sn]
            if typ == mjenums.mjtSensor.mjSENS_GYRO:
                feats = ['avx', 'avy', 'avz']
            elif (
                typ == mjenums.mjtSensor.mjSENS_VELOCIMETER
                or typ == mjenums.mjtSensor.mjSENS_SUBTREELINVEL
            ):
                feats = ['lvx', 'lvy', 'lvz']
            elif typ == mjenums.mjtSensor.mjSENS_ACCELEROMETER:
                feats = ['lax', 'lay', 'laz']
            elif (
                typ == mjenums.mjtSensor.mjSENS_FRAMEPOS
                or typ == mjenums.mjtSensor.mjSENS_SUBTREECOM
            ):
                feats = ['px', 'py', 'pz']
            elif typ == mjenums.mjtSensor.mjSENS_JOINTPOS:
                feats = ['']
            elif typ == mjenums.mjtSensor.mjSENS_JOINTVEL:
                feats = ['']
            elif typ == mjenums.mjtSensor.mjSENS_FORCE:
                feats = ['fx', 'fy', 'fz']
            elif typ == mjenums.mjtSensor.mjSENS_TORQUE:
                feats = ['tx', 'ty', 'tz']
            elif typ == mjenums.mjtSensor.mjSENS_RANGEFINDER:
                feats = ['d']
            elif typ == mjenums.mjtSensor.mjSENS_TOUCH:
                feats = ['f']
            else:
                raise ValueError(f'Unsupported sensor type: {typ}')
            for i, f in enumerate(feats):
                names[adr + i] = f'{sn}:{f}'
        return names