在Ubuntu 20.04上安装ROS Noetic

2021/7/5 7:21:44

本文主要是介绍在Ubuntu 20.04上安装ROS Noetic,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ROS Noetic & Ubuntu 20.04

机器人操作系统(ROS 或小写 ros)是最广泛使用的机器人编程框架,超过 50% 的机器人在 ROS 上运行。针对 Ubuntu 20.04,ROS Noetic Ninjemys 是最新的也是第 13 个 ROS LTS 发行版。它还标志着最后一个 ROS 1 版本;ROS 2 将成为新常态。它于 2020 年 5 月 23 日发布,支持到 2025 年 5 月。最后一个版本是 ROS Melodic,将于 2023 年 5 月终止支持。 ROS Noetic 支持的架构是 amd64、armhf 和 arm64。我们的大多数计算机都将在 amd64 架构上运行,所以我们应该没问题。

Ubuntu 20.04 是最新的 Ubuntu LTS,代号为 Focal Fossa。它已于 2020 年 4 月发布,支持 5 年,直到 2025 年 4 月(标准支持)。对于 ROS 用户,Ubuntu 20.04 具有 Python 3,如果您使用的是 ROS Noetic,则需要修复错误和警告。

安装 ROS Noetic 之前

你应该在你的机器上安装了 Ubuntu 20.04。否则,您仍然可以使用 Docker 进行 ROS Noetic 安装。如果您无法升级到 20.04 或安装 20.04,这意味着您不幸被 18.04 卡住了,我们建议您继续使用或安装 ROS Melodic。

您还应该具有 root 访问权限才能在 Noetic 系统范围内安装。不支持只为一个普通的非 root 帐户安装。

步骤 1 — 为 Ubuntu 20.04 设置 ROS Noetic 存储库

要在 Ubuntu 20.04 上安装 Noetic,首先我们需要将官方 ROS Noetic 存储库添加到sources.list/etc/apt/sources.list我们将创建一个新的列表文件,而不是直接添加到ros-noetic.list。请注意,这与官方 wiki 文章不同,因为ros-latest.list如果有新版本的 ROS ,则不会保持正确。

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#98c379">echo</span> <span style="color:#98c379">"deb http://packages.ros.org/ros/ubuntu focal main"</span> <span style="color:#56b6c2">|</span> <span style="color:#61afef">sudo</span> <span style="color:#61afef">tee</span> /etc/apt/sources.list.d/ros-focal.list</code></span></span>

运行上面的命令后,您将看到输出:deb http://packages.ros.org/ros/ubuntu focal main.

步骤 2 — 添加官方 ROS 密钥环

接下来,我们将需要添加 ROS Noetic 密钥环以获取经过身份验证的 ROS 软件包以安装在您的 Ubuntu 20.04 系统上并避免中间人攻击。添加官方密钥有两种方式,您可以任意选择。如果您有疑问,请选择第一个。

第一个是用来apt-key添加要从Ubuntu密钥服务器下载的密钥。请注意,如果这不起作用,您也可以尝试替换hkp://keyserver.ubuntu.com:80hkp://pgp.mit.edu:80.

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> apt-key adv --keyserver <span style="color:#98c379">'hkp://keyserver.ubuntu.com:80'</span> --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654</code></span></span>

如果您看到以下输出开始执行,则表示密钥已成功添加。可以看到,密钥是由Open Robotics颁发的,它是ROS的维护者。另一个细节是apt-key将密钥下载到目录中tmp,密钥将被自动删除。

<span style="color:#000000"><span style="background-color:#ffffff">执行:/tmp/apt-key-gpghome.mdMVphTCAR/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg:密钥 F42ED6FBAB17C654:已导入公钥“Open Robotics <a data-cke-saved-href="mailto:info@osrfoundation.org" href="mailto:info@osrfoundation.org">info@osrfoundation.org</a> ”
gpg:处理的总数:1
gpg:进口:1</span></span>

在 Ubuntu 20.04 上添加 ROS Noetic 存储库密钥

第二种方式是使用curl下载官方ROS密钥并添加到本地。如果您尝试在无法访问互联网的计算机上安装 Noetic,或者您在代理服务器后面,这是首选。

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">curl</span> -sSL <span style="color:#98c379">'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'</span> <span style="color:#56b6c2">|</span> <span style="color:#61afef">sudo</span> apt-key <span style="color:#61afef">add</span> -</code></span></span>

如果您看到输出“OK”,则密钥添加成功。

在 Ubuntu 20.04 上使用 curl 添加 ros noetic repo 密钥的替代方法

步骤 3 — 更新 ROS 包索引

接下来,我们需要从刚刚添加的存储库中获取 ROS Noetic 包信息 apt update

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> <span style="color:#61afef">apt</span> update</code></span></span>

您将看到如下输出,尤其是粗体文本:

<span style="color:#000000"><span style="background-color:#ffffff">命中:1 http://security.ubuntu.com/ubuntu focus-security InRelease
命中:2 http://dl.google.com/linux/chrome/deb stable InRelease
<strong>命中:3 http://packages.ros.org/ros/ubuntu focus InRelease
</strong>命中:4 http://archive.ubuntu.com/ubuntu focus InRelease
命中:5 https://download.docker.com/linux/ubuntu 仿生 InRelease
命中:6 http://archive.ubuntu.com/ubuntu focus-updates InRelease
命中:7 http://archive.ubuntu.com/ubuntu focus-backports InRelease
阅读包裹清单……完成
构建依赖树
读取状态信息……完成
48个包可以升级。运行 'apt list --upgradable' 来查看它们。</span></span>

在 Ubuntu 20.04 上运行 sudo apt update 以更新 ros noetic repo 索引

步骤 4 — 安装 ROS Noetic 包

现在我们准备好在完成所有准备工作后在 Ubuntu 20.04 上安装 Noetic。与 Ubuntu 的ubuntu-dektop,ubuntu-desktop-mini软件包一样,ROS 也带有元软件包供您安装。

四个官方记录的 ROS Noetic 元包是:

  • ros-noetic-desktop-full
  • ros-noetic-桌面
  • ros-noetic-ros-base
  • ros-noetic-ros-core

在大多数情况下,您需要安装ros-noetic-desktop-full以获得完整的 ROS 体验。

如果你安装了 Ubuntu 桌面版,你会想要安装ros-noetic-desktop-full所有桌面包。这个元包就是我们在这里运行的。但偶尔,如果您安装在不需要任何 GUI 的机器人上,您希望安装ros-noetic-ros-base以节省一些空间并避免使用您的 CPU 和内存资源的某些 ROS 包。下面,我将解释每个 ROS 元包。

安装 ros-noetic-desktop-full

该包ros-noetic-desktop-full包括所有包ros-noetic-desktop以及感知 ( ros-noetic-perception) 和模拟 ( ros-noetic-simulators) 包。

要安装ros-noetic-desktop-full,请运行

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> <span style="color:#61afef">apt</span> <span style="color:#61afef">install</span> ros-noetic-desktop-full</code></span></span>

运行上述命令后,您将看到以下输出。如您所见,将安装 992 个新软件包并占用 2.7 GB 空间。我在屏幕截图后粘贴输出仅供您参考。

按 Y 并输入或简单地按 Enter 继续安装。由于此desktop-full元数据包依赖于许多其他消息,因此整个安装将需要大约 10 分钟。

在 Ubuntu 20.04 上完整安装 ROS Noetic 桌面

