ROS与无人驾驶学习笔记(一)——ROS基本操作

文章目录

  • ※ 安装ubuntu
    • · 下载
    • · 创建虚拟机
    • · 安装系统
    • · 安装vmware tool
    • · 更新源
    • · 安装常用软件
  • ※ 安装ROS
    • · 设置软件更新
    • · 使用清华源安装
    • · ros测试
  • 认识ROS
    • · ROS特点
    • · ROS系统实现
    • · ROS安装


工作需要,转行做码农了。。。
大概是无人驾驶相关的,啥都不会。。。
看成败,人生豪迈,只不过是从头再来。。。。。。

❤ 2024.9.10 ❤
首先从啥是ROS开始学。。。

我选择教程是深蓝学院的《机器人操作系统ROS理论与实践》,主讲人是胡春旭,也就是传说中的“古月居”的博主。

※ 安装ubuntu

为了学习ros,我打算在虚拟机里安装ubuntu

为了版本统一,我选择18.04

操作流程参考这篇文章
→→→【ubuntu18-VMware安装和配置】

· 下载

在这里插入图片描述


· 创建虚拟机

在这里插入图片描述


· 安装系统

在这里插入图片描述


· 安装vmware tool

· 更新源

在这里插入图片描述


· 安装常用软件

vim、GCC、vscode、等


※ 安装ROS

安装好ubuntu之后就是安装ros,ros的版本和ubuntu需要对应

这里参考这篇文章的流程安装

→→→【Ubuntu18版本安装ROS】

· 设置软件更新

在这里插入图片描述


· 使用清华源安装

○ 设置安装源

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

○ 设置key

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

○ 安装

更新软件包索引

sudo apt update

然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception,直接安装FULL完全安装就可以,直接复制

sudo apt install ros-melodic-desktop-full

配置环境变量

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

安装构建依赖

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

○ 初始化ros

按照博主所说,这一步是出问题的高发期

首先试一试这个指令

sudo rosdep init

显示这个提示
在这里插入图片描述
大概意思是成功了?

按照他的提示

rosdep update

在这里插入图片描述
尝试博主提供的方法

sudo apt-get install python3-pip 
sudo pip install rosdepc

提示

在这里插入图片描述

试试这个

sudo pip3 install rosdepc

OK
然后

sudo rosdepc init
rosdepc update

大佬威武!
在这里插入图片描述

· ros测试

打开三个独立的终端,记住是3个终端!!!(ctrl + alt + T 启动3次)

命令界面1键入:roscore

命令界面2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)

命令界面3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)

在这里插入图片描述
这样就成功了吧?
可是为啥我的小乌龟不会动啊,我用的虚拟机,跟这个有关系么?

认识ROS

· ROS特点

○ 点对点设计
○ 多语言支持
○ 架构精简、集成度高
○ 组件化工具包丰富
○ 免费且开源

在这里插入图片描述


· ROS系统实现

在这里插入图片描述

在这里插入图片描述

※ 什么是RPC通信
在这里插入图片描述
→→→【什么是RPC?有哪些RPC框架?】

在这里插入图片描述

在这里插入图片描述

※ 如果没有及时更新参数,可能会出错

○ 话题与服务的区别

在这里插入图片描述


· ROS安装

安装过程参见上面的内容

○ ros测试

○ ros常用指令

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arthas简单应用

背景说明 项目上某个接口响应时间过长,需要查看方法耗时情况进行优化 安装配置 访问下载页进行下载:下载 | arthas 调整文件位置进行解压缩 - 查看arthas帮助命令(非必须,官网文档更详细) C:\tools\arthas\4.0.1\b…

IvorySQL 3.4 来了

9 月 26 日,IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。 IvorySQL 3.4 发版说明 IvorySQL 3.4 基于 PostgreSQL 16.4,修复了多个问题,并增强多项功能。 PostgreSQL 16.4 的变更 在未经授权时防止 pg_dump 执行,并引入一…

MMD模型一键完美导入UE5-VRM4U插件方案(一)

1、下载pmx模型 1、去模之屋官网下载MMD模型,模之屋 2、下载完成得到pmx和Texture文件 2、下载并启用VRM4U插件 1、下载VRM4U插件, VRM4U,点击Latest下载对应引擎版本 2、将插件放到Plugins目录,然后

Git GUI操作流程

1,点击运行 Gt GUI 2,界面如下 3,点击Creat new Repository或者在菜单栏点击Repository--new 4,点击Browse选择目录,点击create,创建本地git仓库 5,对应盘里生成一个.git文件,用于版本管理 6&am…

随记——机器学习

前言 本来有个500块钱的单子,用机器学习做一个不知道什么鸟的识别,正好有数据集,跑个小项目,过一下机器学习图像识别的流程,用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集,直接…

基于SpringBoot校园失物招领系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 本课题的作用、意义,在国内外的研究现状和发展趋势,尚待研究的问题 作用:本课题的目的是使失物招领信息管理清晰化,透明化,便于操作,易于管理。通过功能模…

vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色

