ubuntu16.04下ROS Kinetic详细安装过程

2023-05-16

参考网址:点击打开链接

参考文献:《ROS机器人编程》

配置环境:ubuntu 16.04 LTS + ROS Kinetic

一、安装ROS

1、设置镜像源

为了保证安装速度,需要选择国内的镜像。可参考点击打开链接

2、设置网络时间协议

为了缩小PC间通信中的ROS Time的误差,下面我们设置NTP 。设置方法是安装chrony之后用ntpdate命令指定ntp服务器即可。这样一来会表示服务器和当前计算机之间的时间误差,进而会调到服务器的时间。这就是通过给不同的PC指定相同的NTP服务器,将时间误差缩短到最小的方法。

  1. $ sudo apt-get install -y chrony ntpdate
  2. $ sudo ntpdate -q ntp.ubuntu.com

3、添加代码列表

在ros-latest.list添加ROS版本库。打开新终端,输入如下命令。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

4、设置公钥(Key)

为了从ROS存储库下载功能包,公钥请参考wiki网址,发文是下面的命令。

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

5、更新软件包索引

安装前建议刷新软件包列表索引并且升级安装的软件包。

$ sudo apt-get update && sudo apt-get upgrade -y

6、安装ROS Kinetic Kame

建议安装完整包,会省去许多麻烦。命令如下:

$ sudo apt-get install ros-kinetic-desktop-full 

如果想安装其他ROS功能包,可以使用apt-cache命令搜索ros-kinetic开头的所有功能包。

$ apt-cache search ros-kinetic

如果想安装个别功能包,请使用如下命令。

$ sudo apt-get install ros-kinetic-[功能包名称]

7、初始化rosdep

在使用ROS前,必须初始化rosdep

  1. $ sudo rosdep init
  2. $ rosdep update

如果报错请看这里:点击打开链接

8、安装rosinstall

这是安装ROS各种功能包的程序。很有用的工具,务必安装。

$ sudo apt-get install python-rosinstall
二、搭建ROS开发环境

1、加载环境设置文件

里面定义着相关的环境变量。

$ source /opt/ros/kinetic/setup.bash

2、创建并初始化工作目录

新版本ROS使用名为catkin的工具来构建系统,为了使用它需要创建并初始化catkin工作目录。

  1. $ mkdir -p ~/catkin_ws/src
  2. $ cd ~/catkin_ws/src
  3. $ catkin_init_workspace

在所创建的catkin工作目录,使用catkin_make命令来构建。

  1. $ cd ~/catkin_ws/
  2. $ catkin_make

加载与catkin构建系统相关的环境文件。

$ source ~/catkin_ws/devel/setup.bash
3、ROS的配置
为了简化操作,使其每次打开终端自动读入配置文件,配置ROS网络,并简化为快捷命令。

使用gedit打开bashrc文件。

$ gedit ~/.bashrc

打开后不要修改其他设置,移动到最底部添加以下内容(xxx.xxx.xxx.xxx是用户的IP地址,会根据所连网络改变,使用ifconfig查看)。输入后,保存更改并退出gedit。注意:以下文本等号两端一定不要有空格!!!

  1. # Set ROS Kinetic
  2. source /opt/ros/kinetic/setup.bash
  3. source ~/catkin_ws/devel/setup.bash
  4. # Set ROS Network
  5. export ROS_HOSTNAME=xxx.xxx.xxx.xxx
  6. export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
  7. # Set ROS alias command
  8. alias cw='cd ~/catkin_ws'
  9. alias cs='cd ~/catkin_ws/src'
  10. alias cm='cd ~/catkin_ws && catkin_make'

输入以下命令,使更改生效。

$ source ~/.bashrc

如果用户在一台PC上运行所有功能包,则可以指定localhost而不是特定IP。第二部分改为:

  1. # Set ROS Network
  2. export ROS_HOSTNAME=localhost
  3. export ROS_MASTER_URI=http://localhost:11311

