当前位置: 首页 > news >正文

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常用指令

在这里插入图片描述

相关文章:

  • KRTS虚拟网络适配器和 Windows 连接
  • 相机、镜头参数详解以及相关计算公式
  • 2024 Python3.10 系统入门+进阶(十六):正则表达式
  • Eureka原理实践:构建高可用、可扩展的微服务架构
  • 《C++无锁编程:解锁高性能并发的新境界》
  • day01——登录功能
  • npm切换到淘宝镜像
  • Redis——缓存
  • 15年408-数据结构
  • Stable Diffusion绘画 | SDXL模型的优缺点及模型推荐
  • 【linux进程】进程状态僵尸进程孤儿进程
  • 遥感影像-语义分割数据集:山体滑坡数据集详细介绍及训练样本处理流程
  • 计算机毕业设计 基于Hadoop的智慧校园数据共享平台的设计与实现 Python 数据分析 可视化大屏 附源码 文档
  • 防火墙详解(二)通过网页登录配置华为eNSP中USG6000V1防火墙
  • Git 使用方法
  • [译]前端离线指南(上)
  • docker-consul
  • ES6 学习笔记(一)let,const和解构赋值
  • extract-text-webpack-plugin用法
  • gcc介绍及安装
  • Git学习与使用心得(1)—— 初始化
  • SwizzleMethod 黑魔法
  • vuex 学习笔记 01
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于组件的设计工作流与界面抽象
  • 人脸识别最新开发经验demo
  • 如何学习JavaEE,项目又该如何做?
  • 使用 Docker 部署 Spring Boot项目
  • 我这样减少了26.5M Java内存!
  • 最简单的无缝轮播
  • HanLP分词命名实体提取详解
  • ​2021半年盘点,不想你错过的重磅新书
  • ​人工智能书单(数学基础篇)
  • #QT(TCP网络编程-服务端)
  • #微信小程序(布局、渲染层基础知识)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • %@ page import=%的用法
  • (C++17) optional的使用
  • (Java数据结构)ArrayList
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)测试工具
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (七)glDrawArry绘制
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (一)基于IDEA的JAVA基础10
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • ****Linux下Mysql的安装和配置
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • *上位机的定义
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET企业级应用架构设计系列之开场白