【ROS机器人入门】1.1 ROS概念及环境配置

这篇具有很好参考价值的文章主要介绍了【ROS机器人入门】1.1 ROS概念及环境配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


ROS=Plumbing+Tools+Capabilities+Ecosystem

ROS设计目标

代码复用:ROS的目标不是成为具有最多功能的框架,ROS的主要目标是支持机器人技术研发中的代码 重用。

分布式:ROS是进程(也称为Nodes)的分布式框架,ROS中的进程可分布于不同主机,不同主机协同工 作,从而分散计算压力 。

松耦合:ROS中功能模块封装于独立的功能包或元功能包,便于分享,功能包内的模块以节点为单位运 行,以ROS标准的IO作为接口,开发者不需要关注模块内部实现,只要了解接口规则就能实现复用,实现 了模块间点对点的松耦合连接 。

精简:ROS被设计为尽可能精简,以便为ROS编写的代码可以与其他机器人软件框架一起使用。ROS易 于与其他机器人软件框架集成: ROS已与OpenRAVE, Orocos和Player集成。

语言独立性:包括Java, C++, Python等。为了支持更多应用开发和移植,ROS设计为一种语言弱相关 的框架结构,使用简洁,中立的定义语言描述模块间的消息接口,在编译中再产生所使用语言的目标文 件,为消息交互提供支持,同时允许消息接口的嵌套使用 。

易于测试:ROS具有称为rostest的内置单元/集成测试框架,可轻松安装和拆卸测试工具。

大型应用: ROS适用于大型运行时系统和大型开发流程。

丰富的组件化工具包:可采用组件化方式集成工具和软件到系统中作为一个组件直接使用。如RVIZ (3D可视化工具),开发者根据ROS定义的接口在其中显示机器人模型等,组件还包括仿真环 境和消息查看工具等 。

免费且开源:开发者众多,功能包多

系统要求

系统:ubuntu 20.04

本人原本使用的是ubuntu22,但似乎新版本不稳定,在vm上经常宕机

ROS1 版本:ROS Noetic
Noetic(2020发布)支持python 3
Noetic之前支持python 2

配置步骤

首先在软件和更新处,勾选下面
【ROS机器人入门】1.1 ROS概念及环境配置

1. 设置安装源

如果是国内用户,建议使用镜像源,这样可以保证后续的下载速度。

	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'

2. 设置ROS软件Key

如果还没安装curl的话,执行下面语句

	sudo apt install curl

安装curl命令,如果你的ubuntu安装很慢,那你可能需要在ubuntu软件与更新中设置国内镜像,选择阿里、腾讯或者中科大其中一个作为你的镜像。
【ROS机器人入门】1.1 ROS概念及环境配置
继续输入:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

3. 更新软件包

sudo apt-get update

4. 安装完整版ROS Noetic软件

sudo apt-get install ros-noetic-desktop-full

5. 配置ROS环境

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

6. 安装构建依赖

sudo apt-get install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

7.1 安装rosdep(7.1与7.2任选其一)

sudo apt install python3-rosdep

初始化rosdep

sudo rosdep init
rosdep update

但是7.1方法在rosdep初始化时,多半会抛出异常
原因是境外资源被屏蔽了

解决方法

  1. 进入资源路径中,找到
cd /usr/lib/python3/dist-packages/
find . -type f | xargs grep "raw.githubusercontent"

第一个文件:

sudo gedit ./rosdistro/__init__.py

将下面的红色框框替换成gitee.com/zhao-xuzuo/rosdistro/raw/master
【ROS机器人入门】1.1 ROS概念及环境配置替换第二个文件:

sudo gedit ./rosdep2/gbpdistro_support.py

注意下图要保留https://
【ROS机器人入门】1.1 ROS概念及环境配置
第三个文件:

sudo gedit ./rosdep2/sources_list.py

【ROS机器人入门】1.1 ROS概念及环境配置第四个文件:

sudo gedit ./rosdep2/rep3.py

【ROS机器人入门】1.1 ROS概念及环境配置完成上述步骤后,就可以运行下面命令了

sudo rosdep init
rosdep update

7. 2 安装rosdepc(7.1与7.2任选其一)

这是国内大佬做的rosdep镜像,可以绕开连接不上服务器的困难过程。

sudo apt install python3-pip

在安装了pip之后,需要对其进行换源,使用国内源能够更快下载文件

