**

如何在电脑安装ROS

**

安装ROS环境是学习ROS的第一步,本文将记录个人搭建的过程,包括可能遇到的错误、解决办法、个人心得等。


前言

安装心得:学习ROS的第一个挑战就是如何在自己的电脑上安装ROS。这是我安装ROS的个人笔记,记录下学习历程。


一、在Windows系统下载VMware虚拟机并安装

这一个步骤不难,可以通过多种途径安装VMware虚拟机

方法①:百度网盘
链接:https://pan.baidu.com/s/1DtqYNaLbGvy8QqbC91J-2g
提取码:nqja
在这里插入图片描述
方法②:到该网站进行下载
https://www.hezibuluo.com/dl/150559.html

方法③:在微信“发现”“搜一搜”,搜索关键词“VMware虚拟机”,找到合适的文章根据其教程步骤进行下载(个人认为这个方法最好)

二、在VMware上安装Ubuntu18.04系统

1.下载Ubuntu18.04

方法①:百度网盘
https://pan.baidu.com/s/1FkBDt0oV6nfmsCdm7gyyOA
提取码:t849
在这里插入图片描述
方法②:官网下载
http://releases.ubuntu.com/18.04/
(我还没试过,但一般情况下网上能够找到许多资源,或者在CSDN找找)

2.在VMware上安装Ubuntu18.04

首先,在VMware虚拟机内创建新的虚拟机,把下载好的Ubuntu18.04安装到VMware虚拟机上

这一步骤可以参考CSDN作者小池澈平(很详细,基本能解决安装问题)
https://blog.csdn.net/h1475457833/article/details/105416883

在安装过程中需要注意的地方:

  1. 选择的磁盘大小尽量20G左右,如果后续学习PX4仿真,要按照模型和搭建环境,仍需要大约20G左右,当然,在后面的使用磁盘大小不够时可以再在Ubuntu上修改磁盘大小;
  2. 在对Ubuntu18.04进行硬件设置的时候,注意以下的修改(按照上面提供的那位博主教程即可)
    在这里插入图片描述
  3. 配置过程比较漫长,需要耐心等待
    在这里插入图片描述
  4. 安装VM tools
    此处可参考CSDN作者花暖啊丶
    https://blog.csdn.net/Franticquanshi/article/details/81348796
    一般会遇到这样的错误——安装VMware Tools的按键是灰色的,解决办法可参考CSDN作者假欢何曾低头
    https://blog.csdn.net/qq_52310755/article/details/111216213?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165054587516780271923624%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165054587516780271923624&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~hot_rank-2-111216213.142v9pc_search_result_control_group,157v4control&utm_term=vmware+tools%E7%81%B0%E8%89%B2%E4%B8%8D%E5%8F%AF%E9%80%89&spm=1018.2226.3001.4187

三、在Ubuntu18.04安装ROS系统(一键安装法)

本步骤提供一键安装的步骤,若想自行安装,也可参考本目录的第四点。另外,本步骤参考的是作者鱼香ROS,详细请见:https://fishros.org.cn/forum/topic/20/%E5%B0%8F%E9%B1%BC%E7%9A%84%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E7%B3%BB%E5%88%97?lang=zh-CN

四、在Ubuntu18.04安装ROS系统(搭建ROS平台)

1.换源

  1. 点击Ubuntu左侧的“Ubuntu软件”
    在这里插入图片描述
  2. 点击“软件和更新”
    在这里插入图片描述
  3. 打开后,在“Ubuntu软件”的“源代码”点击“下载至”,
    在这里插入图片描述
    然后选择“其他站点…”,选择“中国”,在右侧一栏处点击“选择最佳服务器”,待进度条完成后,点击“选择服务器”即可。
    注意:在“软件和更新”界面里的“其他软件”,两个选项均不需要勾选;
    在这里插入图片描述
    在“软件和更新”界面里的“更新”,“不支持的更新”删除勾选,随后点击右下角“关闭”;
    在这里插入图片描述
    重新载入需要一点时间。

2.ROS桌面完整版的安装

该过程可以依据ROS的维基百科说明进行安装,我选择的是“ROS Melodic Morenia(18.04)”“Ubuntu”链接如下:
http://wiki.ros.org/cn/ROS/Installation
在这里插入图片描述

  1. 设置sources.list(设置电脑以安装来自packages.ros.org的软件)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) 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'
  1. 设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

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

  1. 安装(要确保 Debian 包索引是最新的)
sudo apt update
  1. ROS桌面完整版安装
sudo apt install ros-melodic-desktop-full

下载之前,终端会提出是否下载,在终端输入Y按回车即可

  1. 初始化 rosdep
    这一步骤的意思是:在使用 ROS 之前,rosdep 让你能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。