文章标签:  ROS Ubuntu
个人分类:  ROS
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu16.04下ROS Kinetic详细安装过程 的相关文章

  • ROS与navigation教程——ACML参数配置

  • SLAM-hector_slam 简介与使用

    hector slam功能包使用高斯牛顿方法 不需要里程计数据 只根据激光信息便可构建地图 所以他的总体框架如下 hector slam功能包 hector slam的核心节点是hector mapping 它订阅 scan 话题以获取SL
  • ROS学习(1)——ROS1和ROS2的区别

    因为机器人是一个系统工程 它包括了机械臂结构 电子电路 驱动程序 通信框架 组装集成 调试和各种感知决策算法等方面 任何一个人甚至是一个公司都不可能完成机器人系统的研发工作 但是我们又希望自己能造出一个机器人跑一跑 验证一下自己的算法 所以
  • 1-如何安装ROS

    如何安装ROS 大家好 我是如何 今天尝试在Ubantu下安装ROS Robot Operating System 测试环境 虚拟机VMware Ubantu20 04 准备步骤 添加ROS软件源 sudo sh c echo deb ht
  • ROS2踩坑记录

    Vscode 显示 找不到module 以此选择 设置 Python 在setting json中编辑 在 python autoComplete extraPaths 中添加额外的第三方库路径 如 opt ros foxy lib pyt
  • GG-CNN代码学习

    文章目录 1 源码网址 https github com dougsm ggcnn 2 数据集格式转化 下载后的康奈尔数据集 解压完之后里面的格式 里面的 tiff图像通过 txt文件转化得到 python m utils dataset
  • Ubuntu16.04安装ROS Kinetic详细步骤

    文章目录 ROS安装 配置Ubuntu软件仓库 设置sources list 设置密钥 更新Debian软件包索引 安装ROS 初始化 rosdep 环境配置 构建工厂依赖 测试安装 开发环境 ROS安装 ROS Kinetic只支持Wil
  • ModuleNotFoundError: No module named ‘rosbag‘

    1 ModuleNotFoundError No module named rosbag File opt ros kinetic lib python2 7 dist packages roslib launcher py line 42
  • 在Ubuntu 14.04.2 LTS上安装Qt

    Qt是一个跨平台的应用程序框架 广泛用于开发具有GUI界面的应用软件以及命令行工具 几乎所有操作系统都可以使用Qt 如Windows Mac OS X Android等 用于开发Qt应用程序的主要编程语言是C 但是可以使用诸如Python
  • rosprofiler 安装和使用

    rosprofiler wiki 页面 http wiki ros org rosprofiler rosprofiler package 下载rosprofiler和ros statistics msgs 放到工程目录下编译 https
  • Raspberry Pi 上 ROS 服务器/客户端通过GPIO 驱动硬件

    ROS 服务 现在 想象一下你在你的电脑后面 你想从这个服务中获取天气 你 在你身边 被认为是客户端 在线天气服务是服务器 您将能够通过带有 URL 的 HTTP 请求访问服务器 将 HTTP URL 视为 ROS 服务 首先 您的计算机将
  • 树莓派配置wifi做热点方法

    http wiki jikexueyuan com project raspberry pi wifi html
  • 最快实现一个自己的扫地机

    作者 良知犹存 转载授权以及围观 欢迎关注微信公众号 羽林君 或者添加作者个人微信 become me 扫地机介绍 扫地机器人行业本质是技术驱动型行业 产品围绕导航系统的升级成为行业发展的主旋律 按功能划分 扫地机器人分为四大系统 即导航系
  • 在 CLion 中设置 ROS 包

    我正在使用 CLion C IDE 来编辑 ROS 包 我可以通过打开CMakeLists txt文件 但是 我收到一个错误 FATAL ERROR find package catkin 失败 在工作区和 CMAKE PREFIX PAT
  • Kinect / Primesense (Xtion) ROS Ubuntu 通过虚拟机 (VMware)

    由于我花了相当长的时间才弄清楚如何让 Xtion Primesense 在 VMware 上工作 所以我想在这里与大家分享 使用 Kinect 时 即使 VMware 已成功连接该设备 我也无法让 ROS 查看该设备 roslaunch o
  • 错误状态:平台不允许不安全的 HTTP:http://0.0.0.0:9090

    我正在尝试从我的 flutter 应用程序连接到 ws local host 9090 使用 rosbridge 运行 的 Ros WebSocket 服务 但我在 Flutter 中收到以下错误 错误状态 平台不允许不安全的 HTTP h
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12
  • 使用 CMake 链接 .s 文件

    我有一个我想使用的 c 函数 但它是用Intel编译器而不是gnu C编译器 我在用着cmake构建程序 我实际上正在使用ROS因此rosmake但基础是cmake所以我认为这更多是一个 cmake 问题而不是ROS问题 假设使用构建的文件
  • ROS中spin和rate.sleep的区别

    我是 ROS 新手 正在尝试了解这个强大的工具 我很困惑spin and rate sleep功能 谁能帮助我了解这两个功能之间的区别以及何时使用每个功能 ros spin and ros spinOnce 负责处理通信事件 例如到达的消息

