本章记录一下关于ROS系统的安装:

我们可以从各ROS讲解的视频或者书籍之中来详细了解到目前最主流的机器人框架平台ROS的相关介绍(并非是一套真正的的操作系统,而是类似于各类虚拟机或者Docker这种运行于宿主机上的一套环境框架,其主要作用是将各作动器和传感器之间的消息来进行关联嫁接,将复杂的机器通信对接变得简单(可以这么说吧应该。。),这套框架赋予了咱们的宿主机操作系统来调用接口实施接口相关操作的能力)。
<需要注意,开源的ROS框架普遍每个稳定版本官方最长维护周期是5年>;
那么现在最主要的步骤呢 就是先来安装这套通用机器框架。动手吧!
本章沿用了官方安装教程

“https://wiki.ros.org/noetic/Installation/Ubuntu”

使用操作系统为Ubuntu aarch版本。

  1. 首先我们需要创建一个用来读取相关ros软件源的文件(一个写有索引软件源地址路径的文件):
    可以顺便查看一下这条命令产生的文件。可以看见创建了一个ros-latest.list的文件,这个文件内录入了一条http://mirrors.tuna.tsinghua.edu.cn/该网址的索引信息。在这里我用的网址是国内清华大学的软件源地址。
ubuntu@ubuntu-desktop:~$ sudo sh -c 'sh /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
ubuntu@ubuntu-desktop:~$ ll /etc/apt/sources.list.d/
cuda-l4t-10-2-local.list        ros-latest.list                 visionworks-sfm-repo.list
nvidia-l4t-apt-source.list      visionworks-repo.list           visionworks-tracking-repo.list
ubuntu@ubuntu-desktop:~$ cat /etc/apt/sources.list.d/ros-latest.list
deb http://mirrors.ustc.edu.cn/ros/ubuntu bionic main
  1. 接下来添加一个能够授权软件下载的秘钥:
ubuntu@ubuntu-desktop:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116   --可以自行定义
gpg: key 5523BAEEB01FA116: public key "ROS Builder <rosbuild@ros.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
ubuntu@ubuntu-desktop:~$
  1. 再安装一个用来验证签名的公钥:
ubuntu@ubuntu-desktop:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
Executing: /tmp/apt-key-gpghome.Xg2moig1B0/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
gpg: key F42ED6FBAB17C654: public key "Open Robotics <info@osrfoundation.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
ubuntu@ubuntu-desktop:~$
  1. 因为是刚刚才添加的ROS软件源地址,目前ubuntu系统中还不包含ROS的软件,所以需要更新一下系统的软件包列表,通过这一次更新软件包列表,将ROS软件包一同更新到系统软件列表内:也可以
    sudo apt-get update && sudo apt-get upgrade

  1. 接下来安装melodic系统:


安装Rosdep工具(ros依赖包检查工具):

ubuntu@ubuntu-desktop:~$ sudo rosdep init
[sudo] password for ubuntu:
sudo: rosdep: command not found
ubuntu@ubuntu-desktop:~$ sudo rosdep init
sudo: rosdep: command not found
  1. 在这里提示未找到rosdep 于是我在网上看到了需要安装个python-rosdep:
ubuntu@ubuntu-desktop:~$ sudo apt-get install python-rosdep
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-rosdep is already the newest version (0.21.0-1).
The following packages were automatically installed and are no longer required:apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dpkg-repack gir1.2-timezonemap-1.0 gir1.2-xkl-1.0grub-common kde-window-manager kinit kio kpackagetool5 kwayland-data kwin-common kwin-data kwin-x11libdebian-installer4 libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5libkf5completion-data libkf5completion5 libkf5declarative-data libkf5declarative5 libkf5doctools5libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5 libkf5jobwidgets-datalibkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5libkf5newstuff-data libkf5newstuff5 libkf5newstuffcore5 libkf5package-data libkf5package5 libkf5plasma5libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5libkf5textwidgets-data libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5 libkf5xmlgui-binlibkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11libkwinxrenderutils11 libqgsttools-p1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5libqt5multimediawidgets5 libxcb-composite0 libxcb-cursor0 libxcb-damage0 os-prober python3-dbus.mainloop.pyqt5python3-icu python3-pam python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkitqml-module-org-kde-kquickcontrolsaddons qml-module-qtmultimedia qml-module-qtquick2 rdate tasksel tasksel-data
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

相关python-rosdep安装完了,但是rosdep init又报错提示什么The read operation timed out
读取超时。。。

