Ubuntu18.04安装ROS1(解决rosdep init问题)

适合Unbuntu18.04的ROS安装:

代码语言:javascript
复制
http://wiki.ros.org/cn/melodic/Installation/Ubuntu

跟着命令敲起来,太简单了

一般文章都要写在软件设置里面选中3种不同的软件渠道,其实默认就是选中的,当然可以自己再看看。

代码语言:javascript
复制
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

因为ros是单独维护的软件,所以有自己的服务器,这里就是把这个安葬服务器的地址,加进来。

代码语言:javascript
复制
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

如果官方的速度满,那你使用这个

清华的服务器(我啥时候可以去清华念书)。。。

代码语言:javascript
复制
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

有了服务器的地址,还要确保安全性,加密钥进来。

若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80 。

你也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:

代码语言:javascript
复制
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
代码语言:javascript
复制
sudo apt update

然后有上面的配置,现在来更新一下软件目录。

代码语言:javascript
复制
sudo apt install ros-melodic-desktop-full

这里我直接安装功能最齐全的包,空间大,就是玩~

然后就是安装过程了,命令行在刷写。其实这个安装,不是一边下载一边安装,是全下载。解压安装,大概是400多mb的压缩包

然后就是吃香蕉的时间。。。太多了,我实在吃不下去了。。。

代码语言:javascript
复制
sudo rosdep init
rosdep update

按照官方的流程,现在执行初始化的命令,事实上报错了。

代码语言:javascript
复制
sudo apt install python-rosdep2

那就执行这个

代码语言:javascript
复制
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.

接着是这个错误

代码语言:javascript
复制
sudo apt-get install python-rosdep python-wstool ros-melodic-ros

来,输入这个

上面推荐的命令,好像把ros删除了。。。

代码语言:javascript
复制
sudo apt autoremove

执行这个,全删除。。。全没了

不过好像这个是防火墙的毛病,我也没有细看,反正配置环境这种时期和安装系统一样,都是坑。。

代码语言:javascript
复制
sudo apt install python3-rosdep

不要执行了,解决在下面

代码语言:javascript
复制
https://answers.ros.org/question/353082/missing-packages-after-installing-rosdep-based-on-python3-rosdep2-in-noetic/

国外的淫和我毛病一样,让输入上面的命令

代码语言:javascript
复制
sudo apt install ros-melodic-desktop-full

你要是跟我一起玩的话,现在是进解放前了。。。再执行安装的命令

代码语言:javascript
复制
 sudo rosdep init

^[[AERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

注意还是执行上面的初始化的命令,报错

代码语言:javascript
复制
yunswj@yunswj-XPS-15-9560:~$ cd /etc/
yunswj@yunswj-XPS-15-9560:/etc$ sudo gedit hosts

转到etc的目录

用文件编辑器打开

代码语言:javascript
复制
151.101.84.133 raw.githubusercontent.com

末尾加这个,然后保存

代码语言:javascript
复制
yunswj@yunswj-XPS-15-9560:/etc$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

rosdep update

再执行出现这个

代码语言:javascript
复制
rosdep update

这次更新就没有问题了

代码语言:javascript
复制
gedit ~/.bashrc

打开编辑器,编辑最这个文件

代码语言:javascript
复制
source /opt/ros/melodic/setup.bash

末尾加上这个

代码语言:javascript
复制
source ~/.bashrc

执行一下

代码语言:javascript
复制
https://blog.csdn.net/qq_44830040/article/details/106049992

init问题主要参考这个

代码语言:javascript
复制
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

未来自己搞搞编译啥的,安装这些包

ROS版本的hello world:

代码语言:javascript
复制
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

三个新终端,三个命令。控制龟龟乱跑

代码语言:javascript
复制
sudo rosdep init & rosdep update

上面的命令可以写成这样

代码语言:javascript
复制
http://wiki.ros.org/cn/ROS/Tutorials
代码语言:javascript
复制
https://blog.csdn.net/qq_44830040/article/details/106049992

安装时,参考的两篇文章