<span style="color:#000000"><span style="background-color:#ffffff">vh@varhowto-com:~$ sudo apt install ros-noetic-desktop-full
阅读包裹清单……完成
构建依赖树
读取状态信息……完成
将安装以下附加软件包:
autoconf automake autopoint autotools-dev blt bzip2-doc
cmake cmake-data comerr-dev cpp-8 cython3 debhelper
默认-libmysqlclient-dev dh-autoreconf
dh-strip-nondeterminism docutils-common dwz fltk1.3-doc
流体字体-lato 字体-lyx freeglut3 freeglut3-dev
Gazebo11 Gazebo11-common Gazebo11-plugin-base gcc-8
gcc-8-base gdal-data gettext gfortran gfortran-8
gfortran-9 gir1.2-gtk-2.0 gir1.2-harfbuzz-0.0
google-mock googletest graphviz hddtemp hdf5-helpers
ibverbs-providers icu-devtools 点火工具
intltool-debian javascript-common krb5-multidev
libaec-dev libaec0 libann0 libapr1 libapr1-dev
libaprutil1 libaprutil1-dev libarchive-cpio-perl
libarchive-zip-perl libarmadillo-dev libarmadillo9
libarpack2 libarpack2-dev libassimp-dev libassimp5
libassuan-dev libatk-bridge2.0-dev libatk1.0-dev
libatspi2.0-dev libavcodec-dev libavdevice-dev
libavdevice58 libavfilter-dev libavformat-dev
libavresample-dev libavresample4 libavutil-dev
libblas-dev libblas3 libblkid-dev libboost-all-dev
libboost-atomic-dev libboost-atomic1.71-dev
libboost-atomic1.71.0 libboost-chrono-dev
libboost-chrono1.71-dev libboost-chrono1.71.0
libboost-container-dev libboost-container1.71-dev
libboost-container1.71.0 libboost-context-dev
libboost-context1.71-dev libboost-context1.71.0
libboost-coroutine-dev libboost-coroutine1.71-dev
libboost-coroutine1.71.0 libboost-date-time-dev
libboost-date-time1.71-dev libboost-dev
libboost-exception-dev libboost-exception1.71-dev
libboost-fiber-dev libboost-fiber1.71-dev
libboost-fiber1.71.0 libboost-filesystem-dev
libboost-filesystem1.71-dev libboost-graph-dev
libboost-graph-parallel-dev
libboost-graph-parallel1.71-dev
libboost-graph-parallel1.71.0 libboost-graph1.71-dev
libboost-graph1.71.0 libboost-iostreams-dev
libboost-iostreams1.71-dev libboost-locale-dev
libboost-locale1.71-dev libboost-log-dev
libboost-log1.71-dev libboost-log1.71.0
libboost-math-dev libboost-math1.71-dev
libboost-math1.71.0 libboost-mpi-dev
libboost-mpi-python-dev libboost-mpi-python1.71-dev
libboost-mpi-python1.71.0 libboost-mpi1.71-dev
libboost-mpi1.71.0 libboost-numpy-dev
libboost-numpy1.71-dev libboost-numpy1.71.0
libboost-program-options-dev
libboost-program-options1.71-dev
libboost-program-options1.71.0 libboost-python-dev
libboost-python1.71-dev libboost-python1.71.0
libboost-random-dev libboost-random1.71-dev
libboost-random1.71.0 libboost-regex-dev
libboost-regex1.71-dev libboost-regex1.71.0
libboost 序列化开发
libboost-serialization1.71-dev
libboost-serialization1.71.0 libboost-stacktrace-dev
libboost-stacktrace1.71-dev libboost-stacktrace1.71.0
libboost-system-dev libboost-system1.71-dev
libboost-system1.71.0 libboost-test-dev
libboost-test1.71-dev libboost-test1.71.0
libboost-thread-dev libboost-thread1.71-dev
libboost-timer-dev libboost-timer1.71-dev
libboost-timer1.71.0 libboost-tools-dev
libboost-type-erasure-dev libboost-type-erasure1.71-dev
libboost-type-erasure1.71.0 libboost-wave-dev
libboost-wave1.71-dev libboost-wave1.71.0
libboost1.71-dev libboost1.71-tools-dev libbullet-dev
libbullet2.88 libbz2-dev libcaf-openmpi-3
libcairo-script-interpreter2 libcairo2-dev libcdt5
libcfitsio-dev libcfitsio-doc libcfitsio8 libcgraph6
libcharls-dev libcharls2 libclang1-10 libcoarrays-dev
libcoarrays-openmpi-dev libconsole-bridge-dev
libconsole-bridge0.4 libcroco3 libcurl4-openssl-dev
libdap-dev libdap25 libdapclient6v5 libdapserver7v5
libdatrie-dev libdbus-1-dev libdc1394-22
libdc1394-22-dev libdebhelper-perl libdouble-conversion3
libegl-dev libegl1-mesa-dev libeigen3-dev libepoxy-dev
libepsilon-dev libepsilon1 libevent-core-2.1-7
libevent-dev libevent-extra-2.1-7 libevent-openssl-2.1-7
libevent-pthreads-2.1-7 libexif-dev libexif-doc
libexpat1-dev libfabric1 libffi-dev
libfile-stripnondeterminism-perl libflann-dev
libflann1.9 libfltk-cairo1.3 libfltk-forms1.3
libfltk-gl1.3 libfltk-images1.3 libfltk1.3
libfltk1.3-dev libfontconfig1-dev libfreeimage-dev
libfreeimage3 libfreetype-dev libfreetype6-dev
libfreexl-dev libfreexl1 libfribidi-dev libfyba-dev
libfyba0 libgazebo11 libgazebo11-dev libgcc-8-dev
libgdal-dev libgdal26 libgdcm-dev libgdcm3.0
libgdk-pixbuf2.0-dev libgeos-3.8.0 libgeos-c1v5
libgeos-dev libgeotiff-dev libgeotiff5 libgfortran-8-dev
libgfortran-9-dev libgfortran5 libgif-dev libgl-dev
libgl1-mesa-dev libgl2ps-dev libgl2ps1.4 libgles-dev
libgles1 libglew-dev libglew2.1 libglib2.0-dev
libglib2.0-dev-bin libglu1-mesa-dev libglvnd-dev
libglx-dev libgpg-error-dev libgpgme-dev libgphoto2-dev
libgraphite2-dev libgssrpc4 libgtest-dev libgtk-3-dev
libgtk2.0-dev libgts-0.7-5 libgts-bin libgts-dev libgvc6
libgvpr2 libharfbuzz-dev libharfbuzz-gobject0
libhdf4-0-alt libhdf4-alt-dev libhdf5-103
libhdf5-cpp-103 libhdf5-dev libhdf5-mpi-dev
libhdf5-openmpi-103 libhdf5-openmpi-dev libhwloc-dev
libhwloc-plugins libhwloc15 libibverbs-dev libibverbs1
libice-dev libicu-dev libignition-cmake2-dev
libignition-common3 libignition-common3-av
libignition-common3-av-dev libignition-common3-core-dev
libignition-common3-dev libignition-common3-events
libignition-common3-events-dev
libignition-common3-graphics
libignition-common3-graphics-dev
libignition-common3-profiler
libignition-common3-profiler-dev libignition-fuel-tools4
libignition-fuel-tools4-dev libignition-math6
libignition-math6-dev libignition-msgs5
libignition-msgs5-dev libignition-tools-dev
libignition-transport8 libignition-transport8-core-dev
libignition-transport8-dev libignition-transport8-log
libignition-transport8-log-dev libilmbase-dev
libilmbase24 libjbig-dev libjpeg-dev libjpeg-turbo8-dev
libjpeg8-dev libjs-jquery libjs-jquery-ui libjson-c-dev
libjsoncpp-dev libjsoncpp1 libjxr0 libkadm5clnt-mit11
libkadm5srv-mit11 libkdb5-9 libkml-dev libkmlbase1
libkmlconvenience1 libkmldom1 libkmlengine1
libkmlregionator1 libkmlxsd1 libkrb5-dev liblab-gamut1
liblapack-dev liblapack3 libldap2-dev liblept5 libllvm10
liblog4cxx-dev liblog4cxx10v5 libltdl-dev liblz4-dev
liblzma-dev libmail-sendmail-perl libminizip-dev
libminizip1 libmount-dev libmpx2 libmysqlclient-dev
libnetcdf-c++4 libnetcdf-cxx-legacy-dev libnetcdf-dev
libnetcdf15 libnl-3-dev libnl-route-3-dev libnorm-dev
libnuma-dev libodbc1 libogdi-dev libogdi4.1 libogg-dev
libogre-1.9-dev libogre-1.9.0v5 libopenal-data
libopenal1 libopencv-calib3d-dev libopencv-calib3d4.2
libopencv-contrib-dev libopencv-contrib4.2
libopencv-core-dev libopencv-core4.2 libopencv-dev
libopencv-dnn-dev libopencv-dnn4.2
libopencv-features2d-dev libopencv-features2d4.2
libopencv-flann-dev libopencv-flann4.2
libopencv-highgui-dev libopencv-highgui4.2
libopencv-imgcodecs-dev libopencv-imgcodecs4.2
libopencv-imgproc-dev libopencv-imgproc4.2
libopencv-ml-dev libopencv-ml4.2 libopencv-objdetect-dev
libopencv-objdetect4.2 libopencv-photo-dev
libopencv-photo4.2 libopencv-shape-dev
libopencv-shape4.2 libopencv-stitching-dev
libopencv-stitching4.2 libopencv-superres-dev
libopencv-superres4.2 libopencv-ts-dev
libopencv-video-dev libopencv-video4.2
libopencv-videoio-dev libopencv-videoio4.2
libopencv-videostab-dev libopencv-videostab4.2
libopencv-viz-dev libopencv-viz4.2 libopencv4.2-java
libopencv4.2-jni libopenexr-dev libopenexr24
libopengl-dev libopengl0 libopenjp2-7-dev libopenmpi-dev
libopenmpi3 libopenni-dev libopenni-sensor-pointclouds0
libopenni0 libopenni2-0 libopenni2-dev liborocos-kdl-dev
liborocos-kdl1.4 libpango1.0-dev libpathplan4
libpcl-apps1.10 libpcl-common1.10 libpcl-dev
libpcl-features1.10 libpcl-filters1.10 libpcl-io1.10
libpcl-kdtree1.10 libpcl-keypoints1.10 libpcl-ml1.10
libpcl-octree1.10 libpcl-outofcore1.10 libpcl-people1.10
libpcl-recognition1.10 libpcl-registration1.10
libpcl-sample-consensus1.10 libpcl-search1.10
libpcl-segmentation1.10 libpcl-stereo1.10
libpcl-surface1.10 libpcl-tracking1.10
libpcl-visualization1.10 libpcre16-3 libpcre2-16-0
libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3
libpcrecpp0v5 libpgm-dev libpixman-1-dev libpmix2
libpng-dev libpng-tools libpoco-dev libpococrypto62
libpocodata62 libpocodatamysql62 libpocodataodbc62
libpocodatasqlite62 libpocoencodings62
libpocofoundation62 libpocojson62 libpocomongodb62
libpoconet62 libpoconetssl62 libpocoredis62
libpocoutil62 libpocoxml62 libpocozip62 libpoppler-dev
libpoppler-private-dev libpostproc-dev libpq-dev libpq5
libproj-dev libproj15 libprotobuf-dev libprotobuf-lite17
libprotoc-dev libprotoc17 libpsm-infinipath1 libpsm2-2
libpthread-stubs0-dev libpyside2-dev libpyside2-py3-5.14
libpython3-dev libpython3.8-dev libqhull-dev libqhull-r7
libqhull7 libqt5concurrent5 libqt5core5a libqt5dbus5
libqt5designer5 libqt5designercomponents5 libqt5gui5
libqt5help5 libqt5network5 libqt5opengl5
libqt5opengl5-dev libqt5positioning5 libqt5printsupport5
libqt5qml5 libqt5quick5 libqt5quickparticles5
libqt5quickshapes5 libqt5quicktest5 libqt5quickwidgets5
libqt5sensors5 libqt5sql5 libqt5sql5-sqlite libqt5svg5
libqt5test5 libqt5webchannel5 libqt5webkit5
libqt5webkit5-dev libqt5widgets5 libqt5x11extras5
libqt5xml5 libqwt-qt5-6 libqwt-qt5-dev libraw1394-dev
libraw1394-tools librdmacm1 librhash0 libruby2.7
libsctp-dev libsctp1 libsdformat9 libsdformat9-dev
libsdl2-2.0-0 libselinux1-dev libsepol1-dev
libshiboken2-dev libshiboken2-py3-5.14 libsimbody-dev
libsimbody3.6 libsm-dev libsndio7.0 libsocket++1
libsodium-dev libspatialite-dev libspatialite7 libspnav0
libsqlite3-dev libsub-override-perl libsuperlu-dev
libsuperlu5 libswresample-dev libswscale-dev
libsys-hostname-long-perl libsz2 libtar-dev libtar0
libtbb-dev libtbb2 libtcl8.6 libtesseract4 libthai-dev
libtheora-dev libtiff-dev libtiffxx5 libtinyxml-dev
libtinyxml2-dev libtinyxml2.6.2v5 libtk8.6 libtool
liburdfdom-dev liburdfdom-headers-dev liburdfdom-model
liburdfdom-model-state liburdfdom-sensor
liburdfdom-world liburiparser-dev liburiparser1
libusb-1.0-0-dev libusb-1.0-doc libvtk6.3 libvtk7-dev
libvtk7-java libvtk7-jni libvtk7-qt-dev libvtk7.1p
libvtk7.1p-qt libvulkan-dev libwayland-bin
libwayland-dev libwebp-dev libx11-dev libxau-dev
libxcb-render0-dev libxcb-shm0-dev libxcb-xinerama0
libxcb-xinput0 libxcb1-dev libxcomposite-dev
libxcursor-dev libxdamage-dev libxdmcp-dev
libxerces-c-dev libxerces-c3.2 libxext-dev libxfixes-dev
libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev
libxml2-dev libxml2-utils libxmu-dev libxmu-headers
libxnvctrl0 libxrandr-dev libxrender-dev libxss-dev
libxt-dev libxtst-dev libyaml-cpp-dev libyaml-cpp0.6
libyaml-dev libzip-dev libzmq3-dev libzstd-dev
libzzip-0-13 m4 mpi-default-bin mpi-default-dev odbcinst
odbcinst1debian2 opencv-data openmpi-bin openmpi-common
openni-utils pango1.0-tools po-debconf proj-bin
项目数据 protobuf 编译器 pyqt5-dev
python-matplotlib-data python3-autobahn
python3-catkin-pkg python3-catkin-pkg-modules
python3-cbor python3-cycler python3-defusedxml
python3-dev python3-distutils python3-docutils
python3-empy python3-gnupg python3-kiwisolver
python3-lz4 python3-matplotlib python3-mpi4py
python3-nose python3-numpy python3-opencv python3-opengl
python3-png python3-psutil python3-pycryptodome
python3-pydot python3-pygments python3-pykdl
python3-pyparsing python3-pyqrcode python3-pyqt5
python3-pyqt5.qtopengl python3-pyqt5.qtsvg
python3-pyqt5.qtwebkit python3-pyside2.qtcore
python3-pyside2.qtgui python3-pyside2.qtsvg
python3-pyside2.qtwidgets python3-roman
python3-rosdep-modules python3-rosdistro
python3-rosdistro-modules python3-rospkg
python3-rospkg-modules python3-setuptools python3-sip
python3-sip-dev python3-snappy python3-tk python3-trie
python3-txaio python3-u-msgpack python3-ubjson
python3-vtk7 python3-wsaccel python3.8-dev qdoc-qt5
qhelpgenerator-qt5 qt5-assistant qt5-gtk-platformtheme
qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins
qtattributionsscanner-qt5 qtbase5-dev qtbase5-dev-tools
qtchooser qtdeclarative5-dev qtdeclarative5-dev-tools
qttools5-dev qttools5-dev-tools qttools5-private-dev
qttranslations5-l10n 耙 ros-noetic-actionlib
ros-noetic-actionlib-msgs ros-noetic-actionlib-tutorials
ros-noetic-角度 ros-noetic-bond ros-noetic-bond-core
ros-noetic-bondpy ros-noetic-bondpy
ros-noetic-camera-校准
ros-noetic-camera-calibration-parsers
ros-noetic-camera-info-manager ros-noetic-catkin
ros-noetic-class-loader ros-noetic-cmake-modules
ros-noetic-common-msgs ros-noetic-common-tutorials
ros-noetic-压缩-深度-图像-传输
ros-noetic-compressed-image-transport
ros-noetic-control-msgs ros-noetic-control-toolbox
ros-noetic-控制器接口
ros-noetic-controller-manager
ros-noetic-controller-manager-msgs ros-noetic-cpp-common
ros-noetic-cv-bridge ros-noetic-depth-image-proc
ros-noetic-desktop ros-noetic-diagnostic-aggregator
ros-noetic-诊断-分析
ros-noetic-diagnostic-common-diagnostics
ros-noetic-diagnostic-msgs ros-noetic-diagnostic-updater
ros-noetic-diagnostics ros-noetic-diff-drive-controller
ros-noetic-dynamic-reconfigure
ros-noetic-eigen-conversions ros-noetic-executive-smach
ros-noetic-filters ros-noetic-forward-command-controller
ros-noetic-gazebo-dev ros-noetic-gazebo-msgs
ros-noetic-gazebo-plugins ros-noetic-gazebo-ros
ros-noetic-gazebo-ros-control ros-noetic-gazebo-ros-pkgs
ros-noetic-gencpp ros-noetic-geneus ros-noetic-genlisp
ros-noetic-genmsg ros-noetic-gennodejs ros-noetic-genpy
ros-noetic-geometry ros-noetic-geometry-msgs
ros-noetic-geometry-tutorials ros-noetic-gl-dependency
ros-noetic-hardware-interface ros-noetic-image-common
ros-noetic-image-geometry ros-noetic-image-pipeline
ros-noetic-image-proc ros-noetic-image-publisher
ros-noetic-image-rotate ros-noetic-image-transport
ros-noetic-image-transport-plugins ros-noetic-image-view
ros-noetic-interactive-marker-tutorials
ros-noetic-interactive-markers
ros-noetic-joint-limits-接口
ros-noetic-joint-state-controller
ros-noetic-joint-state-publisher
ros-noetic-joint-state-publisher-gui
ros-noetic-kdl-conversions ros-noetic-kdl-parser
ros-noetic-laser-assembler ros-noetic-laser-filters
ros-noetic-laser-geometry ros-noetic-laser-pipeline
ros-noetic-librviz-tutorial ros-noetic-map-msgs
ros-noetic-media-export ros-noetic-message-filters
ros-noetic-message-generation ros-noetic-message-runtime
ros-noetic-mk ros-noetic-nav-msgs ros-noetic-nodelet
ros-noetic-nodelet-core ros-noetic-nodelet-topic-tools
ros-noetic-nodelet-tutorial-math
ros-noetic-pcl-conversions ros-noetic-pcl-msgs
ros-noetic-pcl-ros ros-noetic-感知
ros-noetic-perception-pcl ros-noetic-pluginlib
ros-noetic-pluginlib-tutorials ros-noetic-polled-camera
ros-noetic-位置控制器
ros-noetic-python-qt-binding ros-noetic-qt-dotgraph
ros-noetic-qt-gui ros-noetic-qt-gui-cpp
ros-noetic-qt-gui-py-common ros-noetic-qwt-dependency
ros-noetic-realtime-tools ros-noetic-resource-retriever
ros-noetic-robot ros-noetic-robot-state-publisher
ros-noetic-ros ros-noetic-ros-base ros-noetic-ros-comm
ros-noetic-ros-core ros-noetic-ros-environment
ros-noetic-ros-tutorials ros-noetic-rosbag
ros-noetic-rosbag-迁移规则
ros-noetic-rosbag-storage ros-noetic-rosbash
ros-noetic-rosboost-cfg ros-noetic-rosbuild
ros-noetic-rosclean ros-noetic-rosconsole
ros-noetic-rosconsole-bridge ros-noetic-roscpp
ros-noetic-roscpp-core ros-noetic-roscpp-序列化
ros-noetic-roscpp-traits ros-noetic-roscpp-tutorials
ros-noetic-roscreate ros-noetic-rosgraph
ros-noetic-rosgraph-msgs ros-noetic-roslang
ros-noetic-roslaunch ros-noetic-roslib
ros-noetic-roslint ros-noetic-roslisp ros-noetic-roslz4
ros-noetic-rosmake ros-noetic-rosmaster
ros-noetic-rosmsg ros-noetic-rosnode ros-noetic-rosout
ros-noetic-rospack ros-noetic-rosparam ros-noetic-rospy
ros-noetic-rospy-tutorials ros-noetic-rosservice
ros-noetic-rostest ros-noetic-rostime
ros-noetic-rostopic ros-noetic-rosunit ros-noetic-roswtf
ros-noetic-rqt-action ros-noetic-rqt-bag
ros-noetic-rqt-bag-plugins ros-noetic-rqt-common-plugins
ros-noetic-rqt-console ros-noetic-rqt-dep
ros-noetic-rqt-graph ros-noetic-rqt-gui
ros-noetic-rqt-gui-cpp ros-noetic-rqt-gui-py
ros-noetic-rqt-image-view ros-noetic-rqt-launch
ros-noetic-rqt-logger-level ros-noetic-rqt-moveit
ros-noetic-rqt-msg ros-noetic-rqt-nav-view
ros-noetic-rqt-plot ros-noetic-rqt-pose-view
ros-noetic-rqt-publisher ros-noetic-rqt-py-common
ros-noetic-rqt-py-console ros-noetic-rqt-reconfigure
ros-noetic-rqt-robot-dashboard
ros-noetic-rqt-robot-monitor
ros-noetic-rqt-robot-plugins
ros-noetic-rqt-robot-steering
ros-noetic-rqt-runtime-monitor ros-noetic-rqt-rviz
ros-noetic-rqt-service-caller ros-noetic-rqt-shell
ros-noetic-rqt-srv ros-noetic-rqt-tf-tree
ros-noetic-rqt-top ros-noetic-rqt-topic
ros-noetic-rqt-web ros-noetic-rviz
ros-noetic-rviz-plugin-tutorials
ros-noetic-rviz-python-tutorial ros-noetic-self-test
ros-noetic-sensor-msgs ros-noetic-shape-msgs
ros-noetic-simulators ros-noetic-smach
ros-noetic-smach-msgs ros-noetic-smach-ros
ros-noetic-smclib ros-noetic-stage ros-noetic-stage-ros
ros-noetic-std-msgs ros-noetic-std-srvs
ros-noetic-stereo-image-proc ros-noetic-stereo-msgs
ros-noetic-tf ros-noetic-tf-conversions ros-noetic-tf2
ros-noetic-tf2-eigen ros-noetic-tf2-geometry-msgs
ros-noetic-tf2-kdl ros-noetic-tf2-msgs ros-noetic-tf2-py
ros-noetic-tf2-ros ros-noetic-theora-image-transport
ros-noetic-topic-tools ros-noetic-trajectory-msgs
ros-noetic-传输接口
ros-noetic-turtle-actionlib ros-noetic-turtle-tf
ros-noetic-turtle-tf2 ros-noetic-turtlesim
ros-noetic-urdf ros-noetic-urdf-parser-plugin
ros-noetic-urdf-sim-tutorial ros-noetic-urdf-tutorial
ros-noetic-vision-opencv
ros-noetic-visualization-marker-tutorials
ros-noetic-visualization-msgs
ros-noetic-visualization-tutorials ros-noetic-viz
ros-noetic-webkit-dependency ros-noetic-xacro
ros-noetic-xmlrpcpp ruby​​ ruby​​-minitest ruby​​-net-telnet
ruby-power-assert ruby​​-test-unit ruby​​-xmlrpc ruby​​2.7
rubygems 集成 sbcl sdformat9-sdf shiboken2
sip-dev 探戈-图标-主题 tcl tcl-dev tcl-vtk7 tcl8.6
tcl8.6-dev tk tk-dev tk8.6 tk8.6-blt2.5 tk8.6-dev
ttf-bitstream-vera ttf-dejavu-core unixodbc-dev uuid-dev
vtk7 wayland-protocols x11proto-core-dev x11proto-dev
x11proto-input-dev x11proto-randr-dev
x11proto-record-dev x11proto-scrnsaver-dev
x11proto-xext-dev x11proto-xinerama-dev
xorg-sgml-doctools xtrans-dev
推荐套餐:
autoconf-archive gnu-standards autoconf-doc blt-demo
cmake-doc ninja-build doc-base gcc-8-locales cython-doc
dh-make Gazebo11-doc gcc-8-multilib gcc-8-doc
gettext-doc libasprintf-dev libgettextpo-dev
gfortran-multilib gfortran-doc gfortran-8-multilib
gfortran-8-doc gfortran-9-multilib gfortran-9-doc
gsfonts graphviz-doc apache2 | 登录 | httpd krb5-doc
python libitpp-dev liblapack-doc libboost-doc
libboost1.71-doc gccxml libboost-contract1.71-dev
libmpfrc++-dev libntl-dev xsltproc doxygen docbook-xsl
默认-jdk fop libcairo2-doc libcurl4-doc libidn11-dev
librtmp-dev libssh2-1-dev libdatrie-doc libeigen3-doc
freetype2-doc libgdal-doc libgeotiff-epsg geotiff-bin
gdal-bin glew-utils libgirepository1.0-dev
libglib2.0-doc libgraphite2-utils krb5-user libgtk-3-doc
libgtk2.0-doc libgts-doc libhdf4-doc hdf4-tools
libhdf5-doc libhwloc-contrib-plugins libice-doc icu-doc
libjs-jquery-ui-docs liblog4cxx-doc libtool-doc
liblzma-doc netcdf-bin netcdf-doc libnorm-doc libmyodbc
odbc-postgresql tdsodbc unixodbc-bin ogdi-bin
食人魔1.9-doc libogre-1.9.0v5-dbg libportaudio2
opencv-doc openmpi-doc openni-doc openni2-doc
imagemagick libpango1.0-doc libpcl-doc postgresql-doc-12
qt5-image-formats-plugins qtwayland5 libraw1394-doc
lksctp-tools libsm-doc sndiod spacenavd sqlite3-doc
libsuperlu-doc libtbb-doc libthai-doc libtinyxml-doc
gcj-jdk vtk7-doc vtk7-examples java-virtual-machine
libwayland-doc libx11-doc libxcb-doc libxerces-c-doc
libxext-doc libxt-doc libyaml-doc m4-doc
libmail-box-perl python-cycler-doc docutils-doc
字体-linuxlibertine | ttf-linux-libertine
texlive-lang-法语 texlive-latex-base
texlive-latex-推荐 dvipng ffmpeg inkscape
ipython3 python-matplotlib-doc python3-cairocffi
python3-gobject python3-scipy python3-tornado
texlive-extra-utils texlive-latex-extra ttf-staypuft
python-nose-doc python-numpy-doc python3-pytest
python3-numpy-dbg libgle3 python-psutil-doc
python-pygments-doc python-pyparsing-doc
python3-pyqt5-dbg python-pyside2-doc
python-setuptools-doc python-sip-doc tix python3-tk-dbg
python-trie-doc python-txaio-doc mayavi2 qt5-doc
firebird-dev ri ruby​​-dev 捆绑器 sbcl-doc sbcl-source
粘液 gnome-icon-theme kdelibs-data tcl-doc
tcl-tclreadline tcl8.6-doc tk-doc tk8.6-doc
将安装以下新软件包:
autoconf automake autopoint autotools-dev blt bzip2-doc
cmake cmake-data comerr-dev cpp-8 cython3 debhelper
默认-libmysqlclient-dev dh-autoreconf
dh-strip-nondeterminism docutils-common dwz fltk1.3-doc
流体字体-lato 字体-lyx freeglut3 freeglut3-dev
Gazebo11 Gazebo11-common Gazebo11-plugin-base gcc-8
gcc-8-base gdal-data gettext gfortran gfortran-8
gfortran-9 gir1.2-gtk-2.0 gir1.2-harfbuzz-0.0
google-mock googletest graphviz hddtemp hdf5-helpers
ibverbs-providers icu-devtools 点火工具
intltool-debian javascript-common krb5-multidev
libaec-dev libaec0 libann0 libapr1 libapr1-dev
libaprutil1 libaprutil1-dev libarchive-cpio-perl
libarchive-zip-perl libarmadillo-dev libarmadillo9
libarpack2 libarpack2-dev libassimp-dev libassimp5
libassuan-dev libatk-bridge2.0-dev libatk1.0-dev
libatspi2.0-dev libavcodec-dev libavdevice-dev
libavdevice58 libavfilter-dev libavformat-dev
libavresample-dev libavresample4 libavutil-dev
libblas-dev libblas3 libblkid-dev libboost-all-dev
libboost-atomic-dev libboost-atomic1.71-dev
libboost-atomic1.71.0 libboost-chrono-dev
libboost-chrono1.71-dev libboost-chrono1.71.0
libboost-container-dev libboost-container1.71-dev
libboost-container1.71.0 libboost-context-dev
libboost-context1.71-dev libboost-context1.71.0
libboost-coroutine-dev libboost-coroutine1.71-dev
libboost-coroutine1.71.0 libboost-date-time-dev
libboost-date-time1.71-dev libboost-dev
libboost-exception-dev libboost-exception1.71-dev
libboost-fiber-dev libboost-fiber1.71-dev
libboost-fiber1.71.0 libboost-filesystem-dev
libboost-filesystem1.71-dev libboost-graph-dev
libboost-graph-parallel-dev
libboost-graph-parallel1.71-dev
libboost-graph-parallel1.71.0 libboost-graph1.71-dev
libboost-graph1.71.0 libboost-iostreams-dev
libboost-iostreams1.71-dev libboost-locale-dev
libboost-locale1.71-dev libboost-log-dev
libboost-log1.71-dev libboost-log1.71.0
libboost-math-dev libboost-math1.71-dev
libboost-math1.71.0 libboost-mpi-dev
libboost-mpi-python-dev libboost-mpi-python1.71-dev
libboost-mpi-python1.71.0 libboost-mpi1.71-dev
libboost-mpi1.71.0 libboost-numpy-dev
libboost-numpy1.71-dev libboost-numpy1.71.0
libboost-program-options-dev
libboost-program-options1.71-dev
libboost-program-options1.71.0 libboost-python-dev
libboost-python1.71-dev libboost-python1.71.0
libboost-random-dev libboost-random1.71-dev
libboost-random1.71.0 libboost-regex-dev
libboost-regex1.71-dev libboost-regex1.71.0
libboost 序列化开发
libboost-serialization1.71-dev
libboost-serialization1.71.0 libboost-stacktrace-dev
libboost-stacktrace1.71-dev libboost-stacktrace1.71.0
libboost-system-dev libboost-system1.71-dev
libboost-system1.71.0 libboost-test-dev
libboost-test1.71-dev libboost-test1.71.0
libboost-thread-dev libboost-thread1.71-dev
libboost-timer-dev libboost-timer1.71-dev
libboost-timer1.71.0 libboost-tools-dev
libboost-type-erasure-dev libboost-type-erasure1.71-dev
libboost-type-erasure1.71.0 libboost-wave-dev
libboost-wave1.71-dev libboost-wave1.71.0
libboost1.71-dev libboost1.71-tools-dev libbullet-dev
libbullet2.88 libbz2-dev libcaf-openmpi-3
libcairo-script-interpreter2 libcairo2-dev libcdt5
libcfitsio-dev libcfitsio-doc libcfitsio8 libcgraph6
libcharls-dev libcharls2 libclang1-10 libcoarrays-dev
libcoarrays-openmpi-dev libconsole-bridge-dev
libconsole-bridge0.4 libcroco3 libcurl4-openssl-dev
libdap-dev libdap25 libdapclient6v5 libdapserver7v5
libdatrie-dev libdbus-1-dev libdc1394-22
libdc1394-22-dev libdebhelper-perl libdouble-conversion3
libegl-dev libegl1-mesa-dev libeigen3-dev libepoxy-dev
libepsilon-dev libepsilon1 libevent-core-2.1-7
libevent-dev libevent-extra-2.1-7 libevent-openssl-2.1-7
libevent-pthreads-2.1-7 libexif-dev libexif-doc
libexpat1-dev libfabric1 libffi-dev
libfile-stripnondeterminism-perl libflann-dev
libflann1.9 libfltk-cairo1.3 libfltk-forms1.3
libfltk-gl1.3 libfltk-images1.3 libfltk1.3
libfltk1.3-dev libfontconfig1-dev libfreeimage-dev
libfreeimage3 libfreetype-dev libfreetype6-dev
libfreexl-dev libfreexl1 libfribidi-dev libfyba-dev
libfyba0 libgazebo11 libgazebo11-dev libgcc-8-dev
libgdal-dev libgdal26 libgdcm-dev libgdcm3.0
libgdk-pixbuf2.0-dev libgeos-3.8.0 libgeos-c1v5
libgeos-dev libgeotiff-dev libgeotiff5 libgfortran-8-dev
libgfortran-9-dev libgfortran5 libgif-dev libgl-dev
libgl1-mesa-dev libgl2ps-dev libgl2ps1.4 libgles-dev
libgles1 libglew-dev libglew2.1 libglib2.0-dev
libglib2.0-dev-bin libglu1-mesa-dev libglvnd-dev
libglx-dev libgpg-error-dev libgpgme-dev libgphoto2-dev
libgraphite2-dev libgssrpc4 libgtest-dev libgtk-3-dev
libgtk2.0-dev libgts-0.7-5 libgts-bin libgts-dev libgvc6
libgvpr2 libharfbuzz-dev libharfbuzz-gobject0
libhdf4-0-alt libhdf4-alt-dev libhdf5-103
libhdf5-cpp-103 libhdf5-dev libhdf5-mpi-dev
libhdf5-openmpi-103 libhdf5-openmpi-dev libhwloc-dev
libhwloc-plugins libhwloc15 libibverbs-dev libibverbs1
libice-dev libicu-dev libignition-cmake2-dev
libignition-common3 libignition-common3-av
libignition-common3-av-dev libignition-common3-core-dev
libignition-common3-dev libignition-common3-events
libignition-common3-events-dev
libignition-common3-graphics
libignition-common3-graphics-dev
libignition-common3-profiler
libignition-common3-profiler-dev libignition-fuel-tools4
libignition-fuel-tools4-dev libignition-math6
libignition-math6-dev libignition-msgs5
libignition-msgs5-dev libignition-tools-dev
libignition-transport8 libignition-transport8-core-dev
libignition-transport8-dev libignition-transport8-log
libignition-transport8-log-dev libilmbase-dev
libilmbase24 libjbig-dev libjpeg-dev libjpeg-turbo8-dev
libjpeg8-dev libjs-jquery libjs-jquery-ui libjson-c-dev
libjsoncpp-dev libjsoncpp1 libjxr0 libkadm5clnt-mit11
libkadm5srv-mit11 libkdb5-9 libkml-dev libkmlbase1
libkmlconvenience1 libkmldom1 libkmlengine1
libkmlregionator1 libkmlxsd1 libkrb5-dev liblab-gamut1
liblapack-dev liblapack3 libldap2-dev liblept5 libllvm10
liblog4cxx-dev liblog4cxx10v5 libltdl-dev liblz4-dev
liblzma-dev libmail-sendmail-perl libminizip-dev
libminizip1 libmount-dev libmpx2 libmysqlclient-dev
libnetcdf-c++4 libnetcdf-cxx-legacy-dev libnetcdf-dev
libnetcdf15 libnl-3-dev libnl-route-3-dev libnorm-dev
libnuma-dev libodbc1 libogdi-dev libogdi4.1 libogg-dev
libogre-1.9-dev libogre-1.9.0v5 libopenal-data
libopenal1 libopencv-calib3d-dev libopencv-calib3d4.2
libopencv-contrib-dev libopencv-contrib4.2
libopencv-core-dev libopencv-core4.2 libopencv-dev
libopencv-dnn-dev libopencv-dnn4.2
libopencv-features2d-dev libopencv-features2d4.2
libopencv-flann-dev libopencv-flann4.2
libopencv-highgui-dev libopencv-highgui4.2
libopencv-imgcodecs-dev libopencv-imgcodecs4.2
libopencv-imgproc-dev libopencv-imgproc4.2
libopencv-ml-dev libopencv-ml4.2 libopencv-objdetect-dev
libopencv-objdetect4.2 libopencv-photo-dev
libopencv-photo4.2 libopencv-shape-dev
libopencv-shape4.2 libopencv-stitching-dev
libopencv-stitching4.2 libopencv-superres-dev
libopencv-superres4.2 libopencv-ts-dev
libopencv-video-dev libopencv-video4.2
libopencv-videoio-dev libopencv-videoio4.2
libopencv-videostab-dev libopencv-videostab4.2
libopencv-viz-dev libopencv-viz4.2 libopencv4.2-java
libopencv4.2-jni libopenexr-dev libopenexr24
libopengl-dev libopengl0 libopenjp2-7-dev libopenmpi-dev
libopenmpi3 libopenni-dev libopenni-sensor-pointclouds0
libopenni0 libopenni2-0 libopenni2-dev liborocos-kdl-dev
liborocos-kdl1.4 libpango1.0-dev libpathplan4
libpcl-apps1.10 libpcl-common1.10 libpcl-dev
libpcl-features1.10 libpcl-filters1.10 libpcl-io1.10
libpcl-kdtree1.10 libpcl-keypoints1.10 libpcl-ml1.10
libpcl-octree1.10 libpcl-outofcore1.10 libpcl-people1.10
libpcl-recognition1.10 libpcl-registration1.10
libpcl-sample-consensus1.10 libpcl-search1.10
libpcl-segmentation1.10 libpcl-stereo1.10
libpcl-surface1.10 libpcl-tracking1.10
libpcl-visualization1.10 libpcre16-3 libpcre2-16-0
libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3
libpcrecpp0v5 libpgm-dev libpixman-1-dev libpmix2
libpng-dev libpng-tools libpoco-dev libpococrypto62
libpocodata62 libpocodatamysql62 libpocodataodbc62
libpocodatasqlite62 libpocoencodings62
libpocofoundation62 libpocojson62 libpocomongodb62
libpoconet62 libpoconetssl62 libpocoredis62
libpocoutil62 libpocoxml62 libpocozip62 libpoppler-dev
libpoppler-private-dev libpostproc-dev libpq-dev libpq5
libproj-dev libproj15 libprotobuf-dev libprotobuf-lite17
libprotoc-dev libprotoc17 libpsm-infinipath1 libpsm2-2
libpthread-stubs0-dev libpyside2-dev libpyside2-py3-5.14
libpython3-dev libpython3.8-dev libqhull-dev libqhull-r7
libqhull7 libqt5concurrent5 libqt5core5a libqt5dbus5
libqt5designer5 libqt5designercomponents5 libqt5gui5
libqt5help5 libqt5network5 libqt5opengl5
libqt5opengl5-dev libqt5positioning5 libqt5printsupport5
libqt5qml5 libqt5quick5 libqt5quickparticles5
libqt5quickshapes5 libqt5quicktest5 libqt5quickwidgets5
libqt5sensors5 libqt5sql5 libqt5sql5-sqlite libqt5svg5
libqt5test5 libqt5webchannel5 libqt5webkit5
libqt5webkit5-dev libqt5widgets5 libqt5x11extras5
libqt5xml5 libqwt-qt5-6 libqwt-qt5-dev libraw1394-dev
libraw1394-tools librdmacm1 librhash0 libruby2.7
libsctp-dev libsctp1 libsdformat9 libsdformat9-dev
libsdl2-2.0-0 libselinux1-dev libsepol1-dev
libshiboken2-dev libshiboken2-py3-5.14 libsimbody-dev
libsimbody3.6 libsm-dev libsndio7.0 libsocket++1
libsodium-dev libspatialite-dev libspatialite7 libspnav0
libsqlite3-dev libsub-override-perl libsuperlu-dev
libsuperlu5 libswresample-dev libswscale-dev
libsys-hostname-long-perl libsz2 libtar-dev libtar0
libtbb-dev libtbb2 libtcl8.6 libtesseract4 libthai-dev
libtheora-dev libtiff-dev libtiffxx5 libtinyxml-dev
libtinyxml2-dev libtinyxml2.6.2v5 libtk8.6 libtool
liburdfdom-dev liburdfdom-headers-dev liburdfdom-model
liburdfdom-model-state liburdfdom-sensor
liburdfdom-world liburiparser-dev liburiparser1
libusb-1.0-0-dev libusb-1.0-doc libvtk6.3 libvtk7-dev
libvtk7-java libvtk7-jni libvtk7-qt-dev libvtk7.1p
libvtk7.1p-qt libvulkan-dev libwayland-bin
libwayland-dev libwebp-dev libx11-dev libxau-dev
libxcb-render0-dev libxcb-shm0-dev libxcb-xinerama0
libxcb-xinput0 libxcb1-dev libxcomposite-dev
libxcursor-dev libxdamage-dev libxdmcp-dev
libxerces-c-dev libxerces-c3.2 libxext-dev libxfixes-dev
libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev
libxml2-dev libxml2-utils libxmu-dev libxmu-headers
libxnvctrl0 libxrandr-dev libxrender-dev libxss-dev
libxt-dev libxtst-dev libyaml-cpp-dev libyaml-cpp0.6
libyaml-dev libzip-dev libzmq3-dev libzstd-dev
libzzip-0-13 m4 mpi-default-bin mpi-default-dev odbcinst
odbcinst1debian2 opencv-data openmpi-bin openmpi-common
openni-utils pango1.0-tools po-debconf proj-bin
项目数据 protobuf 编译器 pyqt5-dev
python-matplotlib-data python3-autobahn
python3-catkin-pkg python3-catkin-pkg-modules
python3-cbor python3-cycler python3-defusedxml
python3-dev python3-distutils python3-docutils
python3-empy python3-gnupg python3-kiwisolver
python3-lz4 python3-matplotlib python3-mpi4py
python3-nose python3-numpy python3-opencv python3-opengl
python3-png python3-psutil python3-pycryptodome
python3-pydot python3-pygments python3-pykdl
python3-pyparsing python3-pyqrcode python3-pyqt5
python3-pyqt5.qtopengl python3-pyqt5.qtsvg
python3-pyqt5.qtwebkit python3-pyside2.qtcore
python3-pyside2.qtgui python3-pyside2.qtsvg
python3-pyside2.qtwidgets python3-roman
python3-rosdep-modules python3-rosdistro
python3-rosdistro-modules python3-rospkg
python3-rospkg-modules python3-setuptools python3-sip
python3-sip-dev python3-snappy python3-tk python3-trie
python3-txaio python3-u-msgpack python3-ubjson
python3-vtk7 python3-wsaccel python3.8-dev qdoc-qt5
qhelpgenerator-qt5 qt5-assistant qt5-gtk-platformtheme
qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins
qtattributionsscanner-qt5 qtbase5-dev qtbase5-dev-tools
qtchooser qtdeclarative5-dev qtdeclarative5-dev-tools
qttools5-dev qttools5-dev-tools qttools5-private-dev
qttranslations5-l10n 耙 ros-noetic-actionlib
ros-noetic-actionlib-msgs ros-noetic-actionlib-tutorials
ros-noetic-角度 ros-noetic-bond ros-noetic-bond-core
ros-noetic-bondpy ros-noetic-bondpy
ros-noetic-camera-校准
ros-noetic-camera-calibration-parsers
ros-noetic-camera-info-manager ros-noetic-catkin
ros-noetic-class-loader ros-noetic-cmake-modules
ros-noetic-common-msgs ros-noetic-common-tutorials
ros-noetic-压缩-深度-图像-传输
ros-noetic-compressed-image-transport
ros-noetic-control-msgs ros-noetic-control-toolbox
ros-noetic-控制器接口
ros-noetic-controller-manager
ros-noetic-controller-manager-msgs ros-noetic-cpp-common
ros-noetic-cv-bridge ros-noetic-depth-image-proc
ros-noetic-desktop ros-noetic-desktop-full
ros-noetic-diagnostic-aggregator
ros-noetic-诊断-分析
ros-noetic-diagnostic-common-diagnostics
ros-noetic-diagnostic-msgs ros-noetic-diagnostic-updater
ros-noetic-diagnostics ros-noetic-diff-drive-controller
ros-noetic-dynamic-reconfigure
ros-noetic-eigen-conversions ros-noetic-executive-smach
ros-noetic-filters ros-noetic-forward-command-controller
ros-noetic-gazebo-dev ros-noetic-gazebo-msgs
ros-noetic-gazebo-plugins ros-noetic-gazebo-ros
ros-noetic-gazebo-ros-control ros-noetic-gazebo-ros-pkgs
ros-noetic-gencpp ros-noetic-geneus ros-noetic-genlisp
ros-noetic-genmsg ros-noetic-gennodejs ros-noetic-genpy
ros-noetic-geometry ros-noetic-geometry-msgs
ros-noetic-geometry-tutorials ros-noetic-gl-dependency
ros-noetic-hardware-interface ros-noetic-image-common
ros-noetic-image-geometry ros-noetic-image-pipeline
ros-noetic-image-proc ros-noetic-image-publisher
ros-noetic-image-rotate ros-noetic-image-transport
ros-noetic-image-transport-plugins ros-noetic-image-view
ros-noetic-interactive-marker-tutorials
ros-noetic-interactive-markers
ros-noetic-joint-limits-接口
ros-noetic-joint-state-controller
ros-noetic-joint-state-publisher
ros-noetic-joint-state-publisher-gui
ros-noetic-kdl-conversions ros-noetic-kdl-parser
ros-noetic-laser-assembler ros-noetic-laser-filters
ros-noetic-laser-geometry ros-noetic-laser-pipeline
ros-noetic-librviz-tutorial ros-noetic-map-msgs
ros-noetic-media-export ros-noetic-message-filters
ros-noetic-message-generation ros-noetic-message-runtime
ros-noetic-mk ros-noetic-nav-msgs ros-noetic-nodelet
ros-noetic-nodelet-core ros-noetic-nodelet-topic-tools
ros-noetic-nodelet-tutorial-math
ros-noetic-pcl-conversions ros-noetic-pcl-msgs
ros-noetic-pcl-ros ros-noetic-感知
ros-noetic-perception-pcl ros-noetic-pluginlib
ros-noetic-pluginlib-tutorials ros-noetic-polled-camera
ros-noetic-位置控制器
ros-noetic-python-qt-binding ros-noetic-qt-dotgraph
ros-noetic-qt-gui ros-noetic-qt-gui-cpp
ros-noetic-qt-gui-py-common ros-noetic-qwt-dependency
ros-noetic-realtime-tools ros-noetic-resource-retriever
ros-noetic-robot ros-noetic-robot-state-publisher
ros-noetic-ros ros-noetic-ros-base ros-noetic-ros-comm
ros-noetic-ros-core ros-noetic-ros-environment
ros-noetic-ros-tutorials ros-noetic-rosbag
ros-noetic-rosbag-迁移规则
ros-noetic-rosbag-storage ros-noetic-rosbash
ros-noetic-rosboost-cfg ros-noetic-rosbuild
ros-noetic-rosclean ros-noetic-rosconsole
ros-noetic-rosconsole-bridge ros-noetic-roscpp
ros-noetic-roscpp-core ros-noetic-roscpp-序列化
ros-noetic-roscpp-traits ros-noetic-roscpp-tutorials
ros-noetic-roscreate ros-noetic-rosgraph
ros-noetic-rosgraph-msgs ros-noetic-roslang
ros-noetic-roslaunch ros-noetic-roslib
ros-noetic-roslint ros-noetic-roslisp ros-noetic-roslz4
ros-noetic-rosmake ros-noetic-rosmaster
ros-noetic-rosmsg ros-noetic-rosnode ros-noetic-rosout
ros-noetic-rospack ros-noetic-rosparam ros-noetic-rospy
ros-noetic-rospy-tutorials ros-noetic-rosservice
ros-noetic-rostest ros-noetic-rostime
ros-noetic-rostopic ros-noetic-rosunit ros-noetic-roswtf
ros-noetic-rqt-action ros-noetic-rqt-bag
ros-noetic-rqt-bag-plugins ros-noetic-rqt-common-plugins
ros-noetic-rqt-console ros-noetic-rqt-dep
ros-noetic-rqt-graph ros-noetic-rqt-gui
ros-noetic-rqt-gui-cpp ros-noetic-rqt-gui-py
ros-noetic-rqt-image-view ros-noetic-rqt-launch
ros-noetic-rqt-logger-level ros-noetic-rqt-moveit
ros-noetic-rqt-msg ros-noetic-rqt-nav-view
ros-noetic-rqt-plot ros-noetic-rqt-pose-view
ros-noetic-rqt-publisher ros-noetic-rqt-py-common
ros-noetic-rqt-py-console ros-noetic-rqt-reconfigure
ros-noetic-rqt-robot-dashboard
ros-noetic-rqt-robot-monitor
ros-noetic-rqt-robot-plugins
ros-noetic-rqt-robot-steering
ros-noetic-rqt-runtime-monitor ros-noetic-rqt-rviz
ros-noetic-rqt-service-caller ros-noetic-rqt-shell
ros-noetic-rqt-srv ros-noetic-rqt-tf-tree
ros-noetic-rqt-top ros-noetic-rqt-topic
ros-noetic-rqt-web ros-noetic-rviz
ros-noetic-rviz-plugin-tutorials
ros-noetic-rviz-python-tutorial ros-noetic-self-test
ros-noetic-sensor-msgs ros-noetic-shape-msgs
ros-noetic-simulators ros-noetic-smach
ros-noetic-smach-msgs ros-noetic-smach-ros
ros-noetic-smclib ros-noetic-stage ros-noetic-stage-ros
ros-noetic-std-msgs ros-noetic-std-srvs
ros-noetic-stereo-image-proc ros-noetic-stereo-msgs
ros-noetic-tf ros-noetic-tf-conversions ros-noetic-tf2
ros-noetic-tf2-eigen ros-noetic-tf2-geometry-msgs
ros-noetic-tf2-kdl ros-noetic-tf2-msgs ros-noetic-tf2-py
ros-noetic-tf2-ros ros-noetic-theora-image-transport
ros-noetic-topic-tools ros-noetic-trajectory-msgs
ros-noetic-传输接口
ros-noetic-turtle-actionlib ros-noetic-turtle-tf
ros-noetic-turtle-tf2 ros-noetic-turtlesim
ros-noetic-urdf ros-noetic-urdf-parser-plugin
ros-noetic-urdf-sim-tutorial ros-noetic-urdf-tutorial
ros-noetic-vision-opencv
ros-noetic-visualization-marker-tutorials
ros-noetic-visualization-msgs
ros-noetic-visualization-tutorials ros-noetic-viz
ros-noetic-webkit-dependency ros-noetic-xacro
ros-noetic-xmlrpcpp ruby​​ ruby​​-minitest ruby​​-net-telnet
ruby-power-assert ruby​​-test-unit ruby​​-xmlrpc ruby​​2.7
rubygems 集成 sbcl sdformat9-sdf shiboken2
sip-dev 探戈-图标-主题 tcl tcl-dev tcl-vtk7 tcl8.6
tcl8.6-dev tk tk-dev tk8.6 tk8.6-blt2.5 tk8.6-dev
ttf-bitstream-vera ttf-dejavu-core unixodbc-dev uuid-dev
vtk7 wayland-protocols x11proto-core-dev x11proto-dev
x11proto-input-dev x11proto-randr-dev
x11proto-record-dev x11proto-scrnsaver-dev
x11proto-xext-dev x11proto-xinerama-dev
xorg-sgml-doctools xtrans-dev
0 升级,992 新安装,0 删除,49 未升级。
需要获得 529 MB 的档案。
此操作后,将使用 2,706 MB 的额外磁盘空间。
你要继续吗?[是/否]</span></span>

安装 ros-noetic-desktop

ros-noetic-desktop是 的精简版ros-noetic-desktop-full,还包含大多数教程包。具体来说,它包括以下软件包:

  • 机器人
  • 可见
  • 角度
  • common_tutorials
  • 几何教程
  • Joint_state_publisher_gui
  • ros_tutorials
  • 罗斯林特
  • urdf_tutorial
  • 可视化教程

要安装ros-noetic-desktop,请运行

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> <span style="color:#61afef">apt</span> <span style="color:#61afef">install</span> ros-noetic-desktop</code></span></span>

安装 ros-noetic-base

正如您可能猜到的,ros-noetic-base只包含基本的 ROS 包。它扩展ros_core并包含了其他基本的非机器人工具,如 actionlib、动态重新配置、nodelets 和 pluginlib。

要安装ros-noetic-base,请运行

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> <span style="color:#61afef">apt</span> <span style="color:#61afef">install</span> ros-noetic-base</code></span></span>

安装 ros-noetic-core

ros-noetic-core是最起码的核心包的集合。发布者、订阅者、服务、启动文件和其他核心 ROS 概念需要这些包。以下是完整列表:

  • 柳絮
  • 类加载器
  • cmake_modules
  • common_msgs
  • 生成器
  • genlisp
  • 消息
  • gennodejs
  • 根皮
  • 消息生成
  • 消息运行时
  • 插件库
  • 罗斯
  • ros_comm
  • rosbag_migration_rule
  • 控制台
  • rosconsole_bridge
  • roscpp_core
  • rosgraph_msgs
  • 罗斯利普
  • rospack
  • 标准消息
  • 标准服务器

