• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Webots 机器人仿真平台(二) 与ROS通讯

人工智能 熊猫飞天 1159次浏览 0个评论

 

Webot 与ROS通讯

  • 1 Webot Ubuntu客户端与ROS通讯
    • 1.1 配置webots_ros包
    • 1.2 启动webots_ros包
    • 1.3 gmapping建图测试
    • 1.4 键盘遥控webot机器人
  • 2 Webot Windows客户端与ROS通讯
  • 3 参考资料

1 Webot Ubuntu客户端与ROS通讯

1.1 配置webots_ros包

Step1: 在github上下载webot代码 :https://github.com/cyberbotics/webots (这个文件大约在4GB左右,如果在github上下载失败可以在百度网盘中下载) Step2: 在目录 projects/languages/ros 找到 webots_ros 目录,将整个 webots_ros 目录拷贝到你自己的ros工作空间中。 Step3: 将目录 projects/default/controllers/ros/include 目录下的 srv 和 msg 文件夹拷贝到 catkin_ws/src/webots_ros/ 中

1.2 启动webots_ros包

Step1: 编译工作空间  

<code class="prism language-bash has-numbering"><span class="token function">cd</span> catkin_ws
catkin_make
</code>

  Step2:新建终端启动

<code class="prism language-bash has-numbering">roscore
</code>

  Step3:在客服端中加载模型 在ubuntu客户端中打开新的世界模型选中的 pioneer3at.wbt 模型,确保加载模型以后界面最下面显示已经连接到ROS. 这时候小车应该是静止的状态
Webots 机器人仿真平台(二) 与ROS通讯
Webots 机器人仿真平台(二) 与ROS通讯   Step4:启动节点 返回ROS环境中,新建一个终端  

<code class="prism language-bash has-numbering"><span class="token function">source</span> devel/setup.bash
rosrun webots_ros pioneer3at 
</code>

  可以看到这时候小车已经动起来了。我们使用rostopic llist 可以看到webot发布的话题:
Webots 机器人仿真平台(二) 与ROS通讯  
Webots 机器人仿真平台(二) 与ROS通讯

1.3 gmapping建图测试

接下来我们利用仿真环境输出的激光雷达数据建立一个2D的地图: step1: 新建一个终端 启动ros  

<code class="prism language-bash has-numbering">roscore
</code>

  step 2: 启动webot客户端 step 3: 新建一个终端  

<code class="prism language-bash has-numbering"><span class="token function">source</span> devel/setup.bash
rosrun webots_ros pioneer3at 
</code>

  step 4: 启动gmapping节点,并订阅激光雷达话题(/pioneer3at/Sick_LMS_291/laser_scan/layer0)  

<code class="prism language-bash has-numbering">rosrun gmapping slam_gmapping scan:<span class="token operator">=</span>/pioneer3at/Sick_LMS_291/laser_scan/layer0 _xmax:<span class="token operator">=</span>30 _xmin:<span class="token operator">=</span>-30 _ymax:<span class="token operator">=</span>30 _ymin:<span class="token operator">=</span>-30 _delta:<span class="token operator">=</span>0.2
</code>

  在RVIZ中添加地图的topic就可以看到以下现象了  
Webots 机器人仿真平台(二) 与ROS通讯

1.4 键盘遥控webot机器人

新建一个终端 ,注意这里需要设置环境变量[4]  

<code class="prism language-bash has-numbering"><span class="token function">source</span> devel/setup.bash
<span class="token function">export</span> WEBOTS_HOME<span class="token operator">=</span>/usr/local/webots
roslaunch webots_ros keyboard_teleop.launch
</code>

  通过这个命令会自动启动webots客户端,然后用鼠标选中webots界面,这时候利用键盘上的方向键就可以控制机器人前后左右移动了。而键盘的数据会发送在一个名为 “/XXX/keyboard/key” 的话题上。  
Webots 机器人仿真平台(二) 与ROS通讯  

2 Webot Windows客户端与ROS通讯

Webots设备之间共享的ROS服务, 在ubuntu上配置webots_ros 代码,如前面的 step1-step5。 Step1:在github上下载webot代码 :https://github.com/cyberbotics/webots (这个文件大约在4GB左右,如果在github上下载失败可以在百度网盘中下载) Step2: 在目录 projects/languages/ros 找到 webots_ros 目录,将整个 webots_ros 目录拷贝到你自己的ros工作空间中。 Step3: 将目录 projects/default/controllers/ros/include 目录下的 srv 和 msg 文件夹拷贝到 catkin_ws/src/webots_ros/ 中 Step4: 编译工作空间  

<code class="prism language-bash has-numbering"><span class="token function">cd</span> catkin_ws
catkin_make
</code>

    Step5:在客服端中加载模型 在windows客户端中打开新的世界模型(地址:C:\Program Files\Webots\projects\languages\ros\worlds) 中的 pioneer3at.wbt 模型  
Webots 机器人仿真平台(二) 与ROS通讯   Step6:启动节点 返回ROS环境中,新建一个终端  

<code class="prism language-bash has-numbering"><span class="token function">source</span> devel/setup.bash
rosrun webots_ros pioneer3at 
</code>

  这里注意:ROS中启动的节点和我们加载的模型的名字是一样的,比如在上面的情况中,我们加载的模型名称是 pioneer3at ,我们使用的ROS启动命令为 rosrun webots_ros [node_name] step7: 修改环境中的ROS主机地址: 修改控制器,选择ros(需要自行从ubuntu端拷贝)或者ros_python,修改控制器中的主机地址;  
Webots 机器人仿真平台(二) 与ROS通讯

3 参考资料

[1] http://docs.ros.org/kinetic/api/webots_ros/html/index-msg.html [2] webots手册:https://www.cyberbotics.com/doc/reference/index [3] webots 用户指南:https://www.cyberbotics.com/doc/guide/using-ros [4] https://blog.csdn.net/weixin_38172545/article/details/105212645


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Webots 机器人仿真平台(二) 与ROS通讯
喜欢 (0)

您必须 登录 才能发表评论!

加载中……