1. ROS 1.0 系统简介及安装

1.1 ROS系统简介

ROS系统,即机器人操作系统(Robot Operating System),在2007年由斯坦福大学人工智能研究室和Willow Garage公司合作开发。ROS是专为机器人软件开发设计的一套电脑操作系统架构,通常部署运行在Linux操作系统上。ROS被广泛应用于机器人研究及商品开发中,在无人驾驶汽车,无人机,服务机器人等领域,ROS被广泛的应用。同时,ROS作为一个开源的元级操作系统,ROS也拥有一个活跃的社区环境,为开发者提供了丰富的技术资源和支持。

1.2 安装环境

本文主要介绍在Ubuntu 20.04 系统上安装ROS1.0 的Noetic 版本,Ubuntu和ROS系统间存在兼容性要求,以下是一些Ubuntu版本对应的推荐安装ROS版本(本文只涉及ROS1.0 版本的安装推荐,ROS2.0安装请自行搜索)

Ubuntu 版本 ROS 1.0 推荐安装版本
Ubuntu 14.04 ROS Indigo Igloo
Ubuntu 16.04 ROS Kinetic Kame
Ubuntu 18.04 ROS Melodic Morenia
Ubuntu 20.04 ROS Noetic

由于ROS1.0 版本只支持到Ubuntu 20.04 版本,故关于Ubuntu22.04 版本的ROS1.0 安装不在此文做介绍。

1.3 安装前准备

1.3.1 软件源更换

合适的软件源能够极大的提高我们的下载速度,由于Ubuntu本地源在国外,下载速度堪忧,建议更换国内的软件源进行下载,以提高下载速度。
Ubuntu采用apt作为软件安装的工具,其镜像源记录在 /etc/apt/source.list文件中,首先我们将source.list备份为source.list.old。

 sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

之后我们打开source.list文件

sudo nano /etc/apt/source.list

将原来的内容全部删掉或注释掉,换成下列任意一个镜像源
清华源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse

阿里源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

中科大源

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

输入

sudo apt-get update 

将软件源更新。

1.4. 安装ROS

在终端输入以下命令
添加ros软件源

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'

添加密钥

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

更新软件源

sudo apt-get update

安装ROS Noetic(此步骤建议根据不同的Ubuntu版本更换不同的ROS系统版本)

sudo apt install ros-noetic-desktop-full

初始化 ROS(这一步遇到错误可看后面的错误总结及解决方法)

sudo rosdep init

设置环境变量
这里根据系统版本的不同,可以将nortic更换为kinetic或者melodic

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

使环境变量生效

source ~/.bashrc

安装rosinstall

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

到这里ROS就是安装完成了,接下来我们测试以下ROS

1.4.1 小海龟验证测试

打开第一个终端输入

roscore

开启服务,出现一下界面
在这里插入图片描述
打开另一个终端,输入以下命令

rosrun turtlesim turtlesim_node

在这里插入图片描述
即可在窗口看到一只小海龟(每次打开小海龟都是不一样的哦)
打开第三个终端输入以下命令,即可控制用上下左右控制小海龟移动(鼠标需要放在命令终端内)

rosrun turtlesim turtle_teleop_key

在这里插入图片描述

1.5 安装过程中错误总结及解决方法

ROS初始化错误
1.找不到命令:
输入以下命令:

sudo apt install python3-rosdep2

2.ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
打开hosts文件

 sudo gedit /etc/hosts

添加以下内容

 199.232.28.133 raw.githubusercontent.com

3.ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
输入以下命令:

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

roscores时遇到错误
1.按照提示输入sudo apt install python3-roslaunch,完成安装即可

sudo apt install python3-roslaunch

2.未完全安装

 sudo apt install ros-noetic-desktop-full

3.环境变量未运行

       source /opt/ros/noetic/setup.bash

这些是我在安装过程中遇到的一些问题及解决方法,更多问题请参考下列文章
详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