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

ROS 快速入门教程01

先做一个快速入门ROS的笔记,系统学习的ROS会在快速入门学习完后进行。

1. 什么是ROS

ROS (Robot Operating System),机器人操作系统是一种用于机器人软件开发的框架,它并不是一个传统意义上的操作系统,而是一个中间件,提供了一系列的工具和服务,用于简化机器人应用程序的开发过程。

1.1 初步认识ROS

核心架构与通信机制

  • 节点(Node)
    ROS 程序被划分成一个个小的可执行单元,称为“节点”。每个节点负责完成特定功能,例如传感器数据采集、路径规划、运动控制等。
  • 主题(Topic)/ 发布–订阅(Publish–Subscribe)
    节点之间可以通过“主题”来进行异步消息传递。某个节点将消息“发布(publish)”到一个主题,其他对该主题“感兴趣”的节点就能“订阅(subscribe)”并接收消息。
  • 服务(Service)
    对于需要请求-响应机制的场景(比如“请计算一下两点之间的最短路径”),ROS 提供了服务接口;调用方发起请求,执行方处理后返回结果。
  • 动作(Action)
    动作接口适用于长时间运行且可以反馈进度的任务(如“移动到指定位置”),支持预emption(中断)和反馈。
  • 参数服务器(Parameter Server)
    用来存储全局配置参数,如机器人的物理参数/配置文件路径等,所有节点都可以读取或修改。

版本演进:ROS1 vs ROS2

  • ROS1
    • 最早由 Willow Garage 在 2007 年推出,社区活跃,生态成熟;
    • 使用 Master 节点进行节点发现和名称解析;
    • 在实时性、安全性和跨平台支持(Windows、实时 Linux)上存在一些局限。
  • ROS2
    • 基于 DDS(Data Distribution Service)标准实现,无需集中式 Master,改进了实时性能和安全机制;
    • 原生支持多种操作系统(Linux、Windows、macOS)和实时内核;
    • 社区正逐步在新项目中推广,已有许多工业应用。

2. ROS安装

www.ros.org点击官方网站选择与自己ubuntu系统版本号相符合的ROS版本进行下载。
本机为ubuntu20.04,对应的是ROS-noetic这个版本。其余版本有以下对应关系。

ROS 发行版ROS 类型对应 Ubuntu LTS 版本
Indigo IglooROS 114.04 Trusty Tahr
Jade TurtleROS 114.04 Trusty Tahr
Kinetic KameROS 116.04 Xenial Xerus
Lunar LoggerheadROS 116.04 Xenial Xerus
Melodic MoreniaROS 118.04 Bionic Beaver
Noetic NinjemysROS 120.04 Focal Fossa
Dashing DiademataROS 218.04 Bionic Beaver
Eloquent ElusorROS 218.04 Bionic Beaver
Foxy FitzroyROS 220.04 Focal Fossa
Galactic GeocheloneROS 220.04 Focal Fossa
Humble HawksbillROS 222.04 Jammy Jellyfish
Iron IrwiniROS 222.04 Jammy Jellyfish

打开链接进入Noetic页面
根据页面提示进行更换。
在这里插入图片描述

  • 换源
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'
  • 设置秘钥
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
  • 安装
sudo apt update
sudo apt install ros-noetic-desktop-full
  • 环境设置
source /opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  • 检验是否安装完成
roscore

在这里插入图片描述
有以下弹出信息就证明安装完毕

3.APT源

在 ROS 的安装和使用过程中,APT(Advanced Package Tool)源用于方便地从软件仓库安装和更新 ROS 包。通过添加 ROS 的 APT 软件源,用户可以轻松地获取 ROS 的各种功能包和工具,并确保软件的安装和管理是简便且可靠的。
index.ros.rog打开网页找到适合自己的ros版本
在这里插入图片描述
在这里插入图片描述
最上方的软件包
安装软件包的方式一般为ros-ros版本-软件包名方式来下载安装。
以rqt_robot_steering 为例,
在这里插入图片描述

sudo apt install ros-noetic-rqt-robot-steering 

3.2 使用软件包

  • 新建一个终端窗口输入rosrun启动ros。
  • 再新建一个窗口输入
rosrun rqt_robot_steering rqt_robot_steering

注意,第一遍rqt是包名,第二遍rqt是节点名
在这里插入图片描述

  • 再打开一个终端程序
sudo apt install ros-noetic-turtlesim

安装小乌龟,再输入

rosrun turtlesim turtlesim_node

便可以用前面打开的rqt软件包来控制小乌龟的移动
在这里插入图片描述

4.开源自由市场github

  • 创建工作目录
mkdir catkin_ws
cd catkin_ws
mkdir src #创建代码目录
cd src
  • 下载git
sudo apt install git
  • 在src目录下克隆github开源项目
git clone https://github.com/6-robot/wpr_simulation.git

在这里插入图片描述

  • scripts目录放置脚本文件和Python程序
    打开scripts目录,并打开终端。依次运行./+脚本名
./install_for_noetic.sh
./install_for_melodic.sh
./install_for_kinetic.sh
  • 编译
cd ~/catkin_ws/
catkin_make
  • 配置环境
source ~/catkin_ws/devel/setup.bash
  • 运行包的功能
 roslaunch wpr_simulation  wpb_simple.launch 

在这里插入图片描述
我们可以用之前下载的软件包来控制仿真环境下的机器人移动

rosrun rqt_robot_steering rqt_robot_steering 

记得删去turtle1
在这里插入图片描述
在这里插入图片描述

此时就能控制机器人的移动

  • 保存工作空间环境
gedit ~/.bashrc
source ~/catkin_ws/devel/setup.bash

相关文章:

  • 基于大语言模型的减肥健身计划系统设计与实现
  • 《剥开卷积神经网络CNN的 “千层酥”:从基础架构到核心算法》
  • PostgreSQL性能调优与内核优化怎么做?
  • 【算法】双指针8道速通(C++)
  • 基于ssm的“安家”儿童福利院管理系统(源码+文档)
  • Missashe考研日记-day24
  • TDengine 集群高可用方案设计(一)
  • 零基础学Python——第八章:实战项目(1-3)
  • 黑阈免激活版:智能管理后台,优化手机性能
  • 数据库对象与权限管理-视图与索引管理
  • 广东食品销售初级考试主要考什么
  • 深度解析 Linux 内核中 fork 工作原理与实现机制
  • 如何让 vscode jupyter 访问 terminal 的环境变量?
  • 【数字图像处理】立体视觉基础(1)
  • CONDA:用于 Co-Salient 目标检测的压缩深度关联学习(翻译)
  • TM2SP-Net阅读
  • 一个关于相对速度的假想的故事-4
  • Buffer of Thoughts: Thought-Augmented Reasoningwith Large Language Models
  • 软考-高项,知识点一览十九 配置和变更管理
  • 数据结构:循环双链表的基本操作(不带头结点)C语言
  • 最高法改判一起植物新品种侵权案:判赔逾5300万元破纪录
  • 最高法知识产权法庭:6年来新收涉外案件年均增长23.2%
  • 江苏、安徽跨省联动共治“样板间”:进一扇门可办两省事
  • 国家数据发展研究院在京正式揭牌
  • 哈工大赵杰:人形机器人要拓展人的能力而非一味复制,未来产业要做成至少10年
  • 政治局会议:持续稳定和活跃资本市场