要点

  1. C++解释ROS2细节:节点初始化、自定义和接口连接代码片段
    1. 回调示例:订阅回调,定时器,服务包括参数调用,接收客户端响应
    2. 执行器示例:创建一个具有两个节点应用,一个节点启动一个计时器,并每秒两次询问第二个节点是否正在使用服务,一个节点将仅托管在线服务;
    3. 接口:数据分发服务,单个服务器和客户端示例:A.对所传送的数据进行自查,并用 CLI 工具可视化交换的消息。B.在发布者和订阅者间,插入节点侦听主题
    4. ROS2实体任务组织:几种有限状态机转换(C++和Python工具);行为树的机器人和人工智能应用示例,适用于ROS2 的行为树(C++和Python库);行为建模为分层状态机(Python工具);拓展行为树模型(Python工具);任务规划(C++工具)
    5. ROS2 控制器:机器人关节闭环控制模拟(Python无延迟比例控制示例)。
    6. 测试ROS2代码:C++和Python测试框架,基于测试的模拟器;示例代码:工业界机器人Gazebo模拟器。
    7. ROS2 参数管理:ROS2参数第三方(C++或Python)编辑YAML工具,C++示例代码:驻留ROS2中参数守护服务器。
    8. ROS2 消息记录:C++示例代码:ROS2 主题发布器,使用命令行在运行时修改节点记录器的日志级别,以不同的日志记录级别将消息打印到屏幕上。
  2. 使用C++,XML
  3. 编辑ROS2节点,使其能够发布和订阅信息,在Gazebo中使用虚拟机器人模拟节点,使用RViz2观察感官和几何信息。
  4. C++和Python分别实现有限状态机数学计算模型避免障碍物:定义消息格式,激光扫描获取几何位置数据并转换,计算发布和订阅主题之间关系图数据,代码片段解释,执行代码后,打开终端运行模拟器观察机器人如何避障。制作CMake编译清单。
  5. C++节点变换计算:ROS2 几何变换子系统,在RViz中查看虚拟机器人几何变换子系统;对ROS2节点发布几何变换广播;使用基于速度的驱动模型,虚拟机器人激光检测到障碍物后几何变换;制作RViz中可视化节点的3D视觉元素;分析“障碍物检测器节点”,“障碍物监测节点”从几个变换子系统提取检测对象几何变换,执行“障碍物检测器节点”,“障碍物监测节点”,在固定模拟框中发布“障碍物检测器节点”,“障碍物监测节点”。ROS 2 中使用动作捕捉系统
  6. C++算法和节点实现:使用虚拟力场本地导航算法,使用二维矢量:“吸引力矢量”,“排斥向量”和“结果矢量”,避开障碍物;查看基于摄像头信息的反应性跟踪行为,在Gazebo中模拟观察;使用生命期节点并创建自定义信息。
  7. C++实现:代码编辑行为树数学模式,执行行为树控制子系统(感应信息和发送速度);行为树控制Nav2导航子系统和主动视觉子系统:Gazebo 模拟机器人房屋巡视。

梗概

https://embed.notionlytics.com/wt/ZXlKM2IzSnJjM0JoWTJWVWNtRmphMlZ5U1dRaU9pSlhiRWhvWlV4VVQxbHNjMlZYV2tKbU9URndaU0lzSW5CaFoyVkpaQ0k2SW1RMU16Qm1NemsxTkRWbU1qUTRZV0k1TVRVM1pHUTVOamMxTVdZeFpUY3dJbjA9