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)

基类:Enum

An enumeration.

AUTO = 0
MANUAL = 1
class ros_robot.chassis.chassis_manager.OdomClearMode(value)

基类:Enum

An enumeration.

CLEAR_ALL = 0
CLEAR_POSE = 1
CLEAR_YAW = 2
class ros_robot.chassis.chassis_manager.OdomType(value)

基类:Enum

An enumeration.

DEFAULT = 0
USER = 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的名称列表

read_di_input(sensor: DiInput) bool

读取指定数字输入的值

参数:

sensor -- 要读取的数字输入枚举

返回:

输入值,如果传感器不存在则返回None

set_all_outputs(value: bool) None

设置所有数字输出的值

参数:

value -- 要设置的值(True/False)

返回:

None

set_output(output: DoOutput, value: bool) bool

设置数字输出的值

参数:
  • output -- 要设置的数字输出枚举

  • value -- 要设置的值(True/False)

返回:

设置成功返回True,失败返回False

class ros_robot.chassis.io_manager.MDCInput(value)

基类:Enum

MDC数字输入枚举

MDC_DI_0 = 0
MDC_DI_1 = 1
MDC_DI_2 = 2
MDC_DI_3 = 3

Module contents