コード例 #1
0
        sensor_config = sensor_data['sensor_config']
        registration_config = sensor_data['registration_config'].copy()
        registration_config.update(config['chessboard_registration'])

        # open sensor
        try:
            sensor_type = sensor_config['type']
            sensor_config['frame'] = sensor_frame
            sensor = RgbdSensorFactory.sensor(sensor_type, sensor_config)
            logging.info('Starting sensor')
            sensor.start()
            ir_intrinsics = sensor.ir_intrinsics
            logging.info('Sensor initialized')

            # register
            reg_result = CameraChessboardRegistration.register(sensor, registration_config)
            T_camera_world = T_cb_world * reg_result.T_camera_cb

            logging.info('Final Result for sensor %s' %(sensor_frame))
            logging.info('Rotation: ')
            logging.info(T_camera_world.rotation)
            logging.info('Quaternion: ')
            logging.info(T_camera_world.quaternion)
            logging.info('Translation: ')
            logging.info(T_camera_world.translation)

            sensor.stop()
        except Exception as e:
            logging.error('Failed to register sensor {}'.format(sensor_frame))
            continue
コード例 #2
0
    # load T_world_cam
    T_world_cam_path = os.path.join(config['calib_dir'], sensor_frame,
                                    '{0}_to_world.tf'.format(sensor_frame))
    T_world_cam = RigidTransform.load(T_world_cam_path)

    # open sensor
    sensor_type = sensor_config['type']
    sensor_config['frame'] = sensor_frame
    sensor = RgbdSensorFactory.sensor(sensor_type, sensor_config)
    logging.info('Starting sensor')
    sensor.start()
    ir_intrinsics = sensor.ir_intrinsics
    logging.info('Sensor initialized')

    # register
    reg_result = CameraChessboardRegistration.register(
        sensor, config['chessboard_registration'])

    T_cb_cam = reg_result.T_camera_cb
    T_world_obj = T_world_cam * T_cb_cam.inverse() * T_cb_obj

    output_path = os.path.join(config['calib_dir'], T_world_obj.from_frame)
    if not os.path.exists(output_path):
        os.makedirs(output_path)

    output_filename = os.path.join(
        output_path, '{0}_to_world.tf'.format(T_world_obj.from_frame))
    print T_world_obj
    T_world_obj.save(output_filename)

    if config['vis'] and VIS_SUPPORTED: