第一篇:认识ROS

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对认识ROS做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


提示:以下是本篇文章正文内容

一、ROS提供了操作系统应有的服务

(1)硬件抽象
(2)底层设备控制
(3)系统支持的常用函数实现【防盗标记–盒子君hzj】
(4)进程间消息传递和包管理
(5)提供用于获取、编译、编写和跨计算机运行 代码所需的工具和库函数
.
.

1、一个目标

提高机器人开发中软件的复用率
.
.

2、五个特点

1、节点到节点通讯支持
分布式网络、RPC(服务)+TCP/UDP(话题)通讯系统、适合多机协同机制

2、多语言支持
程序接口和语言无关(编译过后)支持python\c\java等语言【防盗标记–盒子君hzj】

3、架构精简,集成度高
每个节点可以单独进行编译、有众多的开源项目支持、接口统一、软件复用率高

4、组件化工具包丰富
3D可视化工具–rviz、物理仿真环境–gazebo、数据记录工具rosbag、qt工具箱–rqt_*

5、开源且免费
可商用、和良好的生态系统
.
.

二、ROS系统(本身)框架

1.节点计算图(运行自己设计的程序,节点和节点的关系)

–节点(node)
–节点管理器(ROS Master)
–话题(Topic)通讯(多对多,速度慢、用于数据传输)
–服务(Service)通讯(一对多、速度快,用于逻辑处理)运行多个程序
.

2.文件系统(运行多个程序功能包)

–功能包内容
1、功能包清单
2、消息类型
3、服务类型
4、代码【防盗标记–盒子君hzj】
5、其他
.

3.开源社区(借鉴别人的工程)

1、发行版:ROS发行版包括一系列带有版本号、可以直接安装的功能包
2、软件源(Repository):ROS依赖于共享网络上的开源代码,不同组织机构可以开发或者共享自己机器人上的软件
3、ROS wiki:记录ROS信息文档的主要论坛
4、邮件列表(Mailing list):交流ROS更新的主要渠道和疑问
5、ROS answers:咨询ROS相关问题的网站
6、博客(Blog):发布ROS社区的新闻、图片、视频
7、ROS Tutorials:ROS的经典教程
.
.

三、安装ROS系统步骤

1.参考百度和ROS Wiki

1、安装源【一定要用中国的源】
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

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

3、更新,确保使用最新的库
sudo apt-get update

4、安装ROS包
sudo apt-get install ros-kinetic-desktop-full

5、解决依赖
sudo rosdep init【打不开网站的话是网络的问题,试试用手机热点,试试换换源,试试不同时间段,同个命令多尝试几次】
rosdep update

6、环境设置
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

7、安装rosinstall,便利的工具
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

8、卸载Kinetic,卸载成功的效果:就是/opt下的ROS文件夹Kinetic被删除
sudo apt-get remove ros-kinetic-*

9、创建工作空间,并设置环境变量

【防盗标记–盒子君hzj】

2.参考知乎

https://zhuanlan.zhihu.com/p/165484889
https://zhuanlan.zhihu.com/p/351747589
.
.

ROS默认安装在计算机文件夹下的opt/ros

bin文件夹(放置ROS中可执行的文件和指令,在终端中可以调用执行【先设置环境变量】)

etc文件夹(用的一般比较少)【防盗标记–盒子君hzj】

include文件夹(放置用终端安装的功能包的头文件.h)

lib文件夹(放置用终端安装的功能包的可执行程序【节点】)

share文件夹(放置用终端安装的功能包的接口信息)

.
.
.

四、启动/退出roscore(仅仅是试一试装成功没有)

(1)启动:直接在终端输入roscore
(2)退出: ctrl+c直接roscore

.
.
.

五、小海龟例程(就帮助你怎么理解话题,看看效果,用一用命令行查一查)

步骤如下:
1、启动ROScore
2、启动小海龟仿真器【启动第二个终端】
3、启动小海龟控制节点【启动第三个终端】【防盗标记--盒子君hzj】
4、查看计算图rqt_gragh
rosout是ROS中必须存在的节点,用于订阅所有的话题,日志
把debug的节点隐藏掉,目标节点更清晰

5、使用rosnode list可以查看ros运行的所有节点

6、使用rosnode info 可以查看ros运行的具体信息
--节点名字
--订阅的东西
--发布的东西
--使用的服务

7、使用rqt_plot监听数据的变化
/输入 话题的参数。在界面中的topic界面上输入要监听的话题

六、ROS的应用情况

1、ROS1.0的特点

ROS1.0已经是一个多年的产品了,生态环境也不错,已经成为了机器人行业的一个标准了,但是ROS1.0的漏洞还是很多,存在安全性的问题

2、ROS2.0改进的地方

1、支持多机器人系统
2、跨平台部署
3、支持实时控制(DDS通讯框架)【防盗标记–盒子君hzj】
4、支持微控制器控制
5、引入项目生命周期的管理

一、为什么要推出ROS2【重构ROS1】

ROS设计了一整套通信机制(话题、服务、参数、动作)
在这里插入图片描述

随着ROS不断的添加新功能,ROS变得越来越臃肿,祖传代码也越来越多。ROS开发人员发现在原有的ROS架构上修修补补十分消耗头发,ROS官方也重新设计制作了ROS2。

.
.

二、ROS1存在的问题

1、主节点不稳定就会造成整个系统通信的异常
2、通信基于TCP实现,实时性差、系统开销大
3、对Python3支持不友好,需要重新编译
4、消息机制不兼容
5、没有加密机制、安全性不高

.
.

三、ROS1与ROS2架构对比

在这里插入图片描述

.
.

四、ROS2新概念例举

1、可用Python编写的Launch文件
2、多机器人协同通信支持
3、支持安全加密通信
4、同一个进程支持多个节点
5、使用ament进行包管理
6、支持Qos服务质量
7、支持节点生命周期管理
8、高效的进程间通信

.
.

五、ROS2安装版本(foxy–ubuntu 20.04)

1、ROS安装方式

(1)快速安装
wget http://fishros.com/install -O fishros && bash fishros

(2)手动安装
参考教程
https://fishros.com/d2lros2/#/chapt2/2.3ROS2的安装

注意:ROS1和ROS2不能混装

.
.

六、一些基本的操作

1、学会通过命令行安装软件和ROS2相关的包
几乎和ROS1的方法是一致的

.

2、启动一个节点

source install/setup.bash
ros2 run <package_name> <executable_name>
ros2 run 包名字 可执行文件名字

.

3、Colcon编译器
ROS2默认是没有安装colcon的吗,手动安装指令

sudo apt-get install python3-colcon-common-extensions

编译工程

colcon build

.
.
4、ROS2的launch文件改进
ROS2的launch文件有三种格式,python、xml、yaml。其中ROS2官方推荐的时python方式编写launch文件。 原因在于,相较于XML和YAML,Python是一个编程语言,更加的灵活,我们可以利用Python的很多库来做一些其他工作(比如创建一些初始化的目录等)


参考资料

fishros.com

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装ROS指令主要分为以下几步: 1. 添加ROS软件源:首先需要在系统中添加ROS软件源。可以通过下面的指令将ROS软件源添加到 /etc/apt/sources.list.d/ros-latest.list 文件中。 ``` $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2. 添加ROS公钥:接下来需要添加ROS公钥,以确保软件包的完整性和安全性。使用以下命令下载并添加ROS公钥: ``` $ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 ``` 3. 更新软件包索引:添加ROS软件源和公钥后,需要更新软件包索引以确保可以安装最新版本的ROS软件包。使用以下命令更新软件包索引: ``` $ sudo apt-get update ``` 4. 安装ROS:现在可以安装ROS了。使用以下命令安装ROS完整版: ``` $ sudo apt-get install ros-melodic-desktop-full ``` 5. 初始化rosdep:在使用ROS之前,需要初始化rosdep,它用于管理ROS软件包之间的依赖关系。使用以下命令初始化rosdep: ``` $ sudo rosdep init $ rosdep update ``` 6. 设置环境变量:为了能够正确地使用ROS,需要设置ROS环境变量。可以将以下命令添加到 ~/.bashrc 文件中: ``` $ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc $ source ~/.bashrc ``` 7. 安装ROS工具:最后,可以安装一些ROS工具,以便更方便地使用ROS。例如,可以使用以下命令安装ROS可视化工具rviz和ROS包管理器rosdep: ``` $ sudo apt-get install ros-melodic-rviz ros-melodic-rosdep ``` 完成上述步骤后,ROS就已经安装完成了。可以使用roscore命令启动ROS核心,并开始使用ROS

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒子君~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值