1、有的时候我们会用到颜色的选择器,像element-plus提供了,但是ant-design-vue并没有: 这个暂时没有看到: 但是Ant Design 5的版本有,应该不是vue的。 2、使用第三方提供的vue3-colorpicker:storybook/cli…

【Gitee自动化测试3】Git的本地使用,和在Gitee上使用

一. 创建版本库 存放项目,项目的删除更改,版本库都能够监控。 创建一个文件夹(不要包含中文路径),右键选择Git Bash Here(打开Git终端) 输入git init 对文件夹进行版本库的初始化,…

【CSS】背景

background-color 颜色background-image 图像background-size 缩放background-repeat 平铺background-position 定位background-clip 裁剪区域background-origin 开始区域background-attachment 滚动方式 background-color 颜色 <style>div{width: 200px;height: 100px;…

LeetCode - 850 矩形面积 II

题目来源 850. 矩形面积 II - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个轴对齐的二维数组 rectangles 。 对于 rectangle[i] [x1, y1, x2, y2]&#xff0c;其中&#xff08;x1&#xff0c;y1&#xff09;是矩形 i 左下角的坐标&#xff0c; (xi1, yi1) 是该…

【机器学习】探索LSTM:深度学习领域的强大时间序列处理能力

目录 &#x1f354; LSTM介绍 &#x1f354; LSTM的内部结构图 2.1 LSTM结构分析 2.2 Bi-LSTM介绍 2.3 使用Pytorch构建LSTM模型 2.4 LSTM优缺点 &#x1f354; 小结 学习目标 &#x1f340; 了解LSTM内部结构及计算公式. &#x1f340; 掌握Pytorch中LSTM工具的使用. &…

【react案例】实现评论列表

1. 需求 展示评论列表实现删除功能 2.1 只有自己的评论才展示删除按钮 2.2 点击删除按钮&#xff0c;删除当前评论tab切换&#xff08;点击对应tab&#xff0c;对tab文案高亮处理&#xff09;评论高亮评论排序&#xff08;最新、最热&#xff09; 2. 实现思路 useState维护评…

【小程序】uniapp自定义图标组件可动态更换svg颜色

组件描述 通过图标名称加载对应svg&#xff0c;size参数调整图标大小&#xff0c;color参数调整图标颜色 解决思路&#xff1a; 存svg获svg&#xff0c;对象方式正则替换svg的fill值&#xff0c;不改变源文件&#xff0c;通过base64直接加载缓存svg源文件&#xff0c;避免重…

Android 通过自定义注解实现Activity间跳转时登录路由的自动拦截

应用场景 在Android 中部分软件需要登录才能使用&#xff0c;但是有的页面又不需要登录&#xff0c;Android不同于Web可以直接拦截重定向路由&#xff0c;因此如果在Android中如果需要检测是否登录&#xff0c;如果没登录跳转登录的话就需要再每个页面中判断&#xff0c;当然也…

Leetcode面试经典150题-39.组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如…

高级算法设计与分析 学习笔记9 跳表

单链表的样子我们很熟悉了&#xff1a; 怎么加快查找&#xff1f;&#xff1a; 查找的具体方法&#xff1a; 超过了就回头下去。 这条“快速路”最好是几个节点呢&#xff1f;&#xff1a; 假如我们弄好多层跳表呢&#xff1f;&#xff1a; 给弄成2叉树了&#xff01; 如何插入…

堆的数组实现

目录 一、堆 二叉树的顺序结构 堆的概念及结构 1.概念 2.堆的分类 (1)大堆 (2)小堆 二、利用数组(顺序结构)实现堆的过程 1.利用数组实现堆的思路 2.堆是用数组实现的&#xff0c;在数组中通过双亲找自己左右孩子、通过左右孩子找自己双亲的思路 2.1.思路 2.2.孩子与…

【YashanDB知识库】YMP迁移oracle不兼容给用户授权高级包

本文转自YashanDB官网&#xff0c;具体内容请见https://www.yashandb.com/newsinfo/7441382.html?templateId1718516 【标题】YMP迁移oracle不兼容给用户授权高级包 【关键字】oracle迁移&#xff0c;高级包授权 【问题描述】迁移评估任务中&#xff0c;oracle迁移YashanDB…

FOC电机驱动开发踩坑记录

关键技术 SVPWM电机磁场控制电流采样park变换和Clark变换滑膜观测器&#xff08;无感FOC&#xff09; SVPWM电机磁场控制 SVPWM主要思想是通过精确的对UVW三相电流的分时控制&#xff0c;来控制转子的合成力矩&#xff0c;达到目标方向&#xff0c;常用的是6分区的设计&…

RabbitMQ 高级特性——重试机制

文章目录 前言重试机制配置文件设置生命交换机、队列和绑定关系生产者发送消息消费消息 前言 前面我们学习了 RabbitMQ 保证消息传递可靠性的机制——消息确认、持久化和发送发确认&#xff0c;那么对于消息确认和发送方确认&#xff0c;如果接收方没有收到消息&#xff0c;那…