【ROS】机械人开发二--ROS环境安装

news2025/7/8 10:47:48

机械人开发二--ROS环境安装

  • 一、运行环境
  • 二、ROS-melodic安装
    • 2.1 设置软件源
    • 2.2 设置密钥
    • 2.3 安装ROS
    • 2.4 环境设置
    • 2.5 安装ROS的依赖环境
    • 2.6 初始化rosdep
  • 三、建立工作空间测试


一、运行环境

  • 树莓派4B-4G、VMware15
  • 系统都为ubuntu18.04
  • xshell

使用时,通过xshell同时连接虚拟机与树莓派,方法请看上一节:
【ROS】机械人开发一–树莓派安装ubuntu18.04


二、ROS-melodic安装

官方下载步骤链接:http://wiki.ros.org/cn/melodic/Installation/Ubuntu
树莓派和虚拟机都是这个安装步骤

2.1 设置软件源

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

这一步是为了将ROS的软件源添加到 /etc/apt/sources.list,我们通过这个专用软件源就可以下载到ROS相关的软件了,但是下载需要密钥。

2.2 设置密钥

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

完成这一步就可以从ROS软件源下载软件了

2.3 安装ROS

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

2.4 环境设置

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

将基本环境设置添加进启动环境内,每次新打开一个命令窗口时,都可以设置到环境

2.5 安装ROS的依赖环境

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

2.6 初始化rosdep

sudo rosdep init
rosdep update

第二步大概会报错

rosdep update报错


三、建立工作空间测试

首先,先创建工作空间的文件夹,工作空间的文件夹名字可以自定义,我这里自定义工作空间的名字为catkin_ws,文件夹的路径也可以自定义,这里选择是~/ros/目录下创建新的文件夹catkin_ws。创建文件夹建议使用命令行的方式去创建。

mkdir catkin_ws

其次,进入catkin_ws ,然后创建一个src的文件夹

cd catkin_ws
mkdir src

随后,进入src目录,使用命令 catkin_init_workspace,生成“CMakerLists.txt”文件

在这里插入图片描述
最后,返回 catkin_ws 目录,输入catkin_make 编译文件,可以看到生成了build 和 devel文件夹

到这里工作空间就算建好了,但是还需要设置环境变量,命令如下:

source devel/setup.bash
echo $ROS_PACKAGE_PATH

到这里本节就算结束了。
在这里插入图片描述

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

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

相关文章

10-1.WPF模板

10-1.WPF模板 控件由“算法内容”和“数据内容”决定 算法内容:指控件能展示哪些数据、具有哪些方法、能激发什么事件等,简而言之是控件的功能,一组相关逻辑数据内容:控件所展示的具体数据是什么 在WPF中,模板将数据…

Redis数据类型

1.String(字符串) 在任何一种编程语言中,字符串都是最基础的数据结构,在Redis中String是可以修改的称之为:动态字符串(简称SDS) Redis的内存分配机制: - 当字符串的长度小于1MB时,每次扩容都是加倍现有的空间 - 如果字…

离散数学:图的基本概念

本帖子讨论图的基本概念,这一章,我们将利用有序对和二元关系的概念定义图。图分为了无向图和有向图,他们有共性也有区别,请大家注意体会,用联系和辩证的观点去认识。 1、无向图和有向图 注意无向图和有向图的表示&…

Servlet【 ServletAPI中的会话管理Cookie与Session】

Servlet【 ServletAPI中的会话管理Cookie与Session】🍒一.回顾Cookie与Session🍎1.1 Cookie🍎1.2 Session🍎1.3Cookie 和 Session 的区别🍒二.Servlet会话管理操作🍎2.1核心方法🍒三.常见案例实…

【服务器搭建】教程一:没钱买服务器怎么玩 进来看

前言: 最近看到有一些网上的大佬把自己的爱心网页(没领到的小伙伴看一下前几篇文章)部署到了自己的服务器上,使得可以直接通过链接就实现访问。属实不错! 自己内心就产生了这样一个想法:购买一台服务器&a…

Whisper论文阅读笔记

Whisper论文阅读笔记Robust Speech Recognition via Large-Scale Weak Supervision1. 引言2. 方法2.1 数据处理2.2 模型2.3 多任务设置2.4 训练细节3. 实验结果3.1 Zero-shot3.2 多语言语音识别3.3 多语言机器翻译3.4 语种检测3.5 对加性噪声的鲁棒性3.6 长语音转录3.7 人类基线…

基于向量加权平均值的高效优化算法(Matlab代码实现)

📝个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,…

学习 RabbitMQ 这一篇就够了

