gazebo
gazebo实现仿真的功能。
Gazebo是一个机器人仿真工具,模拟器,也是一个独立的开源机器人仿真平台。当今市面上还有其他的仿真工具例如V—Rep、Webots等等。但是Gazebo不仅开源,也是兼容ROS最好的仿真工具。
Gazebo的功能很强大,最大的优点是对ROS的支持很好,因为Gazebo和ROS都由OSRF(Open Source Robotics Foundation)开源机器人组织来维护。Gazebo支持很多开源的物理引擎,比如最典型的ODE。可以进行机器人的运动学、动力学仿真,能够模拟机器人常用的传感器(如激光雷达、摄像头、IMU等),也可以加载自定义的环境和场景。
仿真的意义
仿真不仅仅只是做出一个很酷的3D场景,更重要的是给机器人一个逼近现实的虚拟物理环境,比如光照条件、物理距离等等。设定好具体的参数,让机器人完成我们设定的目标任务。比如一些有危险因素的测试,就可以让机器人在仿真的环境中去完成,例如无人车在交通环境复杂的交通要道的效果,我们就可以在仿真的环境下测试各种情况无人车的反应与效果,如车辆的性能、驾驶的策略、车流人流的行为模式等,又或者各种不可控因素如雨雪天气,突发事故,车辆故障等,从而收集结果参数指标信息等等,只有更大程度的逼近现实,才能得出车辆的真实效果。直到无人车在仿真条件下做到万无一失,才能放心的投放到真实环境中去使用。这样即避免了危险因素对实验者的威胁,也节约了时间和资源,这就是仿真的意义。
通常一些不依赖于具体硬件的算法和场景都可以在Gazebo上仿真。例如图像识别、传感器数据融合处理、路径规划、SLAM等任务完全可以在Gazebo上仿真实现,大大减轻了对硬件的依赖。
操作说明
和我们前面的实例测试一样,我们打开教材的模拟场景
roslaunch robot_sim_demo robot_spawn_launch
对地图的操作方式:
- 平移:鼠标左键
- 旋转:鼠标滚轮中键
- 放缩:鼠标滚轮
- 界面左侧是控制面板
- 导入模型就在控制面板的insert,可以直接拖入模拟空间,也可以按需自制模型拖入。