Noetic是ROS1的最后一个长期支持版,再以后就只能用ROS2了,所以Noetic也成了从ROS1到ROS2的过渡。
使用VMware虚拟机上Ubuntu20.04安装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 update
sudo apt install ros-noetic-desktop-full
这一步的前提一定是换源,不然加载是很慢的,有可能是无法想象的慢。如果安装完成就是上图效果,重新输入安装指令,确认是最新版。
输入一下命令,先初始化:
sudo rosdep init
如果初始化成功是一下界面:
我在安装的过程中出现下面的问题,在网上搜了问题的解决办法。
问题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.
解决办法:
sudo gedit /etc/hosts
//打开hosts文件中添加以下内容,保存退出
199.232.28.133 raw.githubusercontent.com
关于上面这条语句,它的内容可能会变化,有查询最新地址的方法,通过IPAddress.com首页,输入raw.githubusercontent.com查询到最新的真实IP地址,我查的时候已经拒绝访问了,所以现在这个方法是不行的,需要使用第六步前面的办法。
问题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
//这个问题是因为一个问题出现问题了,需要删除,但是删除后也不行,所以也需要执行第六步前面。
最终解决办法:可避免前面三个问题的出现,是一个大佬的方案,我很佩服,鱼香ROS这个大佬,让很多人都可以安装ROS了,我很感谢他,这个方法简单有效,借助六部工坊的配置修改工具,墙裂推荐。
//安装Python的软件包管理工具pip
sudo apt-get install python3-pip
//使用pip安装配置修改工具
sudo pip3 install 6-rosdep
//运行下面指令运行配置修改工具
sudo 6-rosdep
正常运行sudo rosdep init 和 rosdep update指令
sudo rosdep init
rosdep update
1.输入下面的代码,注意ROS的版本是melodic还是noetic还是kinetic,这是有ubuntu的版本决定的,ubuntu20.04对应noetic,所以应该是下面的代码。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
如果不小心把版本命令输错,系统会提示:bash:/opt/ros/melodic/setup.bash:没有那个文件或目录,解决办法如下,先执行一下命令:
gedit .bashrc
系统默认编辑器会打开出错的文件,只需将melodic改为noetic即可(保留一行就行)。
2.输入一下命令,运行该脚本让环境变量生效
source ~/.bashrc
输入以下命令:
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
但是我遇到一个错误,安装的时候报错正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 34948 。
这个问题一般出现在文件上锁或者被占用。
解决方法:
sudo rm /var/cahe/apt/archives/lock
sudo rm /var/lib/dpkp/lock
这个是我搜到解决办法,但是我的问题是等了一会儿就没问题了。完成了所有的步骤就是安装完ROS了。
正常来说ROS是到这一步是安装完成的,输入以下命令:
roscore
如果出现以下的问题:Command ‘roscore’ not found, but can be installed with:sudo apt install python3-roslaunch,按照提示输入sudo apt install python3-roslaunch命令并执行。
但是我又出先新的问题了,报错了。
输入以下的命令,把没安装好的安装一下就可以了。
sudo apt install ros-noetic-desktop-full
source /opt/ros/noetic/setup.bash
在这里在输入roscore看一下,若安装成功会显示如下界面:
然后就可以启动小海龟仿真器试一下,ctrl+alt+t 打开新终端,输入命令:
rosrun turtlesim turtlesim_node
按ctrl+alt+t 再打开一个新的终端,输入以下命令
rosrun turtlesim turtle_teleop_key
这时候按键盘上的↑↓←→键就可以控制小海龟移动了!!!
这样ROS已经成功安装完了!!!
其他ubuntu版本的ROS安装大体也是这样,但是我决定jetson nano/NX 的ubuntu可能有些不同,我感觉是我家里网络的问题。希望大家都可以成功在Linux系统安装ROS,加油!!!