文章目录
前言
ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
一、ROS版本选择
操作系统为Ubuntu 18.04 LTS 64bit应采用ROS版本为 Melodic。
二、安装步骤
1.添加ROS软件源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.添加密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
3.更新可升级列表
sudo apt-get update
4. 安装ROS Melodic
sudo apt-get install ros-melodic-desktop-full
报错1:
下列软件包有未满足的依赖关系:
ros-melodic-desktop-full : 依赖: ros-melodic-perception 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方法1:
sudo apt-get install aptitude
sudo aptitude install ros-melodic-perception
再次运行进行安装:
sudo apt-get install ros-melodic-desktop-full
报错2:
E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/pool/main/r/ros-melodic-desktop-full/ros-melodic-desktop-full_1.4.1-0bionic.20220413.183028_amd64.deb 无法发起与 mirrors.tuna.tsinghua.edu.cn:80 (2402:f000:1:400::2) 的连接 - connect (101: 网络不可达)。
解决方法2:
sudo apt-get update
再次运行进行安装:
sudo apt-get install ros-melodic-desktop-full
成功
5.初始化rosdep
(1)运行:
sudo rosdep init
报错3:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
解决方法3:
步骤1:新建一个文件夹,并进入该文件夹,运行
sudo mkdir -p /home/hqlee/git/
cd /home/hqlee/git/
sudo git clone https://github.com/ros/rosdistro.git
步骤2:另打开一个终端,备份原文件,运行
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/main.py /usr/lib/python2.7/dist-packages/rosdep2/main.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/rep3.py /usr/lib/python2.7/dist-packages/rosdep2/rep3.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdistro/__init__.py /usr/lib/python2.7/dist-packages/rosdistro/__init__.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py.bak
步骤3:替换原文件的网址为本地下载的
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/main.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
将上述命令打开的文件中的 https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/hqlee/git/rosdistro
继续运行:
sudo rosdep init
报错4:ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
解决方法4:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
继续运行:
sudo rosdep init
成功
(2)运行:
rosdep update
报错5:
解决方法5:
备份并运行
sudo cp /etc/ros/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/20-default.list.bak
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
将上述命令打开的文件中的https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/hqlee/git/rosdistro
继续运行:
rosdep update
成功
6.设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7.安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
8.安装catkin编译器
sudo apt-get install ros-melodic-catkin python-catkin-tools
三、测试是否安装成功
打开三个终端分别运行以下三个命令
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
如出现小海龟则说明安装成功:
完结撒花!!!!!!!!!!!!!!!!!!!!!!!!!!!!
总结
上述是本人作为一个新手的安装过程,其中出现了不少的bug,特此把我遇到的问题和解决方法与大家分享一下,如果大家有其他什么安装问题欢迎在评论区留言,大家可以相互讨论一下!