本文主要是介绍解决docker ros环境只能获取机器人相关信息无法进行操纵机器人问题--baxter机器人案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、简介
在这篇dockerros配置中讲解了如何进行构建带有图形界面的docker ros环境。以往都是在模拟器上进行模型有一些问题没有显示出来。最近在baxter真机上进行实验有一些问题出来了。一个比较诡异的问题就是docker与baxter的通信问题。
2、问题描述
2.1、使用的环境及配置
ubuntu 16 + docker + ros k + baxter环境
baxter真机
2.2、问题
以 --network host的方式启动docker 容器。然后设置ROS_IP为宿主ip。启动ros master。然后利用exec方式启动另一个终端启动baxter.sh与机器人进行通信。此时可以建立通信。可以获取rostopic 以及baxter的个关节的状态。但是发送移动手臂指令时候机器人无法响应并且有时无法获取左右臂操作对象。总的问题是可以获取一些信息无法进行操作。
2.3、尝试解决方法
1、更改docker的网络配置》》》》》》》结果无效
2、修改一些相关的配置》》》》》》》》结果无效
2.4、最终有效的解决方法
以–privileged=true --network host 方式进行启动docker容器。设置ROS_IP为宿主ip。启动ros master。然后就是解决问题的关键。以exec启动另一个终端,su root 切换到root身份。在执行. baxter.sh 与机器人进行连接。这样就可以进行操纵机器人移动手臂。
3、原因
不好意思,目前换没有弄清楚其中的原因。再续
这篇关于解决docker ros环境只能获取机器人相关信息无法进行操纵机器人问题--baxter机器人案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!