之前的教程已经学习了 ROS 中的关键概念。接下来学习如何让 ROS 在一个真实或者仿真的机器人上运行了。
给定一个运行 ROS 的机器人,可以基于前面教程的理解列出机器人上发布和订阅的主题,定义被这些主题消费的消息,然后编写你自己的节点来处理传感器数据和在世界里行动。
ROS 真正的吸引力不是本身作为发布和订阅的中间件,而是 ROS 为世界范围内的开发者分享他们的代码提供了一套标准的机制。ROS 最佳的特性就是它庞大的社区。
你可能被大量的包淹没了,本教程试图指出一条清晰的路径接下来该怎么学习。
####1.建立仿真
就算你有真实的机器人,使用仿真器也是一种更好的方式,假设有意外才不会伤害人生安全和破坏实验机器人。
你可以可以使用 PR2 仿真器或者 Turtlebot 仿真器,或者查找现有的 robot,看看有没有对应的仿真器。
对于仿真的机器人的控制,可以使用 teleop 包或者根据对 ROS 的理解找到相关的主题并编写代码发送相关的消息来驱动机器人。
####2.Exploring RViz
RViz 是一个强大的仿真工具,它允许你查看机器人的传感器和内部状态。更多的参考:http://wiki.ros.org/rviz/UserGuide
####3.Understanding TF
TF 包是机器人在保持追踪期间用来在不同坐标系之间的转换。对于 TF 好的理解是使用不同真实机器人的基本,所以学习本教程是值得的。
如果你正在创建自己的机器人,考虑为你的机器人创建一个 URDF 模型。如果使用的是标准机器人,那么很有可能已经创建好了。虽然如此,熟悉 URDF 包也是应该要做的。
####3.Going Deeper
经过上面的学习,可以开始机器人做一些复杂的任务了。下面的连接能够提供一些帮助:
#####3.1actionlib - actionlib 为可抢占式的任务提供标准化的接口。这个包被广泛的应用于 ROS 中更高等级的包。
#####3.2navigation - 2D navigation: 地图构建和路径规划。
#####3.3MoveIt - 控制机器人的手臂
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于