与ROS通讯

  • 1 Webots仿真
  • 2 Gazebo仿真
  • 3 Stage仿真
  • 参考资料

目前ROS中存在webots、gazebo、stage三种仿真环境。

1 Webots仿真

Webots [1] 是一个开源的三维移动机器人模拟器,它与gazebo类似都是ros中仿真环境,但是对于gazebo而言,需要比较复杂的配置,尤其是涉及到使用GPU的时候,对我们这些初学者并不友好。webot在2018年以前是一款商业软件,商业软件的好处就是安装简单,在windows和ubuntu上都可以实现一键安装,对用户很友好,webots从2018年以后webot进行了开源(自2018年12月起,Webots作为开放源码软件在Apache 2.0许可下发布。)。 Webot支持C/C++、Python、MATLAB、Java、ROS和TCP/IP等多种方式实现模型的仿真控制。Webot内置了接近100种机器人模型,包括轮式机器人、人形机器人、爬行移动机器人、单臂移动机器人、双臂移动机器人、无人机、大狗、飞艇等等,其中就包括大家比较熟悉的Boston Dynamics Atlas、DJI Mavic 2 PRO、Nao、PR2、YouBot、UR、Turtlebot3 Burger等机器人。当然还有我们需要的自动驾驶环境,webo还提供有火星车的模型可以让大家使用。   1   关于webots在我的博客中提供一套比较完整的教程文档,大家可以参考: Webots 机器人仿真平台(一) 系统安装 Webots 机器人仿真平台(二) 与ROS通讯 Webots 机器人仿真平台(三) 新建环境模型 Webots 机器人仿真平台(四) 机器人基础控制器 Webots 机器人仿真平台(五) 新建四轮小车模型 Webots 机器人仿真平台(六) 新建四轮小车控制器 Webots 机器人仿真平台(七) 键盘控制小车 Webots 机器人仿真平台(八) 添加GPS传感器 Webots 机器人仿真平台(九) 添加IMU传感器 Webots 机器人仿真平台(十) 添加camera相机 Webots 机器人仿真平台(十一) 添加激光传感器(laser) Webots 机器人仿真平台(十二) 与ROS节点通讯 Webots 机器人仿真平台(十三) 在ROS中发布传感器值

2 Gazebo仿真

gazebo [2] 是一款非常强大的开源物理仿真环境,gazebo支持多种高性能的物理引擎,例如ODE、Bullet、SimBody、DART等。支持传感器数据和传感器噪声的仿真。此外gazebo还具备以下优点:(参考于博客 ROS探索总结(五十八)—— Gazebo物理仿真平台) 多种机器人模型:官方提供PR2、Pioneer2 DX、TurtleBot等机器人模型,当然也可以使用自己创建的机器人模型。 TCP/IP传输:gazebo可以实现远程仿真,后台仿真和前台显示通过网络通信。 云仿真:gazebo仿真可以在Amazon、Softlayer等云端运行,也可以在自己搭建的云服务器上运行。 终端工具:用户可以使用gazebo提供的命令行工具在终端实现仿真控制 但是就我自己使用的过程而言,配置gazebo的仿真环境很繁琐,尤其是我自己使用到的自动驾驶的仿真平台配置.。   2  

3 Stage仿真

相比于gazebo和webots, stage [3] 的仿真更加简单,使用起来很方便,但是物理仿真特性个人感觉不如gazebo和webots,但是stage更加的轻量化,不需要占用太多的计算资源。stage的安装可以参考博客(ROS仿真环境中实现自主导航)   3  

参考资料

[1] https://cyberbotics.com/ [2] http://www.gazebosim.org/ [3] http://wiki.ros.org/stage/Tutorials 如果大家觉得文章对你有所帮助,请帮忙点个赞。O(∩_∩)O 欢迎大家在评论区交流讨论。