ROS 框架整体学习

1.ros是用来干什么的?

ros  是一个信息交流平台,机器人创立初期必须有一个平台来处理各种信息之间的交流,ros 就提供了一个信息交流的接口。不受语言的局限,仅仅传递信息,将机器人复杂多样的信息都联系整合起来。他提供了硬件的模拟器,硬件的驱动部分,可视化软件。很多人都会问:ros 跟其他的机器人操作系统有什么不同?我可以这样说,ros 在源码再利用上达到了突破天际的地,你编写了一个关于机器人运动的源码,在使用ros语法的情况下,我们可以建立一个包,一个堆 来将这些应用组合起来。

A.ros 被设计尽可能简单,你无需改变你的语言。

B .python,c,lisp,都完美融合,其他的例如java, lua正在开发。

 

 Different components, modules, algorithms run in different processes: nodes

• Nodes communicate using messages (and services ...)
• Nodes publish and subscribe to messages by using names ( topics )
• Messages are often passed around as shared pointers which are
    “write protected” using the const keyword
    The shared pointers take the message type as template argument
    Shared pointers can be accessed like normal pointers 

ROS的吸引力不仅仅在于他的每一个信息交流的方式,而是世界上做机器人的都在上面研究以及分享源码。ROS最大的特点是一个巨大的机器人社区。

ros 中的msg

rosmsg list

rosmsg show XX

1 turtlebot@turtlebot:~$ rosmsg show yocs_msgs/NavigationControl
2 int8 STOP=0
3 int8 START=1
4 int8 PAUSE=2
5 int8 control
6 string goal_name

ros中的services

rossrv list

rossrv show

 

posted @ 2016-11-20 11:10  小萝、卜  阅读(2186)  评论(0编辑  收藏  举报