ubuntu@ubuntu-desktop:~$ sudo rosdep initERROR: Rosdep experienced an error: ('The read operation timed out',)
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdeprosdep version: 0.21.0Traceback (most recent call last):File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 146, in rosdep_mainexit_code = _rosdep_main(args)File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 441, in _rosdep_mainreturn _no_args_handler(command, parser, options, args)File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 450, in _no_args_handlerreturn command_handlers[command](options)File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 594, in command_initdata = download_default_sources_list()File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 340, in download_default_sources_listf = urlopen(url, timeout=DOWNLOAD_TIMEOUT)File "/usr/lib/python2.7/urllib2.py", line 154, in urlopenreturn opener.open(url, data, timeout)File "/usr/lib/python2.7/urllib2.py", line 429, in openresponse = self._open(req, data)File "/usr/lib/python2.7/urllib2.py", line 447, in _open'_open', req)File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chainresult = func(*args)File "/usr/lib/python2.7/urllib2.py", line 1248, in https_opencontext=self._context)File "/usr/lib/python2.7/urllib2.py", line 1208, in do_openr = h.getresponse(buffering=True)File "/usr/lib/python2.7/httplib.py", line 1178, in getresponseresponse.begin()File "/usr/lib/python2.7/httplib.py", line 452, in beginversion, status, reason = self._read_status()File "/usr/lib/python2.7/httplib.py", line 408, in _read_statusline = self.fp.readline(_MAXLINE + 1)File "/usr/lib/python2.7/socket.py", line 480, in readlinedata = self._sock.recv(self._rbufsize)File "/usr/lib/python2.7/ssl.py", line 754, in recvreturn self.read(buflen)File "/usr/lib/python2.7/ssl.py", line 641, in readv = self._sslobj.read(len)
SSLError: ('The read operation timed out',)ubuntu@ubuntu-desktop:~$
  1. 于是我按照这里面的报错信息登录到官方按照官方给的提示重新执行了一遍sudo apt-get install python-rosdep
    然后sudo rosdep init 就又可以了。。。真是迷糊啊(后来反应过来应该是我当时所处的环境网络不好的原因导致的):
ubuntu@ubuntu-desktop:~$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please runrosdep updateubuntu@ubuntu-desktop:~$

  1. 在这里官方说这个init命令只需要调用一次即可 不必过于频繁。 在下一条rosdep update时
    因为使用的时ubuntu操作系统,都会习惯在每一条命令前加上’sudo’来提权执行命令,但是这里官方提示给出的是不建议sudo提权运行此命令,说是因为提权运行该更新的话会导致某些权限的错误,所以只需要直接输入rosdep
    update即可:
ubuntu@ubuntu-desktop:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/ubuntu/.ros/rosdep/sources.cache

可以看到 已经更新了sources.cache文件(*请注意啦!请注意啦!在这一步update成功之前,其实作者已经试验了2天了。为啥呢,是开始进行update时会失败提示,告知我什么什么超时~~~当时我心里都MMP(此处省略国粹精华)。大家可以先用自己当前的浏览器一个一个加载20-default.list文件内的几个yaml链接文件看看能不能正常加载出来下面的图片内容,如果可以则执行rosdep update很小概率会出错,如果网页加载不出来~额咳。。作者劝你想办法找个网速快点的地方更新完再拿走就是喽。。。我这个是后来到公司用的企业级带宽才更新完成的)。

  1. 接下来添加一下环境变量在本地bashrc文件内:
ubuntu@ubuntu-desktop:~$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
ubuntu@ubuntu-desktop:~$ tail -n 1 .bashrc
source /opt/ros/melodic/setup.bash
ubuntu@ubuntu-desktop:~$
  1. 在我的最后一行已经添加进了环境变量 然后使用source ~/.bashrc来重新刷新生效一下bashrc文件。
    安装一下相关的python依赖包: 再初始化一下python-rosdep
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
ubuntu@ubuntu-desktop:~$ sudo apt install python-rosdep  --我这一步可以说纯属多余,因为上面就执行过了。
[sudo] password for ubuntu:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-rosdep is already the newest version (0.21.0-1).
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
ubuntu@ubuntu-desktop:~$
  1. 然后因为我安装完成后执行roscore提示没有该命令,但是有个rosco命令,需要应该是环境变量没有成功刷起来,我是直接给sudo
    reboot重启主机了。。。(没错,万问题皆可重启解决) 重启完之后就有roscore了:
ubuntu@ubuntu-desktop:~$ roscore
... logging to /home/ubuntu/.ros/log/c066cf20-856b-11ec-9508-82771950a190/roslaunch-ubuntu-desktop-8154.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.started roslaunch server http://ubuntu-desktop:43551/
ros_comm version 1.14.12SUMMARY
========PARAMETERS* /rosdistro: melodic* /rosversion: 1.14.12NODESauto-starting new master
process[master]: started with pid [8164]
ROS_MASTER_URI=http://ubuntu-desktop:11311/setting /run_id to c066cf20-856b-11ec-9508-82771950a190
process[rosout-1]: started with pid [8177]
started core service [/rosout]

