【ROS】ubuntu18.04安装ROS(ROS1 Melodic)

news2025/1/1 23:46:11

1、添加中科大ROS源

1.1、添加源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

1. 2、添加公钥

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

1. 3、更新源

sudo apt update

2、安装ROS

2.1、版本选择

ROS分ROS1、ROS2,同时在不同ubuntu版本下有不同的版本。
ubuntu18.04对应的版本:

ROS1——Melodic Morenia
ROS2——Dashing Diademata

在这里插入图片描述

2.2、安装ROS1

sudo apt install ros-melodic-desktop-full
sudo apt install ros-melodic-rqt*

这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件

2.3、设置环境变量

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

2.4、下载python-ros组件

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

3、使用

3.1、初始化rosdep

初始化rosdep时报错:

$ sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

解决方法参考:解决rosdep init ERROR: cannot download default sources list 问题

修改文件 /etc/hosts

203.208.40.66 translate.google.com
203.208.40.66 translate.googleapis.com

199.232.28.133 raw.githubusercontent.com
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com

# Amazon AWS Start
54.239.31.69	aws.amazon.com
54.239.30.25	console.aws.amazon.com
54.239.96.90	ap-northeast-1.console.aws.amazon.com
54.240.226.81	ap-southeast-1.console.aws.amazon.com
54.240.193.125	ap-southeast-2.console.aws.amazon.com
54.239.54.102	eu-central-1.console.aws.amazon.com
177.72.244.194	sa-east-1.console.aws.amazon.com
176.32.114.59	eu-west-1.console.aws.amazon.com
54.239.31.128	us-west-1.console.aws.amazon.com
54.240.254.230	us-west-2.console.aws.amazon.com
54.239.38.102	s3-console-us-standard.console.aws.amazon.com
54.231.49.3	s3.amazonaws.com
52.219.0.4	s3-ap-northeast-1.amazonaws.com
54.231.242.170	s3-ap-southeast-1.amazonaws.com
54.231.251.21	s3-ap-southeast-2.amazonaws.com
54.231.193.37	s3-eu-central-1.amazonaws.com
52.218.16.140	s3-eu-west-1.amazonaws.com
52.92.72.2	s3-sa-east-1.amazonaws.com
54.231.236.6	s3-us-west-1.amazonaws.com
54.231.168.160	s3-us-west-2.amazonaws.com
52.216.80.48	github-cloud.s3.amazonaws.com
54.231.40.3	github-com.s3.amazonaws.com
52.216.20.171	github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168	github-production-user-asset-6210df.s3.amazonaws.com

修改文件:/etc/resolv.conf ,添加google的DNS

nameserver 8.8.8.8
nameserver 8.8.4.4

注:系统中缺少文件 /etc/ros/rosdep/sources.list.d/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

3.2、更新

rosdep update

注意:更新时,不要使用root权限,即不要使用sudo,否则会有提示

$ sudo rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Warning: running 'rosdep update' as root is not recommended.
  You should run 'sudo rosdep fix-permissions' and invoke 'rosdep update' again without sudo.

万一使用sudo,可以使用提示的命令清除下,然后再使用rosdep update

sudo rosdep fix-permissions
rosdep update

如果报错,多执行几遍

3.3、安装Catkin

Catkin是ROS对CMake进行的扩展

sudo apt-get install ros-melodic-catkin python-catkin-tools

4、运行

ROS著名的测试程序就是:键盘控制小乌龟运动;
分别在三个终端中运行,如下命令:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

输入捕获实验

实验内容 用TIM5 的通道 1(PA0)来做输入捕获,捕获 PA0 上高电平的脉宽(用 WK_UP 按键输入高电平),通过串口打印高电平脉宽时间。 输入捕获简介 输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的…

新库上线 | 全国工艺美术大师信息数据

全国工艺美术大师信息数据 一、数据简介 作为物质产品,工艺美术反映着一定时代、一定社会的物质的和文化的生产水平;作为精神产品,它的视觉形象(造型、色彩、装饰)又体现了一定时代的审美观。我国工艺美术品的制作较早…

java基础+注解笔记【狂神说java】

基础部分–总结 基础包的命名 //一般为域名倒置 page com.yang.base基础语法 类和方法 根据不同的写法–大小写的差异可以判别是类对象还是方法名 类的首字母都要大写,方法首字母小写可以理解为,类对象是class,方法是函数 类对象 方法 使…

浅谈在 Vue2 和 Vue3 中计算属性和侦听器的一些变化

文章目录 📋前言🎯计算属性🎯侦听器📝最后 📋前言 计算属性 computed 和侦听器 watch 都是 Vue.js 框架中用来响应式更新视图的重要概念。因此无论是在哪个版本,它们都是不可缺少的概念,这篇文…

音视频八股文(5)--SDL音视频渲染实战。会使用就行,不需要深究。

01-SDL子系统 SDL将功能分成下列数个子系统(subsystem): ◼ SDL_INIT_TIMER:定时器 ◼ SDL_INIT_AUDIO:音频 ◼ SDL_INIT_VIDEO:视频 ◼ SDL_INIT_JOYSTICK:摇杆 ◼ SDL_INIT_HAPTIC&#xff1…

第十三章 享元模式

