1、添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3、安装ROS
sudo apt update
sudo apt install ros-melodic-desktop-full
4、初始化rosdep
sudo rosdep init //rosdep 初始化
rosdep update //更新rosdep
rosdep是ROS和其他工具链接的插件,可以让你能够轻松地安装被想要编译的源代码,如果这个一步没有成功,Anaconda的环境会和ROS Python起冲突,如果实在安装不了可以跳过。
5、设置环境变量
echo "source/opt/ros/melodic/setup.bash">>~/.bashrc //melodic 版本设置环境变量
// echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc #notice版本设置环境变量
source ~/.bashrc //环境变量生效
6、安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
注:
一、如若在虚拟机中无法复制粘贴则需要安装插件:
sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools-desktop
安装后重启。
二、如若出现错误:找不到命令
输入:
sudo apt install python-rosdep2
或者:
sudo apt install python3-rosdep2
等待完成再次初始化:
sudo rosdep init
三、如若出现错误:
解决:
sudo gedit /etc/hosts
打开的hosts文件中添加如下的内容,然后保存退出
199.232.28.133 raw.githubusercontent.com
等待完成再次初始化:
sudo rosdep init
四、如若出现错误:
输入:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
根据提示进行更新:
五、rosdep update更新失败
该命令的作用是从目标网址中下载 20-default.list 文件,但由于此网站是外网,由于一些原因所以很难去连接成功,一般很多人到这一步都会卡主
要想解决这个问题
第一种方式:
使用翻墙工具简单粗暴,嗯·········我是遵纪守法好公民别看,我没有,想要的可以自己去找一下。
第二种方式修改host文件,添加映射
1.找一个IP地址查询工具,然后输入raw.githubusercontent.com
,查询其对应的真实ip地址
修改host文件,添加映射
sudo gedit /etc/hosts
修改完host文件后,重新执行rosdep初始化和update,如果过程中还是遇到错误,多执行几次或者更换网络再执行
第三种方式:手动配置
注意:从github上下载rosdistro
文件夹到本地,记好下载到的目录,下面需要用到
git clone https://github.com/ros/rosdistro
修改20-default.list
文件,/home/xxx
对应上面rosdistro下载到的目录,后面的步骤指的均是此目录
sudo gedit /home/xxx/rosdistro/rosdep/sources.list.d/20-default.list
将文件中的网址:
https://raw.githubusercontent.com/ros/rosdistro/master
修改为下载目录:
file:///home/xxx/rosdistro
修改sources_list.py文件
注意:当前配置的ubuntu系统为18.4,ros版本为melodic(如果是20.04,ros版本noetic)所以下面的目录中包含python2.7
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
修改:
#DEFAULT_SOURCES_LIST_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'
DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'
修改__init__.py文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
修改:
#DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'
修改rep3.py文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
修改:
#REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'
执行rosdep update
sudo rosdep init
rosdep update
第四种方式:修改等待时间常数
如果你网络情况很好,或者你对你的网络有信心···········可以采用这种方式
1)、ping 目标网站查看延时
ping raw.githubusercontent.com
这个延时每个人都不一样像我这个此时的延迟时间在73200ms左右,如果你的延迟时间在2000左右可以尝试使用这种方式。
2)、Ctrl + C 退出 rosdep update 定位更新代码文件
在运行 rosdep update 的终端中键入 Ctrl + C 退出,确定反馈路径:
进入目录:
/usr/lib/python2.7/dist-packages/rosdep2
3)、修改 sources_list.py 、 gbpdistro_support.py 、 rep3.py文件中 DOWNLOAD_TIMEOUT 的值:
(默认情况下 DOWNLOAD_TIMEOUT = 15.0)
# sources_list.py
sudo gedit sources_list.py
//sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
# gbpdistro_support.py
sudo gedit gbpdistro_support.py
//sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
# rep3.py
sudo gedit rep3.py
//sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
修改完成后 再次更新: rosdep update
注意网络最好使用手机热点。
注意!注意!如果以上几种方式都无法实现,也没有任何的渠道,好吧,好吧,那就不要想着去用那个原版的rosdep了,我们国内有一个大佬博主鱼香ROS基于rosdep的源码做出来了一个rosdepc也是可以兼容的,
安装rosdepc:
sudo pip install rosdepc
如果没有pip调用pip3:
sudo pip3 install rosdepc
如果pip3也没有,安装pip3:
sudo apt-get install python3-pip
sudo pip3 install rosdepc
然后安装rosdepc并更新
sudo rosdepc init
rosdepc update
六、配置环境变量报错:bash: source/opt/ros/melodic/setup.bash: 没有那个文件或目录
一般安装后的软件指令在文件夹 “/opt/ros/indigo/bin/” 而roscore应该也在该目录中,所以应该是bin中没有roscore的二进制可执行文件。
解决办法:
cd /opt/ros/melodic/bin
ls -l
确认是否是缺少rosecore文件
这里是没有的,重新下载补全ros-melodic-desktop
sudo apt-get install ros-melodic-desktop
然后再进入目录可以看到roscore文件
再执行
source ~/.bashrc
输入roscore就可以验证是否安装ros成功如果成功就会显示你安装的版本信息