要安装ros-noetic-core,请运行

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#61afef">sudo</span> <span style="color:#61afef">apt</span> <span style="color:#61afef">install</span> ros-noetic-core</code></span></span>

设置 ROS Noetic 环境

在您的 Ubuntu 20.04 计算机上安装 ROS Noetic 后,我们现在将设置您的环境。为了使用 ROS 终端命令并catkin在包含目录中找到头文件等 ROS 程序文件,您需要setup.bash在运行apt install. 为此,请运行以下命令:

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#98c379">source</span> /opt/ros/noetic/setup.bash</code></span></span>

为避免每次都运行上述命令,尤其是在使用ROS开发时,建议将其放在.bashrc位于主目录的文件中~。为此,请运行以下命令:

<span style="background-color:#282c34"><span style="color:white"><code class="language-bash"><span style="color:#98c379">echo</span> <span style="color:#98c379">"source /opt/ros/noetic/setup.bash"</span> <span style="color:#56b6c2">>></span> ~/.bashrc</code></span></span>

运行tail ~/.bashrc仔细检查,您应该看到setup.bash正在采购:

在 Ubuntu 20.04 上设置 ROS Noetic 环境:在 .bashrc 文件中添加 source ros noetic setup.bash 文件

要使其生效,请打开一个新的终端选项卡(默认 GNOME 终端中的 Ctrl-Shift-t)或运行source ~/.bashrc. ~/.bashrc。点.是 的快捷方式source