随机推荐

  • 新手如何快速入门人工智能?

    网上有很多关于 新手如何快速入门人工智能 的文章 xff0c 但是对于真正的小白来说并没有太多的指导作用 作为新手想进入人工智能领域 xff0c 首先是要明确需要掌握哪些基础知识 xff0c 其次是掌握一套行之有效的学习方法 xff0c 最
  • 人工智能入门需要学习哪些课程?AI基础知识

    要入门人工智能 xff0c 需要掌握一些基础知识和技能 以下是一些入门人工智能需要学习的课程和基础知识 xff1a 人工智能入门需要学习哪些课程 xff1f AI基础知识 数学基础 xff1a 人工智能需要用到许多数学知识 xff0c 包括
  • 模块学习2:基于PELCO-D协议对云台进行定点控制

    开发手上的一个云台 xff0c 使用的就是PELCO D协议 这个协议开始网上找了一圈 xff0c 发现下载完整版的协议大多是还都要收费 xff0c 后面在官方下载了一份原版完整版协议的协议内容 xff0c 配合网上搜索到的资料完成对手上这
  • C语言和C++的区别(函数重载)

    C和C 43 43 的区别主要分为三部分 xff1a 接下来详细介绍一下函数部分的区别 1 返回类型 2 参数列表 此外 xff0c 在C 43 43 中还支持缺省参数 xff0c 而C语言不支持 什么是缺省参数呢 xff1f 缺省参数是声
  • 动态创建二维数组的两种方法

    首先来讲解一下什么是二维数组 其实二维数组也可以说是一个一维数组 xff0c 只是这个一维数组比较特别 xff0c 它的每一个元素都是一个一维数组 虽然二维数组在底层是按照一维数组的存储方式来存储的 xff0c 即存完第一行 xff0c 紧
  • 什么是进程?

    程序 xff1a 完成特定任务的一系列指令集合 代码段 43 数据段 放在磁盘中的程序 进程 xff1a 进行就是正在进行中的程序 1 用户角度 xff1a 进程是程序的一次动态执行过程 2 操作系统 xff1a 进程是操作系统分配资源的基
  • 死锁的四个必要条件和解决办法

    死锁概念及产生原理 概念 xff1a 多个并发进程因争夺系统资源而产生相互等待的现象 原理 xff1a 当一组进程中的每个进程都在等待某个事件发生 xff0c 而只有这组进程中的其他进程才能触发该事件 xff0c 这就称这组进程发生了死锁
  • 编译和链接的过程

    程序要运行起来 xff0c 必须要经过四个步骤 xff1a 预处理 编译 汇编和链接 接下来通过几个简单的例子来详细讲解一下这些过程 对于上边用到的几个选项需要说明一下 使用 gcc 命令不跟任何的选项的话 xff0c 会默认执行预处理 编
  • vim常用的功能

    vim是vi 的升级版本 xff0c 它兼容vi的所有指令 xff0c 而且还有一些新的特性 xff0c 比如说预付高亮 可视化操作不仅可以在终端进行 xff0c 还可以在 x Window mac os windows vim 有多种模式
  • vscode electron安装环境

    1 安装nodejs Node js 安装18 12 1LTS版本 安装完成后确认 node version 2 安装electron npm install electron g 验证是否安装成功 electron v 没成功 xff01
  • Debug和Release的区别以及obj文件的作用

    Debug和Release的区别 Debug xff1a 调试版本 xff0c 包含调试信息 xff0c 所以容量比release大很多 xff0c 并且不进行任何优化 xff0c xff08 优化会使调试复杂化 xff0c 因为进行优化肯
  • python中的import、from import以及import as的区别

    首先介绍一下import和include的区别或者说import相对include的好处 xff1a import导入的内容只会被包含一次 xff0c 在引入之前会检测是否已经存在该模块 xff0c 不存在才会被引入 xff0c 而incl
  • error while loading shared libraries: lib*.so: cannot open shared object file: No such file

    linux在编译文件时报错 xff1a slam sample error span class token keyword while span loading shared libraries libslam common so can
  • (1/100) ros的plugin插件和动态参数配置dynamic_reconfigure

    写在前面 xff1a 实际机器人开发中 xff0c 往往会存在很多参数 xff0c 这些参数需要在实际的调试中得出 xff0c 为了更高效的开发与测试 xff0c 则选择使用动态的参数配置 而在机器人功能模块层面 xff0c 我们可能也需要
  • 重定向printf函数到串口输出的多种方法

    本文详细的介绍了如何重定向printf输出到串口输出的多种方法 xff0c 包括调用MDK微库 xff08 MicroLib xff09 的方法 xff0c 调用标准库的方法 xff0c 以及适用于 GNUC 系列编译器的方法 1 prin
  • 如何修复烧写镜像文件失败的SD卡

    前言 使用某些软件 xff08 比如 win32 Disk Imager xff09 向SD卡烧写镜像文件时 xff0c 很有可能出现烧写失败的情况 xff0c 通常如果烧写失败 xff0c 系统会弹出请求格式化SD卡的提示框 此时不要点格
  • FreeRTOS学习笔记(一)基础篇

    我的FreeRTOS学习 xff0c 是从朱工的FreeRTOS系列博客开始的 xff0c 感谢朱工的悉心整理 xff0c 文章很不错 xff0c 适合学习 根据朱工的博客 xff0c 按照我自己的习惯和思路 xff0c 把最关键的信息抓取
  • 程序员要不要懂底层原理

    我在做编程的时候 xff0c 还是一个地道的门外汉 xff0c 就像一个刚出生的孩子 xff0c 跟着大人咿呀呀的学语 xff0c 也不知道是什么 xff0c 做什么用的 xff0c 也不知道能不能换种方式实现 xff0c 总结起来就是一问
  • Z变换零点极点

    在Z变换里 xff0c 零点的位置表示系统的 谷 xff0c 极点的位置表示系统的 峰 xff0c 我们把有峰的地方看做信号可以通过的地方 xff0c 而有谷的地方看做信号被截止的地方 并且我们选择单位圆为频域的一个周期 xff0c 那么可
  • ubuntu16.04下ROS Kinetic详细安装过程

    参考网址 xff1a 点击打开链接 参考文献 xff1a ROS机器人编程 配置环境 xff1a ubuntu 16 04 LTS 43 ROS Kinetic 一 安装ROS 1 设置镜像源 为了保证安装速度 xff0c 需要选择国内的镜