ros_robot.chassis package
Submodules
ros_robot.chassis.chassis_manager module
- class ros_robot.chassis.chassis_manager.ChassisManager(robotics)
基类:
object底盘管理器,负责速度控制和里程计数据管理
- call_sync(ctrl_mode: ChassisMode, timeout_sec: float = 5.0) int | None
调用服务
- 参数:
ctrl_mode (ChassisMode) -- 模式
timeout_sec (float, optional) -- 超时时间. Defaults to 5.0.
- 返回:
当前模式
- 返回类型:
Optional[int]
- get_odom_data(type=OdomType.USER) Odometry
获取当前里程计数据
- 参数:
type (OdomType, optional) -- 类型. Defaults to OdomType.USER.
- 返回:
里程计数据
- 返回类型:
Odometry
- get_odom_pose(type=OdomType.USER) List[float | None]
获取里程计姿态信息(单位:米,度)
- 参数:
type (OdomType, optional) -- 类型. Defaults to OdomType.USER.
- 返回:
x: X坐标(米), y: Y坐标(米), yaw_deg: 偏航角(度,顺时针为正) 数据无效时返回[None, None, None]
- 返回类型:
[x, y, yaw_deg]
- init_odometry(pose=[0.0, 0.0, 0.0], mode=OdomClearMode.CLEAR_ALL, type=OdomType.USER)
初始化里程计
- 参数:
pose (list, optional) -- 机器人位置. Defaults to [0.0, 0.0, 0.0].
mode (OdomClearMode, optional) -- 模式. Defaults to OdomClearMode.CLEAR_ALL.
type (OdomType, optional) -- 类型. Defaults to OdomType.USER.
- 返回:
是否成功
- 返回类型:
bool
- is_initialized() bool
机器人是否初始化完成
- 参数:
None
- 返回:
是否初始化完成
- 返回类型:
bool
- quaternion_to_euler(x, y, z, w)
将四元数转换为欧拉角(roll, pitch, yaw)
- 参数:
x (float) -- 四元数x
y (float) -- 四元数y
z (float) -- 四元数z
w (float) -- 四元数w
- 返回:
欧拉角(roll, pitch, yaw)
- 返回类型:
(roll, pitch, yaw)
- set_cmdvel(x=0.0, y=0.0, theta=0.0)
发布自动速度
- 参数:
x (float, optional) -- X坐标(米). Defaults to 0.0.
y (float, optional) -- Y坐标(米). Defaults to 0.0.
theta (float, optional) -- 偏航角(度,顺时针为正). Defaults to 0.0.
- 返回:
None
- set_manual_vel(x=0.0, y=0.0, theta=0.0)
发布手动速度
- 参数:
x (float, optional) -- X坐标(米). Defaults to 0.0.
y (float, optional) -- Y坐标(米). Defaults to 0.0.
theta (float, optional) -- 偏航角(度,顺时针为正). Defaults to 0.0.
- 返回:
None
- class ros_robot.chassis.chassis_manager.ChassisMode(value)
基类:
EnumAn enumeration.
- AUTO = 0
- MANUAL = 1
ros_robot.chassis.io_manager module
- class ros_robot.chassis.io_manager.DiInput(value)
基类:
Enum数字输入枚举
- DI_0 = 0
- DI_1 = 1
- DI_2 = 2
- DI_3 = 3
- class ros_robot.chassis.io_manager.DoOutput(value)
基类:
Enum数字输出枚举
- DO_0 = 0
- DO_1 = 1
- DO_2 = 2
- DO_3 = 3
- class ros_robot.chassis.io_manager.IOManager(robotics)
基类:
object数字输入输出管理器
- are_all_di_initialized() bool
检查所有di是否都已初始化(至少收到过一次数据)
- 参数:
None
- 返回:
如果所有di都至少收到过一次数据则返回True,否则返回False
- get_uninitialized_di() List[str]
获取未初始化的di名称列表
- 参数:
None
- 返回:
未初始化di的名称列表
- set_all_outputs(value: bool) None
设置所有数字输出的值
- 参数:
value -- 要设置的值(True/False)
- 返回:
None