文章目录一、MQ相关概念二、RabbitMQ相关概念三、安装四、HelloWorld五、工作队列5.1、轮询分发消息5.2、消息应答5.2.1、自动应答5.2.2、手动应答5.2.3、消息自动重新入队5.2.4、消息手动应答代码5.3、持久化5.4、不公平分发(能者多劳)5.5、预取值5.6、…

读书笔记3|使用Python,networkx对卡勒德胡赛尼三部曲之——《群山回唱》人物关系图谱绘制

读书笔记3|《群山回唱》-卡勒德胡赛尼 踉跄前行中,你总能在他们身上找到丢失的那一部分记忆。 一度看不下去这本书,因为最开始的章节里太痛了,加上我也离开我的孩子,生活已经够苦,我需要一点糖。这次实在太无聊了&…

php-上传图片加水印(文字水印图片水印)

img.php <?php $img 1.jpg; //获取图片信息 $info getimagesize($img); //获取图片类型 $type image_type_to_extension($info[2],false); //在内容中创建一个和图片一模一样的图片 $ext "imagecreatefrom{$type}"; //图片复制到内存中 $image $ext($img);…

基于SpringBoot前后端分离的网吧管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目…

PICO《轻世界》体验:随心畅玩,洒脱创作,潜力无限

不少玩家应该还记得&#xff0c;PICO 4发布会上曾宣布将在VR运动健身、VR视频、VR娱乐、VR创造四大方向展开内容布局。而目前&#xff0c;前三个完成了基本部署&#xff0c;在创造方向上则依托于刚刚上线的《轻世界》这款应用。《轻世界》是一款3D内容UGC创作产品&#xff0c;目…

php宝塔部署实战thinkphp考试平台管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 有个朋友发消息跟我说&#xff0c;在网上下载了一套thinkphp考试管理系统的源码&#xff0c;在搭建的时候遇到问题一直部署不起来&#xff0c;让我帮他看看&#xff0c;我看了下代码&#xff0c;里面有些部分代码…

2022年11月华南师范大学自考本科网络工程-本科实践题目

《互联网及其应用&#xff08;03142&#xff09;&#xff08;实践&#xff09;》课程试卷 答卷提交说明&#xff1a;编程代码与输出结果截图&#xff0c;放到一个文件中&#xff0c;文件以“序号 姓名 课程名 ”命名&#xff0c;本试卷有三门课程&#xff0c;请根据不同的课程…

k8s训练营

一、linux命名空间和docker 1.linux的7大ns--------------ipc,net,pid,mnt.uts.user 查看linux的ns lsns查看不同类型的ns [rootmaster ~]# lsns -t netNS TYPE NPROCS PID USER COMMAND 4026531956 net 116 1 root /usr/lib/systemd/systemd --system --deserialize …

公司代码全局参数设置及其意义

在SAP中配置公司时&#xff0c;会配置公司的全局参数&#xff0c;但这些参数具体的意思是什么估计很多同学都搞不懂&#xff0c;我也找了下资料&#xff0c;贴出来供大家参考。 设置参数路径&#xff1a;IMG→财务会计→财务会计全局设置→公司代码的全球参数→输入全局参数 账…

C++Qt开发——Linguist语言家

Qt Linguist 简介 Qt提供了一款优秀的支持Qt C和Qt Quick应用程序的翻译工具。发布者、翻译者和开发者可以使用这款工具来完成他们的任务。 发布者&#xff1a;承担了全面发布应用程序的责任。通常&#xff0c;他们协调开发者和翻译者的工作&#xff0c;可以使用lupdate工具…

激光雷达的厮杀18年:西方“诸神黄昏”,东方“新王隐现”

鼻祖、发明家、神童、梦想家、特种兵和中国双星&#xff0c;激光雷达“诸神混战”&#xff0c;行业疯狂洗牌。 风云激荡中&#xff0c;每个人都在亲身见证历史。 2004年&#xff0c;美国发起DARPA挑战赛&#xff0c;无人车上路&#xff0c;汽车上首次出现激光雷达。 2010年之…

原型工具墨刀的使用

刚开始接触原型工具是大学时候了&#xff0c;大学参加大创的时候第一次接触并使用原型工具做了小程序项目原型。那时候是下载的客户端。 最近&#xff0c;又开始思考在用户沟通过程中为方便沟通&#xff0c;可以先自己用原型工具简单的设计一下先。 首先&#xff1a;网页版好用…

JavaScript流程控制-循环(循环(for 循环,双重 for 循环,while 循环,do while 循环,continue break))

目录 JavaScript流程控制-循环 循环 for 循环 执行过程&#xff1a; 断点调试&#xff1a; 案例一&#xff1a;求1-100之间所有整数的累加和 案例二&#xff1a;求1-100之间所有数的平均值 案例三&#xff1a;求1-100之间所有偶数和奇数的和 案例四&#xff1a;求1-10…