ros_robot.sensor package

Submodules

ros_robot.sensor.imu module

class ros_robot.sensor.imu.ImuManager(robotics)

基类:object

IMU传感器管理器

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)

基类:Enum

An 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

class ros_robot.sensor.sensor_correct.SensorType(value)

基类:Enum

An enumeration.

IR = 1
LIDAR = 2
PING = 0

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

返回:

未初始化传感器的名称列表

class ros_robot.sensor.sensor_manager.SonarSensor(value)

基类:Enum

声纳传感器枚举

SONAR_0 = 0
SONAR_1 = 1
SONAR_2 = 2
SONAR_3 = 3

Module contents