ROS作为机器人操作系统并不是一个像Windows、Linux那样可以独立运行的操作系统,他须要运行在Linux环境下。所以运行ROS的前提是笔记本要装有Linux系统配置 ubuntu 软件仓库,我的是Ubuntu。安装之前须要注意的问题是ROS版本一般与Ubuntu版本是一一对应的,例如:
ROS Jade 仅支持Trusty (14.04)、Utopic (14.10) 和 Vivid (15.04)。
ROS Indigo 仅支持 Saucy (13.10) 和 Trusty (14.04)。
ROS Hydro 仅支持Precise(12.04)、Quantal(12.10)和Raring(13.04)。
截至到目前(2015.10.24),jade版本的ROS还对个别package不支持嵌入式linux论坛,例如初学者用到的Turtlebot包。
但是indigo版本的ROS相对于hydro版本来说有较大升级改动。
考虑到以上两点我选择了indigo版本的ROS因而决定了笔记本上的操作系统是Ubuntu14.04(尽管UbuntuKylin15.04在英文的集成上有了很大改善,不须要操劳英文输入、显示、乱码的问题,还集成了Windows下的常用软件,并且因为ROS版本要求只得舍弃)。
UbuntuKylin在这儿下载:
再推荐一个UbuntuKylin镜像的下载地址:
大多数Linux版本的镜像都能在这儿找到(但是提供BT种子):
2、ROS安装教程
ROS安装我选择apt-get的方法,由于源码安装除了编译麻烦,后期遇见问题也会导致毋须要的困惑,ROSWIKI上也不推荐从源码安装ROS。
安装过程参考ROS的英文版WIKI:
2.1配置Ubuntu软件库房
按下笔记本上的windows键打开搜索栏,输入“软件和更新”,打开软件库房如图:
勾选以容许“restricted”、”universe”和“multiverse”这三种安装模式。
2.2添加sources.list
$ sudo sh -c 'echo "deb //packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
也可以选择国外的源,速率快好多
中国科学技术学院:
$ sudo sh -c '. /etc/lsb-release && echo "deb //mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
东莞学院:
$ sudo sh -c '. /etc/lsb-release && echo "deb //mirror.sysu.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
ExBot机器人实验室:
$ sudo sh -c '. /etc/lsb-release && echo "deb //ros.exbot.net/rospackage/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.3添加Keys
$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
2.4安装
先更新Debian软件包索引
$ sudo apt-get update
安装桌面完整版(包含ROS、rqt、rviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能):
$ sudo apt-get install ros-indigo-desktop-full
或则直接点击这儿启动安装。
2.5初始化rosdep
在开始使用ROS之前你还须要初始化rosdep。rosdep可以便捷在你须要编译个别源码的时侯为其安装一些系统依赖,同时也是个别ROS核心功能组件所必需用到的工具。
$ sudo rosdep init
$ rosdep update
2.6环境设置
到了这一步要使用ROS的一些例如roscd、roslaunch还须要source一下setup.bash文件:
$ source /opt/ros/indigo/setup.bash
若果不想每次用ROS都先运行一句前面那条source而是希望每次打开一个新的终端时ROS环境变量都还能手动配置好(即添加到bash会话中),那将会便捷得多:
$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
在这记一下两个查看环境变量的,但写在文件中没有载入的变量是查不到的
$ export | grep ROS
$ env | grep ROS
2.7创建工作空间
下边是一个创建工作空间的事例
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ source devel/setup.bash
2.8安装rosinstall
rosinstall是ROS中一个独立分开的常用命令行工具配置 ubuntu 软件仓库,它可以便捷让你通过一条命令就可以给某个ROS软件包下载好多源码树。
$ sudo apt-get install python-rosinstall
到这儿ROS的安装就完成了,可以点击这儿开始ROS的中级教程。
三、ROS的卸载
因为我是用apt-get形式安装ROS的,卸载使用如下命令:
$ sudo apt-get remove ros-*
卸载成功的疗效就是/opt下的ROS文件夹被删掉,原来的ROS以及以前安装在ROS中的package也没有了。
四、安装turtlebot包
我联通机器人平台是turtlebotlinux串口驱动,所以安装turtlebot的package以运行现成的代码。
原本hydro版本的ROS下turtlebot包只有一个turtlebot文件夹,这也是一个独立的工作空间,并且在indigo版本下的turtlebot包是三个组合工作空间分别是rocon、kobuki、turtlebot,这是三个并列同级的文件夹,这儿涉及到工作空间的问题。
如下步骤是从源码安装
1、安装前的打算
$ sudo apt-get install python-rosdep python-wstool ros-indigo-ros
$ sudo rosdep init
$ rosdep update
2、安装rocon、kobuki、turtlebot
这三个是组合空间的关系,必须依照次序安装
$ mkdir ~/rocon
$ cd ~/rocon
$ wstool init -j5 src //raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall
$ source /opt/ros/indigo/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir ~/kobuki
$ cd ~/kobuki
$ wstool init src -j5 //raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
$ source ~/rocon/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir ~/turtlebot
$ cd ~/turtlebot
$ wstool init src -j5 //raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
$ source ~/kobuki/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
从前面的安装次序以及依次source的setup.bash文件可以看出她们三个工作空间的层级关系。
3、环境设置
【kobuki平台】
# 设置udev规则使得电脑自动识别kobuki串口,无需每次用chmod赋权限
$ . ~/turtlebot/devel/setup.bash
$ rosrun kobuki_ftdi create_udev_rules
# 如果你使用Kinect作为3D传感器就设置一下TURTLEBOT_3D_SENSOR
$ echo "export TURTLEBOT_3D_SENSOR=kinect" >> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
#将Turtlebot空间设置为默认空间,以后可以不用每次运行source命令
$ echo "source ~/turtlebot/devel/setup.bash" >> ~/.bashrc
接出来说一下电瓶变量
# 运行turtlebot_dashboard查看Turtlebot运行状态
$ roslaunch turtlebot_bringup minimal.launch
$ roslaunch turtlebot_dashboard turtlebot_dashboard.launch
# 如果看到上面面板上的笔记本电池能够显示电量就不用专门设置下面的电池环境变量了,如果无法正常显示电量的话需要设置以下变量
$ echo "export TURTLEBOT_BATTERY=/proc/acpi/battery/BAT1" >> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
假如显示找不到/proc/acpi/battery/BAT1说明电瓶文件不在这个位置
Linux内核版本
本文原创地址://q13zd.cn/razznxzhsdub.html编辑:刘遄,审核员:暂无