很多人建议学习ROS Indigo,那好,就学indigo,毕竟教程多,遇到的头疼情况就会少很多。
ROS indigo必须安装在ubuntu13.10或者ubuntu14.04系统之下。我用的是ubuntu14.04系统,不会安装系统的童鞋自己去百度。
虽然ROS到现在版本已经更新到了ROS Kinetic Kame,不过Indigo仍然是长期支持的版本,而且官网也有相关的安装教程。(详细教程链接:http://wiki.ros.org/cn/indigo/Installation/Ubuntu)
1.1配置Ubuntu软件仓库 (ubuntu14.04下)
打开设置→软件和更新
【可互联网下载】这一栏下除了源代码外全部勾选。
1.2添加sources.list (为了能安装来自package.ros.org的软件)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
1.3添加KEY
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
1.4安装
先确保Debian软件包最新
sudo apt-get update
如果有依赖包问题,可安装以下工具 ,无则忽略下面那条指令
sudo apt-get install libgl1-mesa-dev-lts-utopic
桌面完整版安装:包含ROS、rqt、rviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能。
sudo apt-get install ros-indigo-desktop-full
单个软件包安装,例如安装slam-gmapping:(本指令可暂时忽略)
sudo apt-get install ros-indigo-slam-gmapping
查找可用软件包:(本指令可暂时忽略)
apt-cache search ros-indigo
1.5初始化rosdep
就是你编译时会用到没有安装的依赖包,这个工具会帮你自动下载安装
sudo rosdep init
rosdep update
1.6环境设置
每次打开终端都需要配置环境变量,麻烦,现在将这个添加到bash每次打开自动配置
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
1.7安装rosinstall
命令行工具,方便一条指令安装某个ros软件包下载很多源码树
sudo apt-get install python-rosinstall
到这里基本完成安装了,接下来配置环境.
1.8管理环境
如果在查找和使用ROS软件包方面遇到问题,请确保正确配置环境变量.可以通过下面方式查找
export | grep ROS
注意:由于我使用的是catkin来组织和编译应用程序,这个是使用更加标准的Cmake规则,更复杂,但更灵活,对于整合外部代码和发布自己的代码的人建议使用catkin.另外还有rosbuild,这个会容易简单.
配置环境变量方法(source就是配置环境变量的命令):
source /opt/ros/indigo/setup.bash
上条指令是单次的,为避免每次打开终端都重新输入一次,可以在.bashrc中最后一行添加上条指令,打开.bashrc指令是
vim ~/.bashrc
(vim是因为我已经安装了vim IDE,不懂请百度,~/表示根目录)
1.9创建ros工作空间(也就是catkin工作空间)
创建一个文件夹(mkdir是创建文件夹命令,-p是不仅创建catkin_ws文件夹,还能创建下一级src的文件夹)
mkdir -p ~/catkin_ws/src
进入catkin_ws下
cd ~/catkin_ws/
生产catkin的工作空间指令(就是将一些指令文件等添加到该文件下)
catkin_make
然后,source新生产的setup.*sh
source devel/setup.bash
因为上面是source当前终端的路径,如果关闭了终端重新打开,该source会消失。因此可以将
下面一条指令添加到.bashrc中最下面一行。
source ~/catkin_ws/devel/setup.bash
查看是否正确配置ROS_PACKAGE_PATH环境变量包含我刚刚创建的工作区间
echo $ROS_PACKAGE_PATH
如果看到 /home/<yourname>/catkin_ws/src这个就说明成功,通常后面还有一些,是通过冒号:分开的.
注意:本文归作者所有,未经作者允许,不得转载