如果您使用的是zsh代替bash,请运行以下命令:

<span style="background-color:#282c34"><span style="color:white"><code>echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc</code></span></span>

同样,要使其生效,请打开一个新的终端选项卡 (Ctrl-Shift-t) 或窗口 (Ctrl-Shift-n) 或运行source ~/.zshrc

验证 Noetic 安装

恭喜!现在你学会了如何在 Ubuntu 20.04 上安装 ROS Noetic。但是我们怎么知道它安装成功呢?

我们可以简单地运行roscd. 您可以看到提示的当前目录更改为我们安装 Noetic: 的位置/opt/ros/noetic

通过运行 roscd 验证 ROS Noetic 是否安装在 Ubuntu 20.04 上

我们还可以通过运行roscore启动一个 ros master 来验证安装。您将看到roscore正在登录一个日志文件~/.ros/log/。您还可以在摘要中看到 ros 发行版和 ros 版本。此外,您还知道 ROS 主 URI 位于 11311 端口上,这是默认的 ROS 端口。

通过运行 roscore 验证 ROS Noetic 是否安装在 Ubuntu 20.04 上

在最新的 Ubuntu — Ubuntu 20.04 上使用最新的 ROS 版本 ROS Noetic 为您的机器人编程,玩得开心!

参考:

