ROS学习小结(一):ROS安装

注:本文使用的虚拟机是Ubuntu12.04.5,下载地址http://releases.ubuntu.com/12.04.5/
首先需要设置sources.list、key、更新源等。
一、设置sources.list
Ubuntu 11.10 (Oneiric)
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu oneiric main” > /etc/apt/sources.list.d/ros-latest.list’
Ubuntu 12.04 (Precise)
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu precise main” > /etc/apt/sources.list.d/ros-latest.list’
Ubuntu 12.10 (Quantal)
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu quantal main” > /etc/apt/sources.list.d/ros-latest.list’
二、设置keys
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
三、更新源
sudo apt-get update
四、安装ROS
1、Desktop-Full Install: (Recommended) : ROS, rqt, rviz, robot- generic libraries, 2D/3D simulators, navigation and 2D/3D perception
sudo apt-get install ros-groovy-desktop-full
2、ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.
sudo apt-get install ros-groovy-ros-base
五、初始化rosdep
Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.
sudo rosdep init
rosdep update
六、设置环境
It’s convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:
echo “source /opt/ros/groovy/setup.bash” >> ~/.bashrc
source ~/.bashrc
七、获取 rosinstall
rosinstall is a frequently used command-line tool in ROS that is distributed separately. It enables you to easily download many source trees for ROS packages with one command.
To install this tool on Ubuntu, run:
sudo apt-get install python-rosinstall
八、创建自己的ROS目录
就直接创建了一个名为catkin_ws的工作空间,当然也可以为其他的名字。这个是无所谓的。
使用cd命令:
mkdir -p /catkin_ws/src
cd ~/catkin_ws/src
进入到catkin_ws/src目录下,可以看到catkin_ws和src目录下都是空的。
注:“~”是用户目录的意思,就是只执行cd命令时,linux会进入的那个目录。
这时,执行:
cd ~/catkin_ws/
进入工作空间的目录。
再执行:
catkin_make
构建(build)这个工作空间。这时就会发现,在catkin_ws这个工作空间下,多出了两个文件夹“build”和“devel”。在devel文件夹下,还可以看到很多setup.*sh文件。输入如下命令就可以配置工作空间:
source devel/setup.bash
上面的命令是在catkin_ws目录下执行的,意思是把catkin_ws目录下,devel文件夹里的setup.bash文件挂载到ROS的文件系统里去,这样当用户执行一些文件系统的命令时,就不会提示找不到该工作空间里的包或者文件了。
九、创建一个ROS的包
一个包主要由以下几部分组成:(1)必须包括一个package.xml文件,(2)必须包括一个CMakeLists.txt文件,(3)在每一个文件夹下只能有一个包,且包不允许嵌套。包就是存在于工作空间下,由很多代码文件组成的具有一定功能的集合(找不到合适的词了,联想到了很多乱七八糟的东西被打成一包。。)。一个最简单的包类似于如下的形式:
my_package/
CMakeLists.txt
package.xml

接着你可以在包的文件夹下创建装各种源文件的文件夹。如:
ROS学习小结(一):ROS安装_第1张图片

接着来介绍如何在工作空间中创建一个包。
首先输入:
cd ~/catkin_ws/src

进入我们之前创建的空的工作空间。
接着输入
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

可以创建一个名字为beginner_tutorials的包,它直接依赖于后面的三个包:std_msgs,rospy以及roscpp。
进入beginner_tutorials的文件夹可以看到package.xml和CMakeLists.txt。
使用catkin_create_pkg命令的时候,要求你给出包的名字,及选择性的给出所创建的包依赖于哪一个包。它的使用方法如下:
catkin_create_pkg [depend1] [depend2] [depend3]

这样,我们的一个包就创建好了,我们可能会需要对包之间的依赖性做一下解释。我们可以使用rospack命令来查看包之间的依赖关系,输入:
rospack depends1 beginner_tutorials

会看到返回:
roscpp
rospy
std_msgs

可以看到,返回的结果正是我们使用catkin_create_pkg时,所使用的参数。我们还可以直接在beginner_tutorials包下的package.xml中查看包的依赖关系。使用命令:
roscd beginner_tutorials

cat package.xml
每个包里的package.xml文件记录了本包与其他包的依赖关系。
在通常情况下,一个包所依赖的包又会依赖许多其它的包,这称为间接依赖。我们使用如下命令来查看rospy依赖的包:
rospack depends1 rospy
回的结果如下:
genpy
rosgraph
rosgraph_msgs
roslib
std_msgs

一个包可以有很多的间接依赖关系,我们可以使用命令:
rospack depends beginner_tutorials

来进行查看。返回beginner_tutorials包所有的间接依赖关系。结果如下:
cpp_common
rostime
roscpp_traits
roscpp_serialization
genmsg
genpy
message_runtime
rosconsole
std_msgs
rosgraph_msgs
xmlrpcpp
roscpp
rosgraph
catkin
rospack
roslib
rospy

你可能感兴趣的:(ROS)