ros_robot.sensor package
Submodules
ros_robot.sensor.imu module
- class ros_robot.sensor.imu.ImuManager(robotics)
基类:
objectIMU传感器管理器
- get_angular_velocity() Vector3 | None
获取当前角速度
- 参数:
None
- 返回:
角速度向量 (rad/s),如果未初始化则返回None
- get_heading() float | None
获取当前航向角(偏航角,0-360度)
- 参数:
None
- 返回:
航向角,0度指向正北,顺时针增加,如果未初始化则返回None
- get_latest_imu_data() Imu | None
获取最新的原始IMU消息
- 参数:
None
- 返回:
原始IMU消息,如果未初始化则返回None
- get_linear_acceleration() Vector3 | None
获取当前线加速度
- 参数:
None
- 返回:
线加速度向量 (m/s²),如果未初始化则返回None
- get_orientation() Quaternion | None
获取当前姿态四元数
- 参数:
None
- 返回:
四元数,如果未初始化则返回None
- get_orientation_euler() Dict[str, float] | None
获取当前欧拉角(度)
- 参数:
None
- 返回:
包含roll, pitch, yaw的字典,单位为度
- get_pitch() float | None
获取当前俯仰角
- 参数:
None
- 返回:
俯仰角(度),正值为抬头,负值为低头,如果未初始化则返回None
- get_roll() float | None
获取当前横滚角
- 参数:
None
- 返回:
横滚角(度),正值为右倾,负值为左倾,如果未初始化则返回None
- is_initialized() bool
检查IMU是否已初始化
- 参数:
None
- 返回:
True表示已初始化,False表示未初始化
- 返回类型:
bool
ros_robot.sensor.lidar module
- class ros_robot.sensor.lidar.LaserScanManager(robotics)
基类:
object激光雷达
- get_latest_scan_data() LaserScan | None
获取最新的原始激光雷达消息
- 参数:
None
- 返回:
最新的原始激光雷达消息,无则返回None
- 返回类型:
LaserScan
- get_range_at_angle(target_angle: float) float | None
获取指定角度的测距值
- 参数:
target_angle (float) -- 目标角度(度,0°为正前向,顺时针增加)
- 返回:
测距值(米),无效则返回None
- is_initialized() bool
检查激光雷达是否已初始化
- 参数:
None
- 返回:
激光雷达是否已初始化
- 返回类型:
bool
ros_robot.sensor.sensor_correct module
- class ros_robot.sensor.sensor_correct.CorrectMode(value)
基类:
EnumAn enumeration.
- SENSOR0 = 0
- SENSOR0_AND_SENSOR1 = 2
- SENSOR1 = 1
- class ros_robot.sensor.sensor_correct.SensorCorrect(robotics)
基类:
object传感器校正
- send_controls_request(set_revise_x=0.0, set_x0_comp=0.0, sensor_type=SensorType.PING, correction_mode=CorrectMode.SENSOR0, start=False)
发送修正控制请求
- 参数:
set_revise_x (float, optional) -- x 修正设定值(cm). Defaults to 0.0.
set_x0_comp (float, optional) -- yaw 传感器0补偿参数(cm). Defaults to 0.0.
sensor_type (SensorType, optional) -- 传感器类型 0: ping 1: ir 2: lidar. Defaults to SensorType.PING.
correction_mode (CorrectMode, optional) -- 修正模式 0:传感器0 1:传感器1 2:传感器0 && 1
start (bool, optional) -- 启动标志 // true:启动修正 false:查询状态. Defaults to False.
- 返回:
(success, err_data) 成功标志 True: 执行结束 False: 执行中, -1 : ping端口选择错误, -2 : ir端口选择错误 , -3 : 传感器类型错误 , -101 :安全控制触发(急停) , -102 : 未知错误
- 返回类型:
tuple
- wait_finished()
等待修正结束
- 参数:
None
- 返回:
None
ros_robot.sensor.sensor_manager module
- class ros_robot.sensor.sensor_manager.IRSensor(value)
基类:
Enum红外传感器枚举
- IR_0 = 0
- IR_1 = 1
- IR_2 = 2
- IR_3 = 3
- class ros_robot.sensor.sensor_manager.LSBSensor(value)
基类:
Enum红外传感器枚举
- LSBS = 4
- LSB_0 = 0
- LSB_1 = 1
- LSB_2 = 2
- LSB_3 = 3
- class ros_robot.sensor.sensor_manager.SensorManager(robotics)
基类:
object传感器管理器
- are_all_sensors_initialized() bool
检查所有传感器是否都已初始化(至少收到过一次数据) :param None:
- 返回:
如果所有传感器都至少收到过一次数据则返回True,否则返回False
- destory()
销毁实例
- 参数:
None
- 返回:
None
- get_sensor_reading(sensor: Enum) float
获取指定传感器的测量值
- 参数:
sensor (Enum) -- 传感器枚举(SonarSensor、IRSensor、LSBSensor)
- 返回:
传感器的测量距离值,如果传感器不存在则返回None
- get_uninitialized_sensors() List[str]
获取未初始化的传感器名称列表
- 参数:
None
- 返回:
未初始化传感器的名称列表