ROS学习经验——Linux环境搭建与ROS系统安装

写在开始之前

项目中使用到ROS系统做SLAM和导航,本人第一次接触Linux系统和ROS系统,看过一些书籍文章之后觉得二者很有意思,便记录下来供后期复习。

ROS系统简介

机器人是综合机械设备、传感器、驱动程序、算法的综合性平台,为了避免在机器人的开发中出现重复造轮子的问题,缩短机器人的开发周期,机器人操作系统(Robot Opreating System,ROS)作为开源的跨平台的机器人开发环境应运而生。ROS系统并非是一个独立的操作系统,而是基于Windows、Linux等操作系统的一个开发环境,实际上ROS并不负责具体功能的代码编写,具体功能实现还是要使用C++、Python等计算机语言,但是ROS可以将已经测试完成的功能以功能包的形式封装起来,便于开发者之间共享自己的功能包,而且都是开源免费的。
ROS的核心功能是将软件编写的功能做成一个个节点,节点之间可以通过发送信息进行沟通,这些节点可以分布的一台主机上,也可以分布在不同的主机上,由master节点统一调度(ROS2中取消了master)。

ROS的官方社区:
查看各种使用说明:http://wiki.ros.org/
可以搜索各种问题的解决方案或者直接提问:https://answers.ros.org/questions/
中文交流平台:http://fishros.com/#/fish_homehttps://www.guyuehome.com/

个人目前阅读的书籍:
《ROS教育机器人实训教程》西北工业大学出版社 蒋建军等
《机器人SLAM导航核心技术与实战》机械工业出版社 张虎
《移动机器人同步定位与地图构建》国防工业出版社 Juan-Antonio等
《ROS机器人开发技术基础》化学工业出版社 蒋畅江等

Linux环境搭建:Ubuntu

ROS支持多操作系统,但是对其源生的Ubuntu Linux支持性是最好的,故建议在Ubuntu系统上安装ROS。
ROS系统随着Ubuntu系统的更新而更新,每个Ubuntu版本都对应相应的ROS版本,具体如下图所示:
ROS版本与Ubuntu版本对应关系
*图片来源:https://blog.csdn.net/maizousidemao/article/details/119846292
如今ROS正在主推ROS2,开发团队也已经宣布不再推出新的ROS版本,后续将转向对ROS2的经营,但学习ROS对于学习ROS2也会有很大的帮助,并且目前在市面上ROS的运用场景还是很多的。

Ubuntu系统下载

ROS机器人的开发需要主控板和工作台都搭载Ubuntu系统,主控板(树莓派、Jetson Nano等)负责对机器人的控制,工作台(一般是笔记本电脑)便于自己操作。
我的笔记本上是在虚拟机中安装的Ubuntu 18.04,搭建过程参考以下文章:

https://blog.csdn.net/qq_43377653/article/details/126877889

版本的选择参考上面的表格。

ROS系统安装

ROS系统的安装可以参考官网教程:

http://wiki.ros.org/ROS/Installation

也可以参考该文章:

https://blog.csdn.net/qq_43313298/article/details/124187225

对初学者很友好的一键安装工具,由鱼香ROS大佬开发的工具,一行代码解决烦恼:

https://fishros.org.cn/forum/topic/20/%E5%B0%8F%E9%B1%BC%E7%9A%84%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E7%B3%BB%E5%88%97?lang=zh-CN

在安装完成之后,启动一个终端ctrl+alt+t
1、启动master节点:

roscore

2、然后另启一个终端启动小海龟仿真节点:

rosrun turtlesim turtlesim_node

此时自动弹出一个小海龟仿真窗口
3、接着另启一个终端启动小海龟控制节点:

rosrun turtlesim turtle_teleop_key

此时可以用键盘右下角四个键上、下、左、右控制小海龟移动
若上述测试成功运行,则证明ROS安装成功

如果觉得多次启动终端太麻烦,分享一个小工具terminator,该工具可以分割终端窗口,安装命令:sudo apt-get install terminator
不太放心可以参考该文章:https://blog.csdn.net/qq_34761779/article/details/126801202

Linux的操作很多都是在命令行进行,但是命令很多难以记住,可以参考这里:https://blog.csdn.net/weixin_44191814/article/details/120091363

猜你喜欢

转载自blog.csdn.net/m0_48639942/article/details/129966958