ROS从入门到精通0-2:ROS简介、安装与常见问题

目录

; 0 专栏介绍

本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。

🚀详情:《ROS从入门到精通》

1 ROS简介

1.1 什么是ROS?

ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括

  • 硬件抽象
  • 底层设备控制
  • 常用函数的实现
  • 进程间消息传递
  • 包管理
  • 用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数

ROS从入门到精通0-2:ROS简介、安装与常见问题

; 1.2 为什么使用ROS?

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。简单来说就是避免重复造轮子。

ROS从入门到精通0-2:ROS简介、安装与常见问题
为什么ROS可以提高代码复用率?

因为ROS有 程序包功能包概念,类比与 C++python的库的概念,这些包易于被分享和发布,而且ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现完全模块化,同时,所有的工程都可以被ROS的基础工具整合在一起。

ROS从入门到精通0-2:ROS简介、安装与常见问题

除此之外,ROS还有以下优势:

  • 精简:ROS被设计为尽可能精简,易于与其他机器人软件框架集成
  • 语言独立性:为了支持更多应用开发和移植,ROS设计为一种语言弱相关的框架结构,中立的定义语言描述模块间的消息接口, JavaC++Python都可以进行ROS开发。
  • 大型应用:ROS适用于大型运行时系统和大型开发流程
  • 丰富的组件化工具包:ROS可采用组件化方式集成一些工具和软件到系统中并作为一个组件直接使用,如 RVIZGazebo等,后面都会介绍。
  • 免费且开源:开发者众多,功能包多

2 ROS发展历程

ROS是一个由来已久、贡献者众多的大型软件项目

在ROS诞生之前,很多学者认为,机器人研究需要一个开放式的协作框架,并且已经有不少类似的项目致力于实现这样的框架。

2007年, 柳树车库(Willow Garage)提供了大量资源,用于将斯坦福大学机器人项目中的软件系统进行扩展与完善,同时,在无数研究人员的共同努力下,ROS的核心思想和基本软件包逐渐得到完善。

ROS的 发行版本指ROS软件包的版本,其与Linux的发行版本(如Ubuntu)的概念类似。推出ROS发行版本的目的在于 使开发人员可以使用相对稳定的代码库,直到其准备好将所有内容进行版本升级为止。因此,每个发行版本推出后,ROS开发者通常仅对这一版本的bug进行修复,同时提供少量针对核心软件包的改进。

建议安装的发行版版本: noeticmelodickinetic

3 ROS安装

3.1 基本安装

ROS的安装步骤如下

  1. 设置软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 设置秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 更新软件源
sudo apt update
  1. 安装ROS(推荐安装桌面完整版安装——包含 ROSrqtrviz、2D/3D仿真器等)

sudo apt install ros-kinetic-desktop-full

sudo apt install ros-noetic-desktop-full

sudo apt install ros-melodic-desktop-full
  1. ROS环境变量配置

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

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

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
  1. 卸载ROS
sudo apt remove ros-*

3.2 初始化rosdep

rosdepROS一个命令行工具,用于安装 ROS系统依赖,在安装 ROS系统时, rosdep会自动安装,所以不需要单独安装,但需要初始化和更新。

sudo rosdep init
rosdep update

国内首次安装ROS在初始化rosdep的过程中90%会遇到超时失败错误,这里记录最新的解决方案。

进入rosdistro.git下载 rosdistro-master.zip,将其放在项目目录下,例如

~/Project/ROS

修改 20-default.list,执行:

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

将里面链接到 raw.githubusercontent.com的内容全部替换为链接到本地文件,最后 20-default.list的内容为:


yaml file:///home/winter/Project/ROS/rosdistro-master/rosdep/osx-homebrew.yaml osx

yaml file:///home/winter/Project/ROS/rosdistro-master/rosdep/base.yaml
yaml file:///home/winter/Project/ROS/rosdistro-master/rosdep/python.yaml
yaml file:///home/winter/Project/ROS/rosdistro-master/rosdep/ruby.yaml
gbpdistro file:///home/winter/Project/ROS/rosdistro-master/releases/fuerte.yaml fuerte

然后修改下面文件,同样将其中链接到 raw.githubusercontent.com的内容全部替换为链接到本地文件,每个文件当中都有一处需要修改。

1. /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
FUERTE_GBPDISTRO_URL = 'file:/

2. /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
REP3_TARGETS_URL = 'file:/

3. /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
DEFAULT_SOURCES_LIST_URL = 'file:/

4. /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
DEFAULT_INDEX_URL = 'file:/

3.3 测试ROS

终端输入

roscore

出现以下信息则成功运行ROS主管理器

ROS从入门到精通0-2:ROS简介、安装与常见问题
接着进行经典的 海龟测试,输入:
rosrun turtlesim turtlesim_node

出现海龟仿真器

ROS从入门到精通0-2:ROS简介、安装与常见问题

输入

rosrun turtlesim turtle_teleop_key

将鼠标聚焦在第三个终端窗口上,然后通过键盘上的方向键,操作小海龟移动,并在屏幕上留下轨迹

ROS从入门到精通0-2:ROS简介、安装与常见问题
至此表明ROS基本安装、配置成功。

4 常见问题

1.

roscore cannot run as another roscore/master is already running. Please kill other roscore/master processes before relaunching. The ROS_MASTER_URI is http://ubuntu:11311/ The traceback for the exception was written to the log file 解决方案:杀掉已有的ros节点管理器

killall -9 roscore && killall -9 rosmaster

2.

E: Unable to locate package ros-kinetic-desktop-full 解决方案:不同 ros发行版对应不同的 ubuntu版本: Ubuntu16.04对应 ros-kineticUbuntu18.04对应 ros-melodicUbuntu20.04对应 ros-noetic

ROS从入门到精通0-2:ROS简介、安装与常见问题
3.

rosdep: command not found 解决方案:安装 ros时没有自动安装 rosdep,手动安装


sudo apt-get install python3-rosdep

sudo apt-get install python-rosdep

🔥 更多精彩专栏

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

Original: https://blog.csdn.net/FRIGIDWINTER/article/details/124024791
Author: Mr.Winter`
Title: ROS从入门到精通0-2:ROS简介、安装与常见问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/794644/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球