跳转到内容

uBotVehicles

uBotVehicles 是规划中的地面车辆插件,目前尚未发布。

规划中 尚未发布,计划版本 0.1.0

简介
差速与阿克曼地面车辆,基于 Chaos Vehicles。
需要的插件
uBotCore ^0.1.0
引擎插件
ChaosVehiclesPlugin
提供
Actuation.Velocity、Body.Wheeled
用在这些组合里
ROS 地面机器人

给仿真里的机器人提供轮式地面车辆:差速(differential)和阿克曼(Ackermann)两种,基于 UE 的 Chaos Vehicles。

在 uBot Manager 里它显示为「规划中」,按钮是「暂不可用」,现在不能安装。

包索引为它声明了两个能力标签(provides)。索引只给标签名,下面的含义是根据名称推断的:

能力标签 含义(推断)
Actuation.Velocity 速度控制,按速度指令驱动车辆。uBotCore 里已有接口 UBot Velocity Commandable,它的 Apply Velocity Command 接收机体坐标系下的线速度(m/s)和角速度(rad/s),这个标签是否对应它,尚未确定
Body.Wheeled 轮式车体,定位里说的差速和阿克曼车辆大概属于这一类

尚未确定:能力标签的确切含义和它们与 UBot Velocity Commandable 的对应关系,车辆组件和蓝图类的名称、属性与默认值,油门和转向怎么映射,是否提供现成的 UBot Velocity Commandable 实现。

  • uBotCore:它只依赖 uBotCore 0.1.x,不依赖 uBotSensor 和 uBotROS。
  • 引擎插件:需要 ChaosVehiclesPlugin。uBot Manager 只会在 .uproject 里启用引擎插件,不会安装;引擎里没有时报错。
  • uBotROS:它的 uBot ROS Velocity Command 组件把 ROS 2 的 cmd_vel 交给实现了 UBot Velocity Commandable 的对象,所以实现了该接口的车辆就能被 cmd_vel 驱动。uBotROS 不含控制逻辑,油门和转向的映射由被驱动的车辆自己实现。
  • uBotSensor:传感器可以装在同一辆车上。包索引里的组合「ROS 地面机器人」把它和 uBotSensor、uBotROS 放在一起,用途是「地面车辆接入 Nav2 和 SLAM」,见 选择组合。
  • 启用引擎自带的 Chaos Vehicles(ChaosVehiclesPlugin),自己做一辆车。
  • 让车辆(Actor 或其中的组件)实现 UBot Velocity Commandable:实现 Apply Velocity Command 和 Stop Motion。添加接口的做法见 插件之间怎么对接。
  • 给同一个 Actor 添加 uBotROS 的 uBot ROS Velocity Command 组件,ROS 2 的 cmd_vel 就能驱动它,见 接收 cmd_vel。
  • 给车辆加上 uBotSensor 的传感器,再用 uBotROS 发布到 ROS 2,见 发布传感器数据。
  • uBotVehicles 发布后,自己做的车辆要不要改、怎么改,尚未确定。