当前位置: 华文问答 > 数码

高手可以谈谈ROS机器人操作平台开发的一些经验吗?

2013-11-04数码

低手来关注这个问题,顺便谈谈自己的一些看法。

我感觉了解ROS作为一个工程技术,不把握「big picture」(全貌)的话很难理解进去。

按照我读的教程

http:// courses.cs.washington.edu /courses/cse466/11au/calendar/ros_cc_1_intro-jrsedit.pdf

来说,ROS不是一个操作系统,虽然他号称操作系统……他只是一个通信的架构、一个代码管理的框架。操作系统的功能:任务的时序规划和CPU资源分配等等工作都是依靠linux来实现的,因此ROS不可能脱离linux,他们是一体的。

另一点可以帮助了解ROS的方法是,学习者必须有机器人应用方面的开发经验。做过机器人,就会明白机器人的核心平台需要什么——多传感器和处理器之间的通信、处理器和执行器之间的通信,这些通信必须有统一的时钟,比如做传感器数据融合,如果从传感器抓回来的数据时间上都不同步,那融合根本没法做。ROS的通信架构,主要解决的就是这个问题:让设备之间的通信有一个统一的调度中枢(roscore),通过这个调度中枢不但可以让信号传递更好控制,还能够通过构建通信设备之间的关系来让开发者明白自己的机器人内部在干什么。而ROS的另一个特点:代码管理的框架,这个就不多说了,做软件的都懂得……

以上的回答不能让你成为ROS的高手,但是我觉得带着这种"big picture"的理解再去学他应该会快很多。