前言
安装ROS之前,我们需要先安装虚拟机和ubuntu,这里我安装的是ubuntu18.04,这个大家网上找教程安装就可以。
本次记录主要是为了学习视觉引导机器人机械臂的抓取,在此之前需要安装好ROS系统,但在安装过程中遇到一些问题就此记录一下并和大家分享。
参考博客:虚拟机安装+Ubuntu安装+ROS安装
建议在安装之前,怕损坏ubuntu或者担心安装不好,可以使用快照功能,有了快照就不怕失败(大不了重开),具体操作可参考:虚拟机快照详解
ROS(Robot Operating System)支持多个Ubuntu版本,但不是所有的ROS版本都支持所有的Ubuntu版本。ROS的支持版本通常会依赖于ROS的发行版和Ubuntu的发行版。以下是一些ROS版本和它们对应的Ubuntu版本的常见组合:ROS Kinetic Kame:
ROS Kinetic是支持Ubuntu 16.04 LTS的版本。
ROS Melodic Morenia:
ROS Melodic是支持Ubuntu 18.04 LTS的版本。
ROS Noetic Ninjemys:
ROS Noetic是支持Ubuntu 20.04 LTS的版本。
一、ROS安装
- 打开
软件和更新
,点击下图的下三角
,选择其他站点
,我们将下载源切换为ftp.sjtu.edu.cn
,然后输入密码
即可。
- 点击
关闭
,会弹出如下界面,点击重新载入
。
在这里报错了
细节展开,具体错误为:E:Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi’, E:Sub-process returned an error code
解决方案
sudo apt-get purge libappstream4
sudo apt-get update
回到软件和更新
,先切换到中国的服务器
,然后再切换回ftp.sjtu.edu.cn
,点击关闭
,就可以正常下载完成了。
- 设置安装源
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-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
- 更新升级列表
sudo apt update
- 成功之后就安装ROS了
sudo apt-get install ros-melodic-desktop-full
注意:ros-melodic-desktop-full中的melodic更换成自己ubuntu版本对应的Ros版本
这里出现如下报错:
下列软件包有未满足的依赖关系:
ros-melodic-desktop-full : 依赖: ros-melodic-desktop 但是它将不会被安装
依赖: ros-melodic-perception 但是它将不会被安装
依赖: ros-melodic-simulators 但是它将不会被安装
依赖: ros-melodic-urdf-sim-tutorial 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方案:
将所提到的四个依赖软件包进行aptitude安装:
sudo aptitude install ros-melodic-desktop ros-melodic-perception ros-melodic-simulators ros-melodic-urdf-sim-tutorial
这里参考博客:解决ros-melodic-desktop-full安装过程中未满足的依赖关系问题
- 安装rosdep
sudo apt-get install python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update
- 配置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 安装依赖
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
二、测试ROS
下面测试一下功能,如果可以使用则说明安装成功了。
roscore
出现如下报错:
这里参考博客:
roscore失败,chatgpt来解决“Traceback (most recent call last): File “/opt/ros/melodic/lib/python2…
使用以下两条命令
提示,将下面的zg换成你的用户账号
sudo mkdir -p /home/zg/.ros/
sudo chown -R zg:zg /home/zg/.ros/
接着重新打开ros
roscore
再打开一个终端,输入下面代码可以看见一个蓝色底的界面,中间有只乌龟
rosrun turtlesim turtlesim_node
保持以上两个终端打开,再打开一个终端,输入下面代码,就可以通过键盘上下左右控制乌龟运动
rosrun turtlesim turtle_teleop_key
提示:在打开第三个终端之后,想控制乌龟移动,需要鼠标点击第三个终端窗口(激活该窗口),然后键盘输入上下左右才能控制乌龟移动
至此ROS就安装完成了。