在Ubuntu14.04 中安装ROS Indigo
算法设计组何志强
本文主要介绍一下ROS 是什么,如何在Ubuntu 中安装ROS,以及如何基于
ROS 在Gazebo 模拟器中通过键盘控制TurtleBot 移动。
ROS 是什么
ROS 为Robot Operating System(机器人操作系统)的简写,是一个面向
机器人的开源元操作系统(open-source,meta-operating system)。它能够
提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、进程间消息
传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑
代码以及在多个计算机之间运行程序完成分布式计算。ROS 的运行架构是一种
使用ROS 通信模块实现模块间P2P 的松耦合的网络连接的处理架构,它执行若
干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic
的异步数据流通讯,还有参数服务器上的数据存储。
在Ubuntu 中安装ROS
因为ROS Indigo 只支持Saucy (13.10) 和 Trusty (14.04),故此处介绍
在Ubuntu14.04 中如何安装ROS Indigo。打开终端后,按照下面步骤将命令复
制(ctrl+c)、粘贴(ctrl+shift+v)到终端。
第一步:添加 sources.list。
一旦添加了正确的软件源,操作系统就知道去哪里下载程序,并根据命令
自动安装软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu
$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
第二步:添加keys
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recvkey
421C365BD9FF1F717815A3895523BAEEB01FA116
第三步:安装
首先确认你的Debian 的软件包索引是最新的。
sudo apt-get update
推荐桌面完整版安装:因为其包含所有的packages
sudo apt-get install ros-indigo-desktop-full
此处安装需要等一段时间。可能有几个包安装失败,如下:
根据提示,重新更新并安装,即重复第三步。
第四步:初始化rosdep。
rosdep 可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同
时也是某些ROS 核心功能组件所必需用到的工具。
sudo rosdep init
rosdep update
第五步:环境设置。
添加ROS 的环境变量,这样,当你打开你新的shell 时,你的bash 会话
中会自动添加环境变量。
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
第六步:安装rosinstall。
rosinstall 命令是一个使用的非常频繁的命令,使用这个命令可以轻松的
下载许多ROS 软件包。
sudo apt-get install python-rosinstall
至此,ROS 安装完毕。
附:测试例子——用键盘控制TurtleBot 移动
首先安装一个catkin_tools:
sudo apt-get install python-catkin-tools
然后安装turtlebot 软件:
sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps
ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator
ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-roconqt-
library ros-indigo-ar-track-alvar-msgs
安装结束,启动turtlebot 仿真环境:
小提示:双击Tab 键可以显示补全命令名,如下:
启动仿真环境:
roslaunch turtlebot_gazebo turtlebot_world.launch
启动后会弹出一个Gazebo 三维场景(初次启动比较慢),如下:
此处可能会出现如下报错:
Invalid <arg> tag: environment variable 'TURTLEBOT_GAZEBO_WORLD_FILE'
is not set. Arg xml is <arg default="$(env
TURTLEBOT_GAZEBO_WORLD_FILE)" name="world_file"/>The traceback for
the exception was written to the log file
则重新进行上节安装ROS 中的第五步,即重新配置环境变量。
Gazebo 界面操作方法:左键单击拖动——平移,中键单击拖动——动态观
察,滚轮缩放,右键单击拖动——缩放。
下面演示用键盘控制turtlebot
此时在终端单击右键打开一个标签页:
输入命令:
roslaunch turtlebot_teleop keyboard_teleop.launch
我们将看到移动键,加减速键,停止键,如下:
下面你就可以用键盘控制turtlebot 的移动啦~注意:只能在终端界面用键
盘控制turtlebot 移动,无法在Gazebo 界面控制,如下:
参考资料:
[1]《机器人操作系统(ROS)浅析》( Jason M. O'Kane 著)
[2] http://wiki.ros.org/cn/indigo/Installation/Ubuntu
[3] http://www.rosclub.cn/post-629.html
算法设计组何志强
本文主要介绍一下ROS 是什么,如何在Ubuntu 中安装ROS,以及如何基于
ROS 在Gazebo 模拟器中通过键盘控制TurtleBot 移动。
ROS 是什么
ROS 为Robot Operating System(机器人操作系统)的简写,是一个面向
机器人的开源元操作系统(open-source,meta-operating system)。它能够
提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、进程间消息
传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑
代码以及在多个计算机之间运行程序完成分布式计算。ROS 的运行架构是一种
使用ROS 通信模块实现模块间P2P 的松耦合的网络连接的处理架构,它执行若
干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic
的异步数据流通讯,还有参数服务器上的数据存储。
在Ubuntu 中安装ROS
因为ROS Indigo 只支持Saucy (13.10) 和 Trusty (14.04),故此处介绍
在Ubuntu14.04 中如何安装ROS Indigo。打开终端后,按照下面步骤将命令复
制(ctrl+c)、粘贴(ctrl+shift+v)到终端。
第一步:添加 sources.list。
一旦添加了正确的软件源,操作系统就知道去哪里下载程序,并根据命令
自动安装软件。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu
$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
第二步:添加keys
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recvkey
421C365BD9FF1F717815A3895523BAEEB01FA116
第三步:安装
首先确认你的Debian 的软件包索引是最新的。
sudo apt-get update
推荐桌面完整版安装:因为其包含所有的packages
sudo apt-get install ros-indigo-desktop-full
此处安装需要等一段时间。可能有几个包安装失败,如下:
根据提示,重新更新并安装,即重复第三步。
第四步:初始化rosdep。
rosdep 可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同
时也是某些ROS 核心功能组件所必需用到的工具。
sudo rosdep init
rosdep update
第五步:环境设置。
添加ROS 的环境变量,这样,当你打开你新的shell 时,你的bash 会话
中会自动添加环境变量。
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
第六步:安装rosinstall。
rosinstall 命令是一个使用的非常频繁的命令,使用这个命令可以轻松的
下载许多ROS 软件包。
sudo apt-get install python-rosinstall
至此,ROS 安装完毕。
附:测试例子——用键盘控制TurtleBot 移动
首先安装一个catkin_tools:
sudo apt-get install python-catkin-tools
然后安装turtlebot 软件:
sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps
ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator
ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-roconqt-
library ros-indigo-ar-track-alvar-msgs
安装结束,启动turtlebot 仿真环境:
小提示:双击Tab 键可以显示补全命令名,如下:
启动仿真环境:
roslaunch turtlebot_gazebo turtlebot_world.launch
启动后会弹出一个Gazebo 三维场景(初次启动比较慢),如下:
此处可能会出现如下报错:
Invalid <arg> tag: environment variable 'TURTLEBOT_GAZEBO_WORLD_FILE'
is not set. Arg xml is <arg default="$(env
TURTLEBOT_GAZEBO_WORLD_FILE)" name="world_file"/>The traceback for
the exception was written to the log file
则重新进行上节安装ROS 中的第五步,即重新配置环境变量。
Gazebo 界面操作方法:左键单击拖动——平移,中键单击拖动——动态观
察,滚轮缩放,右键单击拖动——缩放。
下面演示用键盘控制turtlebot
此时在终端单击右键打开一个标签页:
输入命令:
roslaunch turtlebot_teleop keyboard_teleop.launch
我们将看到移动键,加减速键,停止键,如下:
下面你就可以用键盘控制turtlebot 的移动啦~注意:只能在终端界面用键
盘控制turtlebot 移动,无法在Gazebo 界面控制,如下:
参考资料:
[1]《机器人操作系统(ROS)浅析》( Jason M. O'Kane 著)
[2] http://wiki.ros.org/cn/indigo/Installation/Ubuntu
[3] http://www.rosclub.cn/post-629.html