ros安装详细教程+问题解决

2023-05-16

  官方英文连接:melodic/Installation/Ubuntu - ROS Wiki

如果一下命令有疑问:见上方官方文档,也很简洁

ROS有许多版本,ubuntu20.04对应的版本Noetic也发行了,本文主要以ubuntu18.04+melodic安装,其余版本安装大同小异,如果有不同的地方我会做出标注,所以大家可以放心按着教程来 一.源的选择和导入   首先就是换成国内源,这些都比较基础  

20200128113449590

20200128123101176

  然后打开终端,添加新的源: 

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

二.输入对应秘钥,正式安装ros

  首先输入一下秘钥: 

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

  更新一下 

sudo apt-get update && sudo apt-get upgrade

  更新完成后就可以正式安装啦!然后输入 

sudo apt-get install ros-melodic-desktop-full

  (!!!这里要注意一下,安装的ros版本一定要和你的ubuntu系统做对应,比如14.04对应indigo,16.04对应kinetic,18.04对应melodic.20.04对应noetic,具体修改方式就是把上述代码中的"medolic"换成你系统对应的版本就行了)   这样就是安装完成了  

20200128131106706

  (我这个是kinetic的截图,不过不影响,终端没报错就行)   然后我们查看一下是否安装成功了 终端输入 

cd /opt

ls

 如果有ros目录,则这样就证明安装成功了  

接下来设置:

环境设置

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

到目前为止,您已经安装了运行核心ROS包所需的东西。为了创建和管理您自己的ROS工作区,有各种工具和需求是分开分发的。例如,rosinstall是一个常用的命令行工具,它使您能够用一个命令轻松地下载ROS包的许多源代码树。

要安装此工具和其他用于构建ROS包的依赖项,请运行:

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

初始化rosdep

在使用许多ROS工具之前,需要初始化rosdep。rosdep使您能够轻松地为要编译的源代码安装系统依赖项,并且是在ROS中运行某些核心组件所必需的。如果您尚未安装rosdep,请按以下步骤进行安装。

sudo apt install python-rosdep

通过以下步骤,可以初始化rosdep。

sudo rosdep init
rosdep update

三.初始化rosdep

如果此步骤频繁报错:请跳转到此博客尝试解决问题

rosdep init ROS安装问题解决方案 +解决ROS系统 rosdep update超时问题的新方法_#君君#的博客-CSDN博客

终端输入 

sudo rosdep init

  这里可能会出现报错  