好啦!作者给每一步的步骤标上了序号,大概是总共11步即可完成ros平台的安装。
接下来后面怎么小乌龟呢~请各位再自行百度即可啦!各位先安装成功所需的环境。
人工智能未来的路上你我砥砺前行!

【2022ROS系统melodic版本安装试错】相关推荐

  1. Ubuntu18.04 ROS Melodic版本安装gazebo_ros_pkgs包

    疫情期间宅在家没法做实验,只能上手gazebo做仿真,导入实验室机器人的相关文件后,打算看看效果,运行代码 roslaunch probot_gazebo probot_anno_gazebo_wor ...

  2. 双系统win10+ubantu安装,试了一整天的各种坑(win10在固态,ubantu在机械。惠普光影精灵4实战小结)

    很久很久以前,我师兄就各种安利"师弟啊,你迟早也是要用Linux系统滴,早点接触对你有好处".彼时,我只知道Linux是除了windows和Mac OS之外的操作系统,听说很强很大 ...

  3. Mac系统brew install 安装报错 Error: Failure while executing

    Mac安装Apache http服务器,brew install httpd 时报错 报错信息如下: ==> Installing httpd dependency: nghttp2 ==> ...

  4. Redis6.0以后版本安装报错问题

    报错 server.c:5201:19: 错误:'struct redisServer'没有名为'supervised_mode'的成员 if (server.supervised_mode == S ...

  5. 小米手机安装失败错误码

    小米手机安装失败错误码 用miui系统开发app,出现了一些安装失败的情况 错误码与原因 安装失败错误码 -7 与已安装应用签名不同 安装失败错误码 -15 应用仅仅属于测试的debug版本,仅限于a ...

  6. docker windows 安装 报错 Component CommunityInstaller.AutoStartAction failed: 尝试执行未经授权的操作

    问题描述: docker windows 版本安装报错. Component CommunityInstaller.AutoStartAction failed: 尝试执行未经授权的操作. 详细报错: ...

  7. ROS入门-4.安装ROS系统(ubuntu20.04版本安装ros的noetic版本)

    ubuntu20.04版本安装ros的noetic版本 1.添加软件源 2.添加密钥 3.更新 4.安装ROS 5.初始化rosdep 6.设置环境变量 7.测试ROS安装是否成功 1.添加软件源 2 ...

  8. mac 卸载php版本,mac 系统下删除旧的php版本安装最新的php版本及Xdebug

    这篇文章介绍的内容是关于mac 系统下删除旧的php版本安装最新的php版本及Xdebug,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的2015版的macpro 系统下默认安装了 ...

  9. oracle11g r2 64 补丁,win10系统下oracle11g R2的64位版本安装教程

    win10下oracle11g r2的64位版本安装教程. 下载 win 64位操作系统 下载地址: https://download.oracle.com/otn/nt/oracle11g/1120 ...

最新文章

  1. 实现iOS图片等资源文件的热更新化(二):自定义的动态 imageNamed
  2. Jzoj3931【NOIP2014day1官方数据】联合权值
  3. Java多线程断点下载
  4. boost::prev_permutation相关的测试程序
  5. mysql的explain的用途,利用Explain来分析和优化你的mysql
  6. 如何编写无法维护的代码 让自己稳拿铁饭碗 ;-)
  7. 【渝粤教育】国家开放大学2018年春季 8625-21T老年心理健康 参考试题
  8. flock SUSE/RHEL
  9. phpcms图片无法上传
  10. 用Flash CS4打开fla文件提示“意外的格式”的解决方法
  11. linux实现wifi中继,树莓派Wifi中继
  12. 使用MTK的SN writer工具写IMEI的方法
  13. Win7更换锁屏和开机画面
  14. 游密科技携手华为云,探讨5G时代下音视频领域的创新变革
  15. 关系型数据库篇(MSSQL)
  16. 你会用Ping检测网络吗?
  17. 破解中国汽车未来,BAT及车企各巨头汇聚世界智能网联汽车大会
  18. 安装算量软件消火栓系统_识别其他设备
  19. 【Python爬虫案例】批量采集网站壁纸,实现自动更换桌面壁纸
  20. 2020计网实验报告

热门文章

  1. 淘宝获取sessionKey
  2. Linux操作系统同时启动多个服务脚本
  3. IntelliJ Idea 常用快捷键列表
  4. alibab仓库 idea_有一说一,这些 IDEA 插件你可能真没用过
  5. WooCommerce最新2.3.10汉化简体中文版语言包mo免费下载
  6. 开机时User服务器未能登录,Win10开机提示user profile service服务登录失败的原因及解决方法...
  7. 【DS实践 | Coursera】Assignment 2 | Applied Plotting, Charting Data Representation in Python
  8. python做网站怎么样_怎么用python做网站?
  9. 快速学习-RocketMQ-“Request-Reply”特性
  10. 明明白白学通C语言 二维码版 pdf