mkdir ~/.pip
cd ~/.pip
touch pip.conf
sudo gedit ~/.pip/pip.conf

在弹出的文件中写入

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ 
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

安装rosdepc

sudo pip install rosdepc
sudo rosdepc init
rosdepc update

8. 尝试运行海龟

apt install python3-roslaunch

启动roscore

roscore 
rosrun turtlesim turtlesim_node

测试ROS

  1. 首先启动三个命令行(ctrl + alt + T)
  2. 命令行1键入:roscore
  3. 命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)
  4. 命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动) 最终结果如下所示:

控制海龟时,光标需要聚焦在第4步的窗口上
【ROS机器人入门】1.1 ROS概念及环境配置

历史版本的安装

原因:由于nertic较之前版本变动较大,且部分功能包未更新,在后期实践阶段可能会遇到重要功能包未更新的情况,需要ros降级。

ros系统:melodic
Ubuntu 18.04

旧版本的环境配置与上文noetic的配置前5个步骤(包括第5个)大致一样,第4,5步稍微不同,这里从第4步进行讲解。

4. 安装完整版ROS melodic 软件

sudo apt install ros-melodic-desktop-full

5. 配置ROS环境

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

6. 安装构建依赖

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

7.初始化rosdep

sudo rosdep init
rosdep update

sudo rosdep init 可能会抛出异常
原因与noetic的7.1一样,境外资源被屏蔽了

解决方法:

  1. 将错误提示的域名进行查询:
    【ROS机器人入门】1.1 ROS概念及环境配置
  2. 记住中国香港这个ip : 151.101.76.133

【ROS机器人入门】1.1 ROS概念及环境配置

  1. 修改/etc/hosts 文件,命令:
sudo gedit /etc/hosts

添加内容,即查询到的ip(本目录第2个步骤)与域名

151.101.76.133 raw.githubusercontent.com

【ROS机器人入门】1.1 ROS概念及环境配置

  1. 重新执行下面命令
sudo rosdep init
rosdep update 

若在rosdep update抛出异常,基本是网络原因导致的,建议使用手机热点多尝试几次即可。

卸载ROS

sudo apt-get remove ros-noetic-*

参考资料

https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?spm_id_from=333.337.search-card.all.click&vd_source=b914a8de9ea8b12ba5cb6d8edd1b346c

https://blog.csdn.net/liaolizhou/article/details/123615925文章来源地址https://www.toymoban.com/news/detail-420955.html

到了这里,关于【ROS机器人入门】1.1 ROS概念及环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ROS2机器人入门到实战】ROS2话题入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 话题是ROS2中最常用的通信方式之一,话题通信采取的是订阅发布

    2024年02月04日
    浏览(66)
  • 【ROS2机器人入门到实战】ROS2服务入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,帅鱼又蹬蹬蹬的游回来了。本节小鱼将要带大家一起了解

    2024年02月07日
    浏览(61)
  • 【ROS2机器人入门到实战】

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 第 1 章 ROS2介绍与安装 基础篇-Linux基础 1.Linux与Ubuntu系统介绍 2.在

    2024年02月16日
    浏览(56)
  • 【ROS2机器人入门到实战】ROS2节点介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn ROS2中每一个节点也是只负责一个单独的模块化的功能(比如一个

    2024年02月06日
    浏览(57)
  • 【ROS2机器人入门到实战】ROS2接口介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 本节小鱼将会带你学习认识一个新的概念,叫做interface,即接口。

    2024年02月05日
    浏览(52)
  • 【ROS2机器人入门到实战】RVIZ2可视化移动机器人模型

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,我是小鱼,上一节讲完joint和link,我们来把我们上面定义

    2024年02月03日
    浏览(45)
  • 【ROS2机器人入门到实战】2.ROS与ROS2对比

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 经过上一节的学习,相信你已经对ROS和ROS2的发展有了一定的了解

    2024年02月04日
    浏览(48)
  • 【ROS2机器人入门到实战】4.ROS2初体验

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 通过几个简单的小例子来体验ROS2软件库和工具集。 游戏内容:很

    2024年02月04日
    浏览(73)
  • 【ROS2机器人入门到实战】3.动手安装ROS2

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 到了这一节,终于可以开始安装ROS2了。安装ROS2本来是一件比较麻

    2024年02月13日
    浏览(59)
  • 【ROS2机器人入门到实战】地图保存与编辑

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 可以看到有下面的用法 我们的地图话题为map,文件名字我们用f

    2024年02月03日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包