signed

QiShunwang

“诚信为本、客户至上”

ROS学习笔记(13)-- PR2机器人

2020/12/28 8:28:28   来源:


1. PR2机器人简介

PR2(Personal Robot 2,个人机器人2代)Willow Garage公司设计的机器人平台,其中数字2代表第二代机器人。它的前身是斯坦福研究生埃里克·伯格和基南·威罗拜克开发的PR1机器人。PR2价格高昂,2011年零售价高达40万美元。PR2现主要用于研究。

PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的夹爪;PR2依靠底部的四个轮子移动,在头部、胸部、肘部、夹爪上分别安装有高分辨率摄像头、激光测距仪、惯性测量单元、触觉传感器等丰富的传感设备。在PR2的底部有两台八核电脑作为机器人各硬件的控制和通信中枢,并且都安装了Ubuntu和ROS系统。依靠强大的ROS平台,PR2已能够独立完成多种复杂的任务。到如今,PR2能够自己开门,找到插头并给自己充电,能打开冰箱取出啤酒,能打简单的台球等等。

由于PR2价格高昂而且能力还达不到商业应用的要求,如今PR2主要用于研究。到2010年底,仅斯坦福,麻省理工学院,卡内基梅隆大学等美国少数大学和一些研究机构拥有PR2。PR2和ROS有千丝万缕的关系,可以说ROS产生于PR2,也促成了PR2。ROS原本是Willow Garage为复杂的PR2机器人平台设计的软件框架,依靠强大的ROS,PR2可以独立完成多种复杂的任务,例如PR2可以自己开门、找到插头给自己充电、打开冰箱取出啤酒、打简单的台球等等。只不过PR2价格高昂,而且能力还达不到商业应用的要求,如今主要用于学术研究。

可见,PR2是ROS中元老级的机器人平台,所有软件代码依托于ROS,并且全部在ROS社区中开放源代码,为我们学习、应用ROS提供了丰富的资源。

2. PR2 ROS包安装

PR2安装测试环境,Ubuntu18.04LTS ROS melodic:

首先使用如下命令安装PR2机器人的相关功能包:

sudo apt-get install ros-melodic-pr2-*

以上命令主要安装了下表中PR2机器人相关的ROS功能包。

然而,PR2机器人售价昂贵,大多数人都无法直接使用其机器人实体,所以这里我们使用仿真器运行PR2的相关功能。

3. Gazebo & PR2

使用如下命令启动gazebo仿真环境,并使用pr2.launch将机器人加载到gazebo中:

roslaunch gazebo_ros empty_world.launch

roslaunch pr2_gazebo pr2.launch

 

也可以使用pr2_gazebo功能包中的pr2_empty_world.launch一次性启动gazebo并加载机器人模型:

roslaunch pr2_gazebo pr2_empty_world.launch

注意:如果gazebo打不开一直卡在"Preparing your world"

在运行某些程序的功能包的时候,gazebo启动的时候会一直卡在"Preparing your world",然后就一直不动了,这是由于gazebo在下载某些模型导致的,多等上一会,或者执行下面的命令手动把模型下全,如果还是不能打开那说明要下载的模型不在这个列表里面,知道这个模型是什么可以去手动下载,如果不知道的话就只有多等一会看能不能下完打开了。

cd ~/.gazebo/
git clone https://github.com/osrf/gazebo_models.git models

时间可能比较长等一下就好了。


启动成功后,就可以在一个空旷的gazebo仿真环境中看到PR2机器人了。

 

查看当前系统中的话题列表,会看到众多话题已经发布或者等待订阅,这就是PR2机器人仿真器提供给用户的接口,我们可以基于这些接口实现很多功能。

为了测试PR2的传感器是否启动成功,可以在仿真环境中随机添加一些外部物体。

然后打开rviz,添加点云、激光、摄像头等插件,实现传感器数据的可视化显示。

目前PR2机器人还处于静止状态,可以运行键盘控制节点,控制PR2运动:

 

 

参考文献:

1. http://wiki.ros.org/pr2_simulator/Tutorials

2. https://zhuanlan.zhihu.com/p/77265386

3. https://zhuanlan.zhihu.com/p/35492929