【ROS】郭老二博文之:ROS目录
1、RViz
RViz(Robot Visualization,机器人可视化)是一个用于可视化机器人系统的开源工具,用于显示和调试机器人的传感器数据、状态信息和运动规划等。它是ROS(Robot Operating System)的一部分,是ROS中最常用的可视化工具之一。
RViz:“我们不生产数据只做数据的搬运工”
RViz提供了丰富的功能和可定制的界面,使用户能够以三维方式查看机器人模型、传感器数据和环境地图等。它支持多种类型的可视化对象,包括点云、网格模型、标记、路径、激光扫描和相机图像等。
以下是一些RViz的主要特点:
-
可视化机器人模型:RViz可以加载和显示机器人的三维模型,并根据实际的关节状态进行动态更新。这使得用户能够直观地了解机器人的外观和姿态。
-
显示传感器数据:RViz可以接收和显示来自机器人传感器(如激光雷达、摄像头、IMU等)的数据。用户可以实时查看和分析传感器数据,帮助理解机器人周围的环境。
-
生成导航地图:RViz可以通过接收来自SLAM(Simultaneous Localization and Mapping)或其他建图算法的数据,生成并显示机器人所在环境的二维或三维地图。
-
调试运动规划:RViz可以显示机器人的路径规划结果,并提供交互式界面来调试和优化运动规划算法。用户可以可视化虚拟路径、障碍物和碰撞检测等信息。
-
可定制性:RViz提供了丰富的配置选项,允许用户按照自己的需求自定义界面布局、可视化对象和颜色风格等。用户可以根据实际情况进行个性化设置,以满足特定的可视化需求。
RViz界面详解参见:https://zhuanlan.zhihu.com/p/642050446
ROS1对应的RViz源码:https://github.com/ros-visualization/rviz
ROS2对应的RViz2源码:https://github.com/ros2/rviz
2、Gazebo
Gazebo是一款免费的机器人仿真软件,为模拟真实环境生产数据,提供高保真度的物理模拟,一整套传感器模型,以及对用户和程序非常友好的交互方式。能够在复杂的室内和室外环境中准确高效地模拟机器人工作的功能,通常与ROS联合使用,为开发者提供了优异的仿真环境。
Gazebo:“我们不搬运数据只做数据的生产者”
Gazebo和RViz配合就能在即使没有机器人实物的前提下,也可以显示出一个机器人。
3、Navigation
Navigation是用来导航,该项目寻求找到一种安全的方法,使机器人从 A 点移动到 B 点。项目内容包括动态路径规划,计算电机速度,避障和恢复等。
Navigation包含RViz插件,用来显示导航数据等。
Navigation包含Gazebo插件,用来生成模拟机器人
Navigation包括以下工具:
- 加载,提供和存储地图(Map Server)
- 在地图上定位机器人(AMCL)
- 围绕障碍物规划从 A 到 B 的路径(Nav2 Planner)
- 控制机器人沿着规划路径运动(Nav2 Controller)
- 将传感器数据转换为当前世界的代价地图表示(Nav2 Costmap 2D)
- 使用行为树构建复杂的机器人行为(Nav2 Behavior Trees 和 BT Navigator)
- 计算故障情况下的恢复行为(Nav2 Recoveries)
- 跟随连续路点运动(Nav2 Waypoint Follower)
- 管理服务器的生命周期(Nav2 Lifecycle Manager)
- 使用自定义算法和行为来编写插件(Nav2 Core)
Navigation入门参见:5分钟看懂ROS的Navigation导航系统