sudo rosdep init

执行该命令,如遇到

sudo: rosdep:找不到命令

说明python-rosdep这个包没有安装,因此,我们安装python-rosdep即可:
在终端输入

sudo apt-get install python-rosdep

执行之后,大部分都会遇到这种情况:

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.

这时可以参考CSDN作者何为其然的终极解决办法,链接如下:
https://blog.csdn.net/qq_30267617/article/details/115028689

该解决方案,里面涉及路径修改,一定要特别注意,如:

yaml file:///home/vm123/rosdistro/rosdep/base.yaml
yaml file:///home/vm123/rosdistro/rosdep/python.yaml
yaml file:///home/vm123/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/vm123/rosdistro/releases/fuerte.yaml fuerte

这里面最前边的home/vm123/要根据自己设定的用户名进行修改,由于我的用户名为"vm123",因此,在home/后面我填写的是vm123/

这个作者给出的解决办法很有用,执行到上一步后,在这一步他的解决方案等同于把剩下不完整的sudo rosdep init给完整解决,因此解决该问题以后,终端直接输入

rosdep update

这时,你已经解决了安装ROS的最大的问题,接下来,还需要一些步骤,来完成ROS完整安装。

第5步这里有一个十分便捷的方法参考的是鱼香ROS(微信公众号:鱼香ROS),这个方法直接替代了sudo rosdep init和rosdep update 参考的网址是
https://mp.weixin.qq.com/s/VGs8oWdhHH6XsHcx21lN4Q
cpp sudo pip install rosdepc 若显示没有pip可以试试pip3 cpp sudo pip3 install rosdepc

若pip3还没有,则 cpp sudo apt-get install python3-pip sudo pip install rosdepc

②进行初始化 cpp sudo rosdepc init

cpp rosdepc update 注意: rosdepcc指的是China中国,主要用于和rosdep区分;

rosdepcrosdep功能一致,只改变了名称和源地址;

rosdepc使用的是国内的源,rosdep初始化失败的原因是其使用国外网站github,国内无法访问;

该方法参考的是微信公众号鱼香ROS!

  1. 设置环境
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

这里有个小技巧:
因为每次运行ros的时候,都需要现进行环境变量的设置,比较麻烦,那么怎么样实现每次运行都自动进行环境变量的设置呢?
①在Ubuntu界面的左边一栏打开“文件”,点击进入以后按ctrl+H显示被隐藏的文件;
在这里插入图片描述
②找到名为“.bashsrc”的文件,点击进入,并拖动到最后一行;
③把source devel/setup.bash复制到最后一行,并修改路径。完整的路径应该为source home/vm123(这里是我的用户名,要根据自己实际设置的用户名进行更改)/catkin_ws/devel/setup.bash,最后,重新起动终端生效

  1. 构建工厂依赖
    为了创建和管理自己的 ROS 工作区,有各种各样的工具和需求分别分布。例如:rosinstall 是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多 ROS 包的源树。
    要安装这个工具和其他构建ROS包的依赖项,需运行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

至此,只剩下最后一步——测试ROS是否成功安装

3.测试ROS是否成功安装

我们以运行海龟为例,进行测试

运行海龟步骤:
(前提是有海归运行的功能包)

  1. 终端输入roscore
  2. 打开另一终端,终端输入rosrun turtlesim turtlesim_node ,回车后打开页面
  3. 再打开另一终端,终端输入rosrun turtlesim turtle_teleop_key ,点击最新的终端即可操控
  4. 终端输入rosnode info /turtlesim 是查看发布、订阅的信息
  5. 最新终端输入rostopic pub / turtle1/cmd_vel geometry_msgs/Twist , 然后修改新速度角速度
  6. 最新终端输入rostopic pub-r 10(publish)/ turtle1/cmd_vel geometry_msgs/ Twist ,持续发布指令
  7. 最新终端ctrl+C来停止
  8. 最新终端输入rosservice call /spawn(并按两下tab键),然后修改坐标位置及名字,如turtle2
  9. 最新终端输入rosbag record-a-O cmd_record
  10. 然后在输入rosrun turtlesim turtle_teleop_key的终端处操控键盘,使海龟移动
  11. 在最新终端ctrl+C结束记录,文件保存在home/----/
  12. 重新启动时,终端输入roscore
  13. 然后再启动另一终端,输入rosrun turtlesim turtlesim_node ,回车后打开页面
  14. 然后再打开一个终端,输入rosbag play cmd_record.bag

写在最后:

  1. 其实我自己也是从CSDN这个平台上学习ROS系统的安装,如果引用其他作者的文章不妥,请联系我删除;
  2. 我会继续更新这篇文章,继续完善,增添更多图片。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