【Addicted TO ROS】ROS中的通信架构与通讯方式

关于PR2

在这里插入图片描述

百度百科:

PR2 (Personal Robot 2, 个人机器人2)是威楼加拉吉生产的机器人。它的前身是斯坦福研究生埃里克·伯格和基南·威罗拜克开发的PR1机器人。PR2价格高昂,2011年零售价高达40万美元。PR2现主要用于研究。
PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的钳子。PR2依靠底部的四个轮子移动。在PR2的头部,胸部,肘部,钳子上安装有高分辨率摄像头,激光测距仪,惯性测量单元,触觉传感器等丰富的传感设备。在PR2的底部有两台8核的电脑作为机器人各硬件的控制和通讯中枢。两台电脑安装有Ubuntu和ROS。
依靠强大的ROS平台,PR2已能够独立完成多种复杂的任务。到如今,PR2能够自己开门,找到插头并给自己充电,能打开冰箱取出啤酒,能打简单的台球等等。
由于PR2价格高昂而且能力还达不到商业应用的要求,如今PR2主要用于研究。到2010年底,仅斯坦福,麻省理工学院,卡内基梅隆大学等美国少数大学和一些研究机构拥有PR2。

在这里插入图片描述
 对于PR2这种众多功能模块集成的机器人怎么实现各个模块之间的通信呢?怎么实现到一些复杂的动作的呢?这就用到强大的ROS系统;ROS产生于PR2,同时ROS使PR2更加强大~

通讯架构

node(节点)

  • ROS的进程、独立运行的可执行文件
  • pkg里的可执行文件运行的实例
  • 不同的节点可以使用不同的编程语言,可以分布在不同的主机上
  • 节点在系统中的名称必须是唯一的

 例如PR2这种众多功能模块集成的机器人,每个功能模块都是一个node,因此ROS的节点都是一功能来划分的,不同的功能用不同的node来实现;

启动node

  • 启动node
rosrun [node_name]
  • 列出当前运行的node信息
rosnode list
  • 显示某个node的详细信息
rosnode info [node_name]
  • 结束某个node
rosnode kill [node_name]

master(节点管理器)——控制中心

作用:

  • 每个node(节点)启动时都要向master注册,即master为节点提供名和注册服务
  • 管理node(节点)之间的通信;
  • 跟踪结合记录话题、服务通信,辅助节点相互查找、建立连接;
  • 提供参数服务器,节点使用此服务器存储和检索运行时的参数;
    在这里插入图片描述
    因此在我们启动ROS程序之前,第一步就是启动master;

启动master

在这里插入图片描述

roslaunch

 当我们需要同时启动多个节点,需不需要多次在终端启动node呢?显然没有必要,ros给我们提供了roslaunch命令;

  • 启动多个master和多个node
roslaunch 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lukey Alvin

谢谢鼓励!越努力越幸运!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值