http://wiki.ros.org/noetic/Installation/Ubuntu

http://wiki.ros.org/Distributions#Noetic_Ninjemys

在 Ubuntu 20.04 上安装 ROS Noetic 的 4 个步骤

所需时间: 20分钟

  1. 在 Ubuntu 20.04 上设置 ROS Noetic 存储库

    运行此命令将 ROS Noetic 存储库添加到 apt 的源列表: echo "deb http://packages.ros.org/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-focal.list

  2. 添加官方 ROS 钥匙圈

    运行以下命令添加 ROS 密钥以对 ROS 包进行身份验证: sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    图 34

  3. 更新ROS包索引

    只需运行sudo apt update
    图 36

  4. 在 Ubuntu 20.04 上安装 ROS Noetic 桌面完整元包

    运行sudo apt install ros-noetic-desktop-full以最终在您的 Ubuntu 20.04 机器上安装 Noetic。在 Ubuntu 20.03 上完整安装 ROS Noetic 桌面

工具

  • 终端
  • 卷曲
  • 易于

材料

  • Ubuntu 20.04

常问问题

  1. 如何修复“无法找到包 ros-noetic-desktop-full”?

    您看到 的原因有多种Unable to locate package ros-noetic-desktop-full

    1. 确保您遵循了前 3 个步骤:添加 ROS Noetic repo,添加 ROS 密钥环,然后运行sudo apt update以获取所有 Noetci 包的元信息的本地副本。

    2. 确保你有 Ubuntu 20.04 或 Debian 10 Buster,而不是像 18.04 或 Debian 9 这样的旧版 Ubuntu。Noetic 只支持 Ubuntu 20.04 和 Debian 10,否则你会收到这样的错误信息:“无法找到软件包 ros-noetic-desktop -满的”。

    修复它的选项:

    Noetic 支持的计算机架构是 amd64、armhf 和 arm64,其中不包括 Raspberry Pi。您必须在 Raspberry Pi 上从源代码编译 Noetic 包,请参阅我们的指南。

    如果您必须在其他不受支持的操作系统上安装 Noetic,请考虑使用 Docker 进行 ROS Noetic 安装。

  2. 如何在 Ubuntu 18.04 上安装 ROS Noetic?

    官方的答案是否定的。ROS Noetic 在 Ubuntu 20.04 上使用并依赖系统库,这些库在 18.04 上已经很旧,可能引入了重大更改。18.04 的 ROS 版本是 Melodic;我们有一个在 Ubuntu 18.04 上安装 ROS Melodic的教程。

    但是,在 Ubuntu 18.04 上安装 ROS Noetic 的方法是通过 Docker 安装 Noetic。单击链接以查看我们的分步指南。

如果您有任何其他问题,请在评论中告诉我们!



这篇关于在Ubuntu 20.04上安装ROS Noetic的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程