在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:80
为hkp://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>
第二种方式是使用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”,则密钥添加成功。
步骤 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>
步骤 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 分钟。
<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 ruby2.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 ruby2.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
正在采购:
要使其生效,请打开一个新的终端选项卡(默认 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
。
我们还可以通过运行roscore
启动一个 ros master 来验证安装。您将看到roscore
正在登录一个日志文件~/.ros/log/
。您还可以在摘要中看到 ros 发行版和 ros 版本。此外,您还知道 ROS 主 URI 位于 11311 端口上,这是默认的 ROS 端口。
在最新的 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分钟
- 在 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
- 添加官方 ROS 钥匙圈
运行以下命令添加 ROS 密钥以对 ROS 包进行身份验证:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 更新ROS包索引
只需运行
sudo apt update
。 - 在 Ubuntu 20.04 上安装 ROS Noetic 桌面完整元包
运行
sudo apt install ros-noetic-desktop-full
以最终在您的 Ubuntu 20.04 机器上安装 Noetic。
工具
- 终端
- 卷曲
- 易于
材料
- Ubuntu 20.04
常问问题
- 如何修复“无法找到包 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 安装。 - 如何在 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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享