在Ubuntu14.04中安装ROS Indigo

本文主要介绍一下ROS是什么,如何在Ubuntu中安装ROS,以及如何基于ROS在Gazebo模拟器中通过键盘控制TurtleBot移动。

ROS是什么

  ROSRobot 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 --recv-key 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-rocon-qt-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

猜你喜欢

转载自blog.csdn.net/weixin_41015581/article/details/80028576