码迷,mamicode.com
首页 > 移动开发 > 详细

02---控制移动底座6

时间:2017-03-30 10:30:05      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:脚本   消息   计算机   框架   turtle   陀螺仪   计时   bsp   终端   

用现实的机器人执行计时前进并返回

如果用现实的机器人来运行脚本timed_out_and_back.py,在这里只是用了时间和速度估算距离和角度。可以预见,机器人因为惯性,运动结果与在ArbotiX模拟器上的结果有出入(在模拟器中我们并没有建立物理模型)

1、首先,停止所有正在运行的模拟器。运行你自己的机器人的启动文件。如果你有一个原版的TurtleBot(底座为iRobot Create),通过ssh连接到机器人的计算机并执行以下命令:

roslaunch rbx1_bringup turtleboe_minimal_create.launch

或者可以运行你自己创建并且存有你的校准参数的启动文件。

你还可以使用一个辅助脚本,让你可以在Rviz中看到TurtleBot的组合测量框架;如果不是使用TurtleBot,可以略过此步。运行在另一个连接到TurtleBot的计算机的ssh终端中的这个启动文件:

roslaunch rbx1_bringup odom_ekf.launch

接着我们配置RViz来显示组合测量数据(编码器+陀螺仪),而不仅仅是显示编码器数据的/odom。如果在前面的测试中使用过RViz了,你可以简单地取消选择Odometry display选项,并选择Odometry EKF display选项,然后略过下面的步骤。

如果RViz还没有运行,在你的工作站中使用nav_ekf配置文件运行它,这个配置文件只是简单地预先选择/odom_ekf话题来显示组合测量数据。

rosrun rviz rviz -d `rospack find rbx1_nav`/nav_ekf.rviz

这个配置文件和先前的配置文件唯一区别就是,现在是在/odom_ekf话题中显示组合测量数据,而不仅仅是在/odom_ekf话题上发布来自轮子编码器的数据,你可以同时选择两种显示模式来比较他们的差别。

最后,我们像之前做的那样运行计时前进并返回脚本。注意脚本本身并不关心我们是在模拟器还是在真是的机器人上运行,它仅仅是发布Twist消息到话题/cmd_vel上,供任何监听者的使用。这个例子向我们展示了在运动控制层中,ROS如何把我们较低层次的操作抽象化,你可以在你的工作站或者在用ssh连接上的机器人计算机上运行下面的命令:

rosrun rbx1_nav timed_out_and_back.py。

 

02---控制移动底座6

标签:脚本   消息   计算机   框架   turtle   陀螺仪   计时   bsp   终端   

原文地址:http://www.cnblogs.com/gary-guo/p/6644446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!