在Ubuntu18.04中安装ROS教程

1.创建虚拟机

自定义安装,手动选择镜像文件,处理器选择1个处理器,8个核心,其他选择默认的即可。


2.换源

新装的虚拟机会提示更新(不是更新系统),建议换完源之后再更新。

左下角点开,打开software&updates。

选中源代码(最后一项),更换源,选择other,选择中国,推荐阿里云的镜像源。在Ubuntu18.04中安装ROS教程_第1张图片

点击close之后选择reload。如果中途卡住可以选择终止,然后再更换下载源,点击revert,再次reload。在Ubuntu18.04中安装ROS教程_第2张图片

3.设置软件源

打开终端,选择下面其中一个软件源,然后回车。

中科大源:

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 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'

4.设置秘钥

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

在Ubuntu18.04中安装ROS教程_第3张图片

5.更新软件包列表

sudo apt update

6.安装软件包

sudo apt install ros-melodic-desktop-full

桌面完整版(推荐) : 包含 ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。

选择y进行下载和解包。在Ubuntu18.04中安装ROS教程_第4张图片

为了避免后面找不到命令提示,这里需要执行如下命令:

sudo apt install python-rosdep

7.初始化rosdep

sudo rosdep init

如果出现错误:cannot download default sources list from:,则输入:

cd /etc
 
sudo gedit hosts

在文件末尾换行加上:

151.101.84.133 raw.githubusercontent.com

之后保存文件,关闭终端再次执行sudo rosdep init,成功结果如下。

如果出现以下错误,则输入:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

之后再次执行init。

如果出现以下错误,建议多次执行初始化,或者关闭命令行,更换软件源,再次从第3步开始执行。在Ubuntu18.04中安装ROS教程_第5张图片

8.rosdep升级

rosdep update

下载源是国外的网站,只能,或者碰运气,换源多执行几次。如果成功了可以直接跳到第9步。另外也可以离线安装,下载好更新内容之后,将下载源全都改为本地的地址。在此因为版权问题我就不放离线包的链接了,可以在其他博主下找到离线包的资源,如果实在找不到可以私信我。

1.更新rosdep相关文件,增加代理地址

rm rosdep_update.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_update.sh ; sudo chmod +x ./rosdep_update.sh; sudo ./rosdep_update.sh

完成之后,运行rosdep update即不会出现错误提示 脚本只能运行一次,多次运行,会提示重复运行信息

2.恢复rosdep相关文件,去掉代理地址

rm rosdep_recover.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_recover.sh ; sudo chmod +x ./rosdep_recover.sh; sudo ./rosdep_recover.sh

将rosdistro-master压缩包放在Ubuntu虚拟机的主目录下,然后执行:

cd ~
 
unzip rosdistro-master.zip
 
mv rosdistro-master rosdistro

修改20-default.list文件:

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

打开文件后删除文件内容,然后输入以下内容:

# os-specific listings first
 
yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx
 
 
 
# generic
 
yaml file:///home/xxx/rosdistro/rosdep/base.yaml
 
yaml file:///home/xxx/rosdistro/rosdep/python.yaml
 
yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
 
gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte
 
 
 
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

其中xxx是自己的用户名,下面也是。

修改 sources_list.py 文件:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

注释之前的DEFAULT_SOURCES_LIST_URL一行,然后增加:

DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'

修改 rep3.py 文件:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

注释原 REP3_TARGETS_URL 一行,然后增加:

REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'

修改 __init__.py 文件:

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

注释原 DEFAULT_INDEX_URL 一行,然后在其后添加如下一行:

DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'

重新执行 rosdep update。


9.运行小海龟

添加ros环境变量:

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
     
    source ~/.bashrc

安装rosinstall:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

初次运行配置环境变量:

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
     
    source ~/.bashrc

打开第一个终端运行:

roscore

打开第二个终端运行:

rosrun turtlesim turtlesim_node

此时有个静止的小乌龟,之后打开第三个终端运行:

rosrun turtlesim turtle_teleop_key

可以使用方向键控制小乌龟移动。

你可能感兴趣的:(ubuntu,自动驾驶,linux)