博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 16.04 安装 ROS kinnetic
阅读量:2383 次
发布时间:2019-05-10

本文共 2671 字,大约阅读时间需要 8 分钟。

设置 sources.list

为 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'
  • 1

这一步会根据 Ubuntu Linux 发行版本的不同,添加不同的源。Ubuntu 的版本通过 lsb_release -sc 获得。

一旦添加了正确的软件库,操作系统就知道去哪里下载程序,并根据命令自动安装软件。

设置密钥

这一步是为了确认源代码是正确的,并且没有人在未经所有者授权的情况下,修改任何程序代码。通常情况下,当添加完软件库时,已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。

设置密钥的命令如下:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
  • 1

如果在连接密钥服务器时遇到了问题,可以尝试在上面的命令中用 hkp://pgp.mit.edu:80hkp://keyserver.ubuntu.com:80 来替换。

安装

首先,需要确保包管理器的索引已经更新至最新:

sudo apt-get update
  • 1

ROS 中有非常多不同的库和工具。官方提供了四种默认的配置来安装 ROS。也可以独立地安装 ROS 包。

桌面完整安装(推荐采用):ROS, ,  ,机器人通用库,2D/3D 仿真器,导航及 2D/3D 感知

桌面安装:ROS,, ,机器人通用库

sudo apt-get install ros-kinetic-desktop
  • 1

ROS-Base (Bare Bones):ROS 包,构建和通信库。没有 GUI 工具。

sudo apt-get install ros-kinetic-ros-base
  • 1

独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。

sudo apt-get install ros-kinetic-PACKAGE
  • 1

如:

sudo apt-get install ros-kinetic-slam-gmapping
  • 1

要找到可用的包,可以使用:

apt-cache search ros-kinetic
  • 1

通常在做开发时,采用 桌面完整安装 比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。对于实际的机器,则通常采用 ROS-Base (Bare Bones) + 独立的包 的方式进行安装。

初始化 rosdep

在使用 ROS 之前,需要先初始化 rosdeprosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。

sudo rosdep initrosdep update
  • 1
  • 2

环境设置

如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrcsource ~/.bashrc
  • 1
  • 2

如果安装了多个 ROS 发行版,则 ~/.bashrc 必须只 source 当前正在使用的那一版的 setup.bash

如果你只想要修改当前 shell 的环境,则输入如下的命令来替换上面的命令:

 
source /opt/ros/kinetic/setup.bash

完成完整的 ROS 安装之后,可以对安装做一个简单的测试。可以通过 roscoreturtlesim 来做测试。

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]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

turtlesim 测试如下:
rosrun turtlesim turtlesim_node
Turtlesim

注意
turtlesim 的运行依赖于
roscore 的运行,因此在测试
turtlesim 需要同时运行
roscore

打开一个新终端,通过键盘控制小乌龟,这个终端窗口必须置顶才能键盘控制

rosrun turtlesim turtle_teleop_key
会出现如下结果,此时就可以通过键盘的前后左右来控制小乌龟的平面运动了。
Reading from keyboard
—————————
Use arrow keys to move the turtle.

转载地址:http://stbab.baihongyu.com/

你可能感兴趣的文章
C++Primer:第十二章:智能指针shared_ptr类
查看>>
C++Primer :第十二章:直接管理内存 new and delete
查看>>
C++Primer :第十二章:shared_ptr和new的结合使用
查看>>
C++Primer : 第十二章 :智能指针和异常
查看>>
C++Primer : 第十二章 :allocator类
查看>>
C++ 文件操作I/O流
查看>>
C++Primer : 第十二章 : 智能指针unique_ptr类
查看>>
C++Primer : 第十二章 :智能指针weak_ptr类
查看>>
C++Primer : 第十四章 :运算符重载与类型转化基本概念
查看>>
C++Primer : 第十四章 :重载输入和输出运算符
查看>>
C++Primer : 第十四章 :算术与关系运算符
查看>>
C++Primer : 第十四章 :赋值运算符
查看>>
C++Primer : 第十四章 :下标运算符
查看>>
C++Primer : 第十四章 :递增和递减运算符
查看>>
C++Primer : 第十四章 :成员访问运算符
查看>>
C++Primer : 第十四章 :函数调用运算符
查看>>
C++Primer 拷贝控制示例Message类和Folder类的实现
查看>>
C语言习题:打印XX年XX月日历的程序
查看>>
C语言习题:进制转化,打印日期,打印柱状图
查看>>
C语言习题:字符串操作函数练习题目
查看>>