zoukankan      html  css  js  c++  java
  • 02---控制移动底座6

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

    如果用现实的机器人来运行脚本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。

  • 相关阅读:
    upload.go
    heartbeat.go
    delete.go
    get.go
    handler.go
    uuid.go
    kingpin_parser.go
    disk.go
    logrus_hook.go
    反连接NOT EXISTS子查询中有or 谓词连接条件SQL优化一例
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6644446.html
Copyright © 2011-2022 走看看