本文共 2671 字,大约阅读时间需要 8 分钟。
为 Ubuntu 的包管理器增加源,设置计算机接受来自于 packages.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'
这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc
获得。
一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。
这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。
设置密钥的命令如下:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
如果在连接密钥服务器时遇到了问题,可以尝试在上面的命令中用 hkp://pgp.mit.edu:80
或 hkp://keyserver.ubuntu.com:80
来替换。
首先,需要确保包管理器的索引已经更新至最新:
sudo apt-get update
ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS。也可以独立地安装 ROS 包。
桌面安装:ROS,, ,机器人通用库
sudo apt-get install ros-kinetic-desktop
ROS-Base (Bare Bones):ROS 包,构建和通信库。没有 GUI 工具。
sudo apt-get install ros-kinetic-ros-base
独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
如:
sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可以使用:
apt-cache search ros-kinetic
通常在做开发时,采用 桌面完整安装 比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包 的方式进行安装。
在使用 ROS 之前,需要先初始化 rosdep
。rosdep
使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。
sudo rosdep initrosdep update
如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrcsource ~/.bashrc
如果安装了多个 ROS 发行版,则 ~/.bashrc
必须只 source
当前正在使用的那一版的 setup.bash
。
如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:
完成完整的 ROS 安装之后,可以对安装做一个简单的测试。可以通过 roscore
和 turtlesim
来做测试。
roscore
测试如下:
$ roscore... logging to /home/hanpfei0306/.ros/log/3e61b674-03cf-11e8-ac54-9cb70ddc3658/roslaunch-hanpfei0306-31481.logChecking log directory for disk usage. This may take awhile.Press Ctrl-C to interruptDone checking log file disk usage. Usage is <1GB.started roslaunch server http://hanpfei0306:44979/ros_comm version 1.12.12SUMMARY========PARAMETERS * /rosdistro: kinetic * /rosversion: 1.12.12NODESauto-starting new masterprocess[master]: started with pid [31495]ROS_MASTER_URI=http://hanpfei0306:11311/setting /run_id to 3e61b674-03cf-11e8-ac54-9cb70ddc3658process[rosout-1]: started with pid [31508]started core service [/rosout]
turtlesim
测试如下: turtlesim
的运行依赖于 roscore
的运行,因此在测试 turtlesim
需要同时运行 roscore
。 打开一个新终端,通过键盘控制小乌龟,这个终端窗口必须置顶才能键盘控制
rosrun turtlesim turtle_teleop_key 会出现如下结果,此时就可以通过键盘的前后左右来控制小乌龟的平面运动了。 Reading from keyboard ————————— Use arrow keys to move the turtle.转载地址:http://stbab.baihongyu.com/