注意:如果当前系统是ubuntu18.04以上的版本不建议安装ros-melodic,以下步骤也不适用于安装,查询当前系统版本可以使用如下指令

rostest@ubuntu:~$ lsb_release -a

一、设置软件源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

二、设置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

三、安装Ros-melodic:

sudo apt-get update

sudo apt-get install ros-melodic-desktop-full

sudo apt-get install ros-melodic-rqt*

sudo apt install rospack-tools

 执行apt-get install ros-melodic-desktop-full时报错

错误1:

错误:2 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 libfltk1.3 amd64 1.3.4-6
  连接失败 [IP: 91.189.91.38 80]

E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/pool/main/i/ilmbase/libilmbase-dev_2.2.0-11ubuntu2_amd64.deb  连接失败 [IP: 91.189.91.38 80]

解决方法: 将源换成阿里的

 换好之后再执行

sudo apt-get install ros-melodic-desktop-full

显示已经都获取到了阿里源

错误2:

 解决方法:

未开启更新,可以在Ubuntu 软件仓库(repositories) 的update中开启。

四、初始化rosdep:

sudo rosdep init

运行之后会出现如下错误:

在运行sudo rosdep init后出现下所示错误:
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.

解决方法:

1.新建文件夹,并进入文件夹

sudo mkdir -p  /home/one/git/
cd /home/one/git/

 2.下载项目:

sudo git clone https://gitee.com/one_DS/rosdistro.git

如果git命令执行不了,需要下载git的软件包 

apt install 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.替换原文件网址到本地下载

##第39行将 https://raw.githubusercontent.com/ros/rosdistro/master替换为 file:///home/one/git/rosdistro
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
##第68行 https://raw.githubusercontent.com/ros/rosdistro/master替换为 file:///home/one/git/rosdistro
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
##第72行 https://raw.githubusercontent.com/ros/rosdistro/master替换为 file:///home/one/git/rosdistro
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

4.运行

sudo rosdep init

显示以下即可进行下一步了

 

电脑关机之后第二天再运行命令发现报错了

ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize

解决办法:

执行以下命令,删除已经存在的初始化文件

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

删除之后再运行发现还是报错

ERROR: cannot create /etc/ros/rosdep/sources.list.d/20-default.list:
	[Errno 13] Permission denied: '/etc/ros/rosdep/sources.list.d/20-default.list'

解决办法:

接下来修改/etc/resolv.conf 文件

                1.终端输入以下命令并回车

sudo gedit /etc/resolv.conf

                2.将原有的nameserver那一行注释,并添加以下两行后保存:

                nameserver 8.8.8.8 #google域名服务器
                nameserver 8.8.4.4 #google域名服务器

修改保存后在执行rosdep init成功

5.备份

sudo cp /etc/ros/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/20-default.list.bak


##将https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/one/git/rosdistro
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

6.运行

rosdep update

执行之后显示如下就表示更新成功了

五、安装rosinstall

sudo apt-get install python-rosinstall

六、安装catkin编译器

sudo apt-get install ros-melodic-catkin python-catkin-tools

七、添加环境变量

echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc
source ~/.bashrc
gedit ~/.bashrc

八、测试

1.运行ROS节点管理器(ROS Master),在当前窗口执行以下命令

roscore

以下是使用roscore指令启动成功后的输出日志信息,结束快捷键ctrl+c,注意:如果要启动小乌龟,此程序不能结束

2.运行turtlesim仿真节点,新打开一个命令窗口,1步骤窗口不要关闭,执行以下命令,当前窗口不要关闭

rosrun turtlesim turtlesim_node

以下是小乌龟仿真器的启动界面

3.运行键盘控制的节点,再新打开一个窗口执行以下命令,前二个窗口都不要关闭 

rosrun turtlesim turtle_teleop_key

以下是启动控制节点的键盘控制信息示,将光标放在当前界面 ,一定要将鼠标放在当前界面哦,否则小乌龟是不会运动的,按键 ←、↑、→ 控制小乌龟运动

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