F35T1I}RK7GMOWQD`IHN_L8

  我们需要自己进入/etc下自建那个文件夹以及文件,具体操作如下 

cd /etc
sudo mkdir ros
cd ros
sudo mkdir rosdep
cd rosdep
sudo mkdir source.list.d
cd source.list.d
sudo touch 20-default.list

  之后我们进入这个文件中编辑 

sudo gedit 20-default.list

  在文件在输入 

#os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
#generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being
#fetched from the rosdistro index.yaml instead

  保存就好啦 之后再终端输入 

rosdep update

  接下来可能还会出错,具体错误如下(大部分原因都是网络问题)  

20200203143019130

  怎么解决呢? 首先调大执行时间,更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.pygbpdistro_support.pyrep3.py中的DOWNLOAD_TIMEOUT = 15.0值,我一般直接改成999。   终端输入:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

  修改一下DOWNLOAD_TIMEOUT,其余两个文件一样 修改完成后,再输入 

sudo gedit /etc/hosts

  在最后一行加入

199.232.96.133​​​​​​​ raw.githubusercontent.com

  保存一下 然后更新 

sudo apt update

  完成后继续输入 

rosdep update

  如果正常,你会发现,此时你hit那些网址的速度会加快不少,比之前要快得多 当然还是会出现time out这个问题,这时候还是Ctrl+C停下,继续rosdep update,然后多试几次就成功了。   成功后的截图  

20200203144934103

如果此步骤频繁报错:请跳转到此博客尝试解决问题

rosdep init ROS安装问题解决方案 +解决ROS系统 rosdep update超时问题的新方法_#君君#的博客-CSDN博客

前三步如果代理方式解决无法访问raw.githubconten.com的问题,那么恭喜你,你的安装步骤已经成功了百分90.

四.环境变量设置

在终端输入 

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc


六.测试

在终端下输入 

roscore

  打开一个新终端输入 

rosrun turtlesim turtlesim_node

  此时会出现一个小乌龟  

20200131012258290

  此时就代表安装完成啦! 打开一个终端再输入 

rosrun turtlesim turtle_teleop_key

  按住方向键就能控制龟龟的移动了!!! 

参考连接:《ROS入门21讲》教程补充资料 - 古月居

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

ros安装详细教程+问题解决 的相关文章

  • Linux c多线程与c++多线程的基础写法

    最近工作需要 xff0c 对多线程做了一点了解 xff0c 现在将多线程的创建 xff0c 函数传参做个小结 一 linux c多线程 1 头文件 xff1a include lt pthread h gt 2 创建线程 xff1a pth
  • 姿态误差问题

    前段同学问了一个关于飞机姿态误差的问题 xff0c 将飞机姿态直接做差与px4里面先z轴对齐然后将过渡矩阵的姿态量赋值给滚转俯仰姿态误差对比 xff0c 发现直接做差后在飞机做大的机动时误差量会变大 xff0c 曲线的拟合非常不好 xff0
  • px4 avoidance笔记

    最近在用px4官方的avoidance代码跑硬件避障 xff0c 官方介绍了只要生成符合sensor msgs PointCloud2点云信息就能使用 xff0c 因此为了应用长基线双目 xff0c 没有使用realsense的相机 xff
  • PX4源代码下载编译

    sudo git clone https github com PX4 PX4 Autopilot git recursivegit submodule update init recursivegit submodule update r
  • 踩坑记录

    ERROR Session line number was not unique in database History logging moved to new session 66 在生成tfrecord时 总报如下错误 找了很长时间
  • git强制覆盖本地代码

    git强制覆盖本地 xff1a git fetch all 拉取所有更新 git reset hard origin master 本地代码同步线上最新版本 会覆盖本地所有与远程仓库上同名的文件 git pull git强制覆盖本地命令 x
  • 【毕业设计】基于STM32及OpenMV的云台追踪装置

    目录 修改记录1 摘 要2 整体功能分析3 硬件选型3 1 OpenMV4 Cam H73 2 STM32F103ZET63 3 DS3120舵机3 4 LED补光板3 5 供电及稳压3 6 硬件连接 4 软件功能实现4 1 OpenMV部
  • firewall-cmd 使用总结

    firewalld的简要说明 firewalld firewall cmd firewall offline cmd它们Python脚本 xff0c 通过定义的在 usr lib firewalld下面的xml配置信息 xff0c 在启动时
  • 机架与机柜

    随着计算机网络的发展 xff0c 数据中心的服务器以及网络通信设备等IT设施 xff0c 正逐步向着网络化 机架化的方向发展 机架是用于综合布线 xff0c 安装配线架和理线架 xff0c 实现对电缆和光缆布线系统的管理 在网络机柜中不具备
  • cmake和makefile区别和cmake指定编译器(cmake -G)

    一 cmake和makefile区别 要说明区别 xff0c 我们先要区分下面三类工具 xff1a 1 项目构建生成工具 首先cmake是项目构建生成工具 xff0c cmake的代码可以与平台系统和编译器无关 类似cmake的工具还有au
  • Gazebo使用过程中的问题

    1 运行命令gazebo没有反应 在虚拟机安装好gazebo后 xff0c 使用ALT 43 F2打开命令行运行命令gazebo没有反应 首先尝试内存不够的情况 xff0c 给虚拟机加到了4g内存 没有用 xff0c 运行gazebo还是没
  • 一张图理解板卡硬件调试流程

    最近在调试从焊板厂打样回来的板卡 xff0c 简单总结了下板卡的硬件测试流程 xff0c 如下图 xff1a 写在后面的话 xff1a 我之所以选择做技术这一行 xff0c 是觉得做技术的人简单 直接 xff0c 当你面对一个技术问题 xf
  • 关于Linux进程你所需要知道的一切都在这里!!

    文章目录 进程简单了解进程查看进程进程ID父进程ID父进程与子进程 程序与进程程序进程程序变成进程总结 进程状态进程状态转换启动新进程system fork exce系列函数 终止进程等待进程wait waitpid 进程 说明 xff1a
  • MQTT协议简介及协议原理

    文章目录 MQTT协议MQTT协议简介MQTT通信模型MQTT客户端的功能 xff1a MQTT客户服务器功能 xff1a 消息主题与服务质量MQTT控制报文固定报头可变报头CONNECT报文CONNACK报文 有效载荷 MQTT协议 MQ
  • 你不得不看的图文并茂的MQTT协议通信过程!!!

    文章目录 MQTT连接服务器MQTT订阅主题MQTT发布消息服务质量等级 QoSQoS0的PUBLISH控制报文QoS1的PUBLISH控制报文QoS2的PUBLISH控制报文 取消订阅断开连接 MQTT连接服务器 客户端到服务器的网络连接
  • 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient简介与使用

    文章目录 mqttclient简介与使用优势 xff1a 在线代码生成工具占用资源大小整体框架支持的平台版本问题版权和许可linux平台下测试使用安装cmake xff1a 测试程序编译 amp 运行编译成动态库libmqttclient
  • 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient代码生产工具介绍

    文章目录 mqttclient代码生产工具介绍连接参数配置订阅主题相关的代码配置发布消息相关的代码配置生成代码 mqttclient代码生产工具介绍 mqttclient代码生产工具主要是用于配置MQTT的参数 xff0c 并且生成相应的代
  • 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient配置及裁剪工具

    文章目录 mqttclient配置及裁剪工具salof相关的配置使用mqttclient裁剪配置工具 mqttclient配置及裁剪工具 MQTT TOPIC LEN MAX 配置客户端支持最大的主题名长度 xff0c 主题是支持通配符的
  • 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient设计与实现方式

    文章目录 mqttclient设计与实现方式设计思想API接口MQTT客户端的核心结构mqttclient实现申请一个mqtt客户端释放已申请的mqtt客户端设置MQTT客户端的信息连接服务器订阅报文取消订阅发布报文内部线程核心的处理函数发
  • mqtt连接百度天工物接入平台

    文章目录 mqtt连接到百度天工物接入百度天工物接入简介使用百度天工物接入创建项目创建策略创建身份创建用户测试连接 MQTT软件测试连接手动安装相关的依赖包拉取mqttclient仓库简单介绍mqttclient仓库文件夹编译运行测试代码使

随机推荐

  • mqttclient连接到OneNET云平台

    文章目录 mqttclient连接到OneNET云平台使用OneNET测试连接手动安装相关的依赖包拉取mqttclient仓库简单介绍mqttclient仓库文件夹编译运行代码使用到的API mqttclient连接到OneNET云平台 有
  • 2022年最新《谷粒学院开发教程》:1 - 构建工程篇

    资料资料资料地址代码地址 后台管理系统目录前台展示系统目录1 构建工程篇7 渲染前台篇2 前后交互篇8 前台登录篇3 文件上传篇9 前台课程篇4 课程管理篇10 前台支付篇5 章节管理篇11 统计分析篇6 微服务治理12 项目完结篇 目录
  • MQTT移植到stm32开发板——使用RT-Thread操作系统

    文章目录 mqttclientENV介绍env工具下载安装通过env移植MQTT客户端打开 env 控制台打开env并更新软件包列表移植MQTT客户端 编写自己的代码 xff1a 连接参数配置订阅主题相关的代码配置发布消息相关的代码配置生成
  • MQTT移植到stm32开发板——使用TencentOS tiny操作系统

    mqttclient 一个高性能 高稳定性的跨平台MQTT客户端 一个高性能 高稳定性的跨平台MQTT客户端 xff0c 基于socket API之上开发 xff0c 可以在嵌入式设备 xff08 FreeRTOS LiteOS RT Th
  • MQTT移植到stm32开发板——使用FreeRTOS操作系统

    mqttclient 一个高性能 高稳定性的跨平台MQTT客户端 一个高性能 高稳定性的跨平台MQTT客户端 xff0c 基于socket API之上开发 xff0c 可以在嵌入式设备 xff08 FreeRTOS LiteOS RT Th
  • 深入了解C++多态的原理及实现方式

    文章目录 前言关于多态函数承载方式虚函数方式 前言 需要深入了解C C 43 43 语言的基础之上再看此文章 关于多态 具有多种形态 xff0c 调用同一个方法会随上下文不同而产生不同的结果 xff0c 多态有静态多态与动态多态两种 函数承
  • select、poll、epoll的原理与区别

    文章目录 前言同步I O异步I O阻塞I O非阻塞I O多路复用I Oselectselect整个处理过程如下select函数原型 xff1a select的缺点 pollepollepoll的原理epoll的操作模式epoll的函数epo
  • MQTT连接到阿里云物联

    连接到阿里云物联 既然懂得专门连接百度天工物接入 xff0c 那么连接阿里云物联其实也是一样的 xff0c 因为都是基于MQTT协议进行通信的 xff0c 首先打开阿里云物联 xff1a https iot console aliyun c
  • Ubuntu20 安装微信

    1 安装deepin wine span class token function git span clone span class token string 34 https gitee com wszqkzqk deepin wine
  • 如果让你设计哈希表.....

    先确定选题 xff0c 待写
  • STM32进阶之串口环形缓冲区实现

    如需转载请说明出处 xff1a STM32进阶之串口环形缓冲区实现 队列的概念 在此之前 xff0c 我们来回顾一下队列的基本概念 xff1a 队列 Queue xff1a 是一种先进先出 First In First Out 简称 FIF
  • 在ROS中实现基于darknet_ros的目标检测

    最近用自己的渣渣笔记本电脑跑了一下yolo目标检测在ROS中的实现 xff0c 实现了用摄像头进行目标检测的任务 以下为笔记 xff0c 防止遗忘 1 使用的环境和平台 Ubuntu 16 04 LTS 43 ROS 43 Yolo 2 实
  • 01 FreeRTOS任务实例

    FreeRTOS任务实例 一 简要说明1 官方例程下载 二 学习任务的创建1 创建一个任务2 任务中传递参数3 不同优先级的任务 三 任务的延时1 使用阻塞式延时2 精确的任务定时3 低优先级任务无延时 xff0c 高优先级延时 一 简要说
  • opencv 读取相机图像+ros发布图像

    usr bin python2 coding 61 utf 8 import cv2 import numpy as np from std msgs msg import Header from sensor msgs msg impor
  • 无人机小知识:Pitch Yaw Roll的经典解释

    无人机的一个最基本的基础知识就是对Pitch Yaw Roll三个方向的辨别 查了下网上很多资料 xff0c 都采用的下面的几张图进行说明 xff0c 我觉得很直观 xff0c 记录一下 xff0c 当做备忘录 机体坐标系 xff1a 固定
  • 编译警告:warning: Clock skew detected. Your build may be incomplete.

    在编译darknet ros程序时 xff0c 遇到如下警告 xff1a make 2 Warning File 39 darknet ros darknet ros CMakeFiles darknet ros lib dir depen
  • Yolo v4系列学习(四)Yolo v4移植ROS

    目录 1 建立名为catkin ws的工作空间2 下载darknet ros包3 下载Yolo v4源码4 开始编译5 漫长的解决Bug的过程6 配置Yolo v4 43 ROS7 开始使用Yolo v4 43 ROS8 调参参考网址 1
  • C++(14):make_unique

    C 43 43 14增加了make unique xff0c 用于创建unique ptr对象 xff1a include lt iostream gt include lt memory gt using namespace std in
  • Git:修改commit内容

    在提交code xff0c 使用git commit编写注释时 xff0c 如果发现注释的内容不太准确 xff0c 需要修改怎么办 xff1f 比如 xff0c 当前写的注释是 xff1a this is fix for XXX 在git
  • ros安装详细教程+问题解决

    官方英文连接 xff1a melodic Installation Ubuntu ROS Wiki 如果一下命令有疑问 xff1a 见上方官方文档 xff0c 也很简洁 ROS有许多版本 xff0c ubuntu20 04对应的版本Noet