文章目录 前言一、享元模式基本介绍二、享元模式解决网站展现项目完整代码WebSite 抽象网站类User 外部状态用户内部状态网站 ConcreteWebSite网站工厂产生网站和负责共享(池) WebSiteFactoryClint 测试 三、享元模式在JDK-Interger的应用源码分析四、享…

ERBuilder Data Modeler Crack

ERBuilder Data Modeler Crack 为过程、视图和触发器添加了人工智能驱动的描述生成。 添加了一种新的自动排列方法,可以轻松地排列和组织表格,从而简化ER图的可视化显示。 添加了使用两种身份验证方法创建到远程服务器的SSH连接的功能:密码身…

Linux - 第10节 - Linux多线程(二)

1.Linux线程同步 1.1.同步概念与竞态条件 线程互斥的设计是正确的,但线程互斥在某些场景下并不合理,有可能导致饥饿问题。 饥饿问题:某个执行流访问完临界资源后释放锁,此时相较于其他执行流,该执行流离锁更近&#x…

【目标检测论文阅读笔记】Detection of plane in remote sensing images using super-resolution

Abstract 由于大量的小目标、实例级噪声和云遮挡等因素,遥感图像的目标检测精度低,漏检率或误检率高。本文提出了一种新的基于SRGAN和YOLOV3的目标检测模型,称为SR-YOLO。解决了SRGAN网络 对超参数的敏感性和模态崩溃问题。同时,Y…

【中级软件设计师】—(针对上午题)算法分析与设计(三十八)

【中级软件设计师】—(针对上午题)算法分析与设计(三十八) 一、回溯法 1. 什么是回溯法? 相信"迷宫"是许多人儿时的回忆,大家小时候一定都玩过迷宫游戏。我们从不用别人教,都知道走…

TryHackMe-M4tr1x: Exit Denied(boot2root)

M4tr1x: Exit Denied 大多数人只看到一个完美构建的系统。但你一直都是不同的。你不仅看到表面上的东西,还看到 它下面有什么统治;调节和调节的内部关联机制 几乎完美地管理其每个模块,以至于它试图隐藏所有模块 其多面设计中的微小孔。但是&#xff0c…

【数据结构】链表详解

本片要分享的内容是链表,为方便阅读以下为本片目录 目录 1.顺序表的问题及思考 1.链表的遍历 2.头部插入 2.1开辟空间函数分装 3.尾部插入 纠正 4.尾部删除 5.头部删除 6.数据查找 7.任意位置插入 1.顺序表的问题及思考 上一篇中讲解了顺序表中增删查…

【Linux】如何理解缓冲区

文章目录 &#x1f4d5; 看现象&#x1f4d5; 理解本质&#x1f4d5; 模拟文件接口mystdio.hmystdio.c &#x1f4d5; 看现象 如下代码&#xff0c;运行结果如图。 1 #include<sys/types.h> 2 #include<sys/stat.h> 3 #include<fcntl.h> 4 #include<s…

算法强化--分解因数

大家好,今天为大家带来一道题目 链接&#xff1a;https://www.nowcoder.com/questionTerminal/0f6976af36324f8bab1ea61e9e826ef5 来源&#xff1a;牛客网 [编程题]分解因数 热度指数&#xff1a;8605时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒空间限制&#xff1a;…

臻图信息:数字技术推动智慧楼宇开启新模式

近年来&#xff0c;在数字技术的迅速发展下&#xff0c;正在深刻影响着各行各业的发展趋势。现代建筑行业已经随着通信技术、AI 智能技术、计算机技术的发展&#xff0c;向着新的发展模式开始转变。 借助数字孪生技术构建数字化、流程化的物联网平台&#xff0c;新的智能楼宇建…

串口通讯详解

目录 一、串口通讯简介&#xff1a; 二、串口通信基本原理&#xff1a; 三、通信方式 四、串口通信特点 一、串口通讯简介&#xff1a; &#xff08;1&#xff09;串口通讯是指通过串口进行数据传输的一种通讯方式&#xff0c;通过数据信号线、地线等&#xff0c;按位进行传输数…

【Python】实战:生成无关联单选问卷 csv《社会参与评估表》

目录 一、适用场景 二、业务需求 三、Python 文件 &#xff08;1&#xff09;创建文件 &#xff08;2&#xff09;代码示例 四、csv 文件 一、适用场景 实战场景&#xff1a; 问卷全部为单选题问卷问题全部为必填问题之间无关联关系每个问题的答案分数不同根据问卷全…

论文阅读:DLME = Deep Local-flatness Manifold Embedding

Author: Zelin Zang, Siyuan Li, Di Wu and Stan Z Li. 1-4: Westlake University 摘要 流形学习&#xff08;ML, Manifold learning&#xff09;旨在从高维数据中识别低维结构和嵌入&#xff0c;然而我们发现现有工作在采样不足的现实数据集上效果不佳。一般的ML方法对数据结…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器&#xff0c;map&#xff0c;set是关联式容器。序列式容器的特点就是数据线性存放&#xff0c;而关联式容器的数据并不是线性&#xff0c;数据之间有很强的关系。 它们的底层是平衡…

P1038 [NOIP2003 提高组] 神经网络

题目背景 人工神经网络&#xff08;Artificial Neural Network&#xff09;是一种新兴的具有自我学习能力的计算系统&#xff0c;在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向&#xff0c;兰兰同学在自学了一本神经网络的…