【ROS2】高级:模拟器-Webot-安装(Ubuntu)

可以与 ROS 2 一起使用的几种先进的机器人模拟器,如 Gazebo、Webots 等。与 turtlesim 不同,它们依赖于基于物理的机器人、传感器、执行器和物体模型,提供相当真实的结果。因此,您在模拟中观察到的内容与将 ROS 2 控制器转移到真实机器人时的结果非常接近。

这套教程将教你如何使用 ROS 2 配置不同的模拟器

Webots

这套教程将教你如何配置带有 ROS 2 的 Webots 模拟器。

  •  安装 (Ubuntu)

  •  安装 (Windows)

  •  安装 (macOS)

  • 设置机器人模拟(基础)

  • 设置机器人模拟(高级)

  • 设置重置处理程序

  •  Ros2Supervisor 节点

 安装 (Ubuntu) 

目标:安装 webots_ros2 软件包并在 Ubuntu 上运行模拟示例。

 教程级别:高级

 时间:10 分钟

 目录

  •  背景

  •  先决条件

    • 多个安装 Webots

  •  任务

    •  1 安装 webots_ros2

    •  2 启动 webots_ros2_universal_robot 示例

 背景

webots_ros2 软件包提供了 ROS 2 和 Webots 之间的接口。它包括几个子包,其中包括 webots_ros2_driver ,它允许您启动 Webots 并与之通信。此接口在以下大多数教程中使用,因此需要预先安装它。其他子包主要是使用该接口显示多种可能实现的示例。在本教程中,您将安装该软件包并学习如何运行这些示例之一。

先决条件

建议了解初学者教程中涵盖的基本 ROS 原理。特别是,创建工作区和创建包是有用的先决条件。

应安装 Webots 软件以使用 webots_ros2 接口。您可以按照安装程序进行安装https://cyberbotics.com/doc/guide/installation-procedure 或从源代码构建https://github.com/cyberbotics/webots/wiki/Linux-installation/。

或者,您也可以让 webots_ros2 自动下载和安装 Webots。当您启动包的示例并且没有找到 Webots 安装时,会出现此选项。

多个安装 Webots

如果您在计算机上安装了不同版本的 Webots, webots_ros2 将按以下顺序查找 Webots:

  1. 如果设置了 ROS2_WEBOTS_HOME 环境变量,ROS 2 将使用此文件夹中的 Webots,而不管其版本如何。

  2. 如果设置了 WEBOTS_HOME 环境变量,ROS 2 将使用此文件夹中的 Webots,而不管其版本如何。

  3. 如果这些变量都没有设置, webots_ros2 将在兼容版本的默认安装路径中查找 Webots: /usr/local/webots 和 /snap/webots/current/usr/share/webots 。

  4. 如果找不到 Webots, webots_ros2 将显示一个窗口,提供最新兼容版本 Webots 的自动安装。

 任务

 1 安装 webots_ros2 

您可以安装官方发布的软件包,或者从 Github 上安装最新的更新源

安装 webots_ros2 分布式软件包

在终端中运行以下命令。

sudo apt-get install ros-jazzy-webots-ros2

从源代码安装 webots_ros2

// 创建一个包含其 src 目录的 ROS 2 工作区
mkdir -p ~/ros2_ws/src 
source /opt/ros/jazzy/setup.bash  // 源 ROS 2 环境。
// 从 Github 检索源代码。
cd ~/ros2_ws
git clone --recurse-submodules https://github.com/cyberbotics/webots_ros2.git src/webots_ros2


// 安装软件包依赖项。
sudo apt install python3-pip python3-rosdep python3-colcon-common-extensions
sudo rosdep init && rosdep update
rosdep install --from-paths src --ignore-src --rosdistro jazzy


// 使用 colcon 构建包。
colcon build
// 获取此工作区。
source install/local_setup.bash
cxy@ubuntu2404-cxy:~/ros2_ws$ git clone --recurse-submodules https://github.com/cyberbotics/webots_ros2.git src/webots_ros2
正克隆到 'src/webots_ros2'...
remote: Enumerating objects: 13903, done.
remote: Counting objects: 100% (3194/3194), done.
remote: Compressing objects: 100% (787/787), done.
remote: Total 13903 (delta 2603), reused 2729 (delta 2380), pack-reused 10709
接收对象中: 100% (13903/13903), 55.79 MiB | 1.96 MiB/s, 完成.
处理 delta 中: 100% (9481/9481), 完成.
子模组 'webots_ros2_importer/webots_ros2_importer/urdf2webots'(https://github.com/cyberbotics/urdf2webots.git)已对路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots' 注册
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots'...
remote: Enumerating objects: 3474, done.        
remote: Counting objects: 100% (737/737), done.        
remote: Compressing objects: 100% (410/410), done.        
remote: Total 3474 (delta 472), reused 532 (delta 318), pack-reused 2737        
接收对象中: 100% (3474/3474), 114.00 MiB | 2.16 MiB/s, 完成.
处理 delta 中: 100% (1718/1718), 完成.
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots':检出 '905b12c8abdb1e3a847a0fc8d10772d1a5a0d7fe'
子模组 'tests/sources/motoman'(https://github.com/ros-industrial/motoman.git)已对路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman' 注册
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'...
fatal: 无法访问 'https://github.com/ros-industrial/motoman.git/':gnutls_handshake() failed: The TLS connection was non-properly terminated.
fatal: 无法克隆 'https://github.com/ros-industrial/motoman.git' 到子模组路径 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'
克隆 'tests/sources/motoman' 失败。按计划重试
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'...
remote: Enumerating objects: 8983, done.        
remote: Counting objects: 100% (373/373), done.        
remote: Compressing objects: 100% (159/159), done.        
remote: Total 8983 (delta 183), reused 335 (delta 164), pack-reused 8610        
接收对象中: 100% (8983/8983), 77.06 MiB | 12.96 MiB/s, 完成.
处理 delta 中: 100% (5357/5357), 完成.
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman':检出 '80c529979de52bb6eed5988d1e3076ae9abc131e'
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman':检出 '80c529979de52bb6eed5988d1e3076ae9abc131e'


cxy@ubuntu2404-cxy:~/ros2_ws$ git clone --recurse-submodules https://github.com/cyberbotics/webots_ros2.git src/webots_ros2
正克隆到 'src/webots_ros2'...
remote: Enumerating objects: 13903, done.
remote: Counting objects: 100% (3194/3194), done.
remote: Compressing objects: 100% (787/787), done.
remote: Total 13903 (delta 2603), reused 2729 (delta 2380), pack-reused 10709
接收对象中: 100% (13903/13903), 55.79 MiB | 1.96 MiB/s, 完成.
处理 delta 中: 100% (9481/9481), 完成.
子模组 'webots_ros2_importer/webots_ros2_importer/urdf2webots'(https://github.com/cyberbotics/urdf2webots.git)已对路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots' 注册
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots'...
remote: Enumerating objects: 3474, done.        
remote: Counting objects: 100% (737/737), done.        
remote: Compressing objects: 100% (410/410), done.        
remote: Total 3474 (delta 472), reused 532 (delta 318), pack-reused 2737        
接收对象中: 100% (3474/3474), 114.00 MiB | 2.16 MiB/s, 完成.
处理 delta 中: 100% (1718/1718), 完成.
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots':检出 '905b12c8abdb1e3a847a0fc8d10772d1a5a0d7fe'
子模组 'tests/sources/motoman'(https://github.com/ros-industrial/motoman.git)已对路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman' 注册
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'...
fatal: 无法访问 'https://github.com/ros-industrial/motoman.git/':gnutls_handshake() failed: The TLS connection was non-properly terminated.
fatal: 无法克隆 'https://github.com/ros-industrial/motoman.git' 到子模组路径 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'
克隆 'tests/sources/motoman' 失败。按计划重试
正克隆到 '/home/cxy/ros2_ws/src/webots_ros2/webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman'...
remote: Enumerating objects: 8983, done.        
remote: Counting objects: 100% (373/373), done.        
remote: Compressing objects: 100% (159/159), done.        
remote: Total 8983 (delta 183), reused 335 (delta 164), pack-reused 8610        
接收对象中: 100% (8983/8983), 77.06 MiB | 12.96 MiB/s, 完成.
处理 delta 中: 100% (5357/5357), 完成.
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman':检出 '80c529979de52bb6eed5988d1e3076ae9abc131e'
子模组路径 'webots_ros2_importer/webots_ros2_importer/urdf2webots/tests/sources/motoman':检出 '80c529979de52bb6eed5988d1e3076ae9abc131e'


cxy@ubuntu2404-cxy:~/ros2_ws$ rosdep install --from-paths src --ignore-src --rosdistro jazzy
executing command [sudo -H apt-get install ros-jazzy-hardware-interface]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  ros-jazzy-control-msgs ros-jazzy-joint-limits ros-jazzy-rclcpp-lifecycle ros-jazzy-trajectory-msgs
下列【新】软件包将被安装:
  ros-jazzy-control-msgs ros-jazzy-hardware-interface ros-jazzy-joint-limits ros-jazzy-rclcpp-lifecycle
  ros-jazzy-trajectory-msgs
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,140 kB 的归档。
解压缩后会消耗 14.8 MB 的额外空间。
您希望继续执行吗?[Y/n] y
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-trajectory-msgs amd64 5.3.5-1noble.20240702.061753 [98.0 kB]
获取:2 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-control-msgs amd64 5.2.0-1noble.20240702.064807 [707 kB]
获取:3 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-rclcpp-lifecycle amd64 28.1.3-1noble.20240703.160435 [82.0 kB]
获取:4 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-joint-limits amd64 4.11.0-1noble.20240703.161153 [13.6 kB]
获取:5 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-hardware-interface amd64 4.11.0-1noble.20240703.162328 [240 kB]
已下载 1,140 kB,耗时 16秒 (73.2 kB/s)                                                                           
正在选中未选择的软件包 ros-jazzy-trajectory-msgs。
(正在读取数据库 ... 系统当前共安装有 386151 个文件和目录。)
准备解压 .../ros-jazzy-trajectory-msgs_5.3.5-1noble.20240702.061753_amd64.deb  ...
正在解压 ros-jazzy-trajectory-msgs (5.3.5-1noble.20240702.061753) ...
正在选中未选择的软件包 ros-jazzy-control-msgs。
准备解压 .../ros-jazzy-control-msgs_5.2.0-1noble.20240702.064807_amd64.deb  ...
正在解压 ros-jazzy-control-msgs (5.2.0-1noble.20240702.064807) ...
正在选中未选择的软件包 ros-jazzy-rclcpp-lifecycle。
准备解压 .../ros-jazzy-rclcpp-lifecycle_28.1.3-1noble.20240703.160435_amd64.deb  ...
正在解压 ros-jazzy-rclcpp-lifecycle (28.1.3-1noble.20240703.160435) ...
正在选中未选择的软件包 ros-jazzy-joint-limits。
准备解压 .../ros-jazzy-joint-limits_4.11.0-1noble.20240703.161153_amd64.deb  ...
正在解压 ros-jazzy-joint-limits (4.11.0-1noble.20240703.161153) ...
正在选中未选择的软件包 ros-jazzy-hardware-interface。
准备解压 .../ros-jazzy-hardware-interface_4.11.0-1noble.20240703.162328_amd64.deb  ...
正在解压 ros-jazzy-hardware-interface (4.11.0-1noble.20240703.162328) ...
正在设置 ros-jazzy-trajectory-msgs (5.3.5-1noble.20240702.061753) ...
正在设置 ros-jazzy-rclcpp-lifecycle (28.1.3-1noble.20240703.160435) ...
正在设置 ros-jazzy-joint-limits (4.11.0-1noble.20240703.161153) ...
正在设置 ros-jazzy-control-msgs (5.2.0-1noble.20240702.064807) ...
正在设置 ros-jazzy-hardware-interface (4.11.0-1noble.20240703.162328) ...
executing command [sudo -H apt-get install ros-jazzy-controller-manager]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  libdw-dev libelf-dev ros-jazzy-ament-copyright ros-jazzy-backward-ros ros-jazzy-controller-interface
  ros-jazzy-controller-manager-msgs ros-jazzy-diagnostic-msgs ros-jazzy-diagnostic-updater
  ros-jazzy-realtime-tools ros-jazzy-ros2-control-test-assets ros-jazzy-ros2node ros-jazzy-ros2param
  ros-jazzy-ros2pkg ros-jazzy-ros2run ros-jazzy-ros2service ros-jazzy-rosidl-runtime-py
下列【新】软件包将被安装:
  libdw-dev libelf-dev ros-jazzy-ament-copyright ros-jazzy-backward-ros ros-jazzy-controller-interface
  ros-jazzy-controller-manager ros-jazzy-controller-manager-msgs ros-jazzy-diagnostic-msgs
  ros-jazzy-diagnostic-updater ros-jazzy-realtime-tools ros-jazzy-ros2-control-test-assets ros-jazzy-ros2node
  ros-jazzy-ros2param ros-jazzy-ros2pkg ros-jazzy-ros2run ros-jazzy-ros2service ros-jazzy-rosidl-runtime-py
升级了 0 个软件包,新安装了 17 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,652 kB 的归档。
解压缩后会消耗 12.7 MB 的额外空间。
您希望继续执行吗?[Y/n] y
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ament-copyright amd64 0.17.1-1noble.20240702.041730 [52.1 kB]
获取:2 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-backward-ros amd64 1.0.2-6noble.20240702.040204 [59.7 kB]
获取:3 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-controller-interface amd64 4.11.0-1noble.20240703.162722 [36.9 kB]
获取:4 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-controller-manager-msgs amd64 4.11.0-1noble.20240702.050027 [340 kB]
获取:5 http://archive.ubuntu.com/ubuntu noble/main amd64 libelf-dev amd64 0.190-1.1build4 [68.5 kB]              
获取:6 http://archive.ubuntu.com/ubuntu noble/main amd64 libdw-dev amd64 0.190-1.1build4 [340 kB]                
获取:7 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-diagnostic-msgs amd64 5.3.5-1noble.20240702.052202 [136 kB]
获取:8 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-diagnostic-updater amd64 3.1.2-3noble.20240703.170226 [103 kB]
获取:9 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-realtime-tools amd64 2.5.0-4noble.20240703.161732 [24.6 kB]
获取:10 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2-control-test-assets amd64 4.11.0-1noble.20240702.041140 [14.7 kB]
获取:11 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2node amd64 0.32.1-1noble.20240703.155854 [15.2 kB]
获取:12 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-rosidl-runtime-py amd64 0.13.1-2noble.20240702.043635 [20.3 kB]
获取:13 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2service amd64 0.32.1-1noble.20240703.155937 [22.6 kB]
获取:14 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2param amd64 0.32.1-1noble.20240703.160030 [22.1 kB]
获取:15 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2pkg amd64 0.32.1-1noble.20240703.170548 [28.3 kB]
获取:16 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ros2run amd64 0.32.1-1noble.20240703.170825 [9,674 B]
获取:17 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-controller-manager amd64 4.11.0-1noble.20240703.171033 [359 kB]
已下载 1,652 kB,耗时 15秒 (111 kB/s)                                                                            
正在选中未选择的软件包 libelf-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 387103 个文件和目录。)
准备解压 .../00-libelf-dev_0.190-1.1build4_amd64.deb  ...
正在解压 libelf-dev:amd64 (0.190-1.1build4) ...
正在选中未选择的软件包 libdw-dev:amd64。
准备解压 .../01-libdw-dev_0.190-1.1build4_amd64.deb  ...
正在解压 libdw-dev:amd64 (0.190-1.1build4) ...
正在选中未选择的软件包 ros-jazzy-ament-copyright。
准备解压 .../02-ros-jazzy-ament-copyright_0.17.1-1noble.20240702.041730_amd64.deb  ...
正在解压 ros-jazzy-ament-copyright (0.17.1-1noble.20240702.041730) ...
正在选中未选择的软件包 ros-jazzy-backward-ros。
准备解压 .../03-ros-jazzy-backward-ros_1.0.2-6noble.20240702.040204_amd64.deb  ...
正在解压 ros-jazzy-backward-ros (1.0.2-6noble.20240702.040204) ...
正在选中未选择的软件包 ros-jazzy-controller-interface。
准备解压 .../04-ros-jazzy-controller-interface_4.11.0-1noble.20240703.162722_amd64.deb  ...
正在解压 ros-jazzy-controller-interface (4.11.0-1noble.20240703.162722) ...
正在选中未选择的软件包 ros-jazzy-controller-manager-msgs。
准备解压 .../05-ros-jazzy-controller-manager-msgs_4.11.0-1noble.20240702.050027_amd64.deb  ...
正在解压 ros-jazzy-controller-manager-msgs (4.11.0-1noble.20240702.050027) ...
正在选中未选择的软件包 ros-jazzy-diagnostic-msgs。
准备解压 .../06-ros-jazzy-diagnostic-msgs_5.3.5-1noble.20240702.052202_amd64.deb  ...
正在解压 ros-jazzy-diagnostic-msgs (5.3.5-1noble.20240702.052202) ...
正在选中未选择的软件包 ros-jazzy-diagnostic-updater。
准备解压 .../07-ros-jazzy-diagnostic-updater_3.1.2-3noble.20240703.170226_amd64.deb  ...
正在解压 ros-jazzy-diagnostic-updater (3.1.2-3noble.20240703.170226) ...
正在选中未选择的软件包 ros-jazzy-realtime-tools。
准备解压 .../08-ros-jazzy-realtime-tools_2.5.0-4noble.20240703.161732_amd64.deb  ...
正在解压 ros-jazzy-realtime-tools (2.5.0-4noble.20240703.161732) ...
正在选中未选择的软件包 ros-jazzy-ros2-control-test-assets。
准备解压 .../09-ros-jazzy-ros2-control-test-assets_4.11.0-1noble.20240702.041140_amd64.deb  ...
正在解压 ros-jazzy-ros2-control-test-assets (4.11.0-1noble.20240702.041140) ...
正在选中未选择的软件包 ros-jazzy-ros2node。
准备解压 .../10-ros-jazzy-ros2node_0.32.1-1noble.20240703.155854_amd64.deb  ...
正在解压 ros-jazzy-ros2node (0.32.1-1noble.20240703.155854) ...
正在选中未选择的软件包 ros-jazzy-rosidl-runtime-py。
准备解压 .../11-ros-jazzy-rosidl-runtime-py_0.13.1-2noble.20240702.043635_amd64.deb  ...
正在解压 ros-jazzy-rosidl-runtime-py (0.13.1-2noble.20240702.043635) ...
正在选中未选择的软件包 ros-jazzy-ros2service。
准备解压 .../12-ros-jazzy-ros2service_0.32.1-1noble.20240703.155937_amd64.deb  ...
正在解压 ros-jazzy-ros2service (0.32.1-1noble.20240703.155937) ...
正在选中未选择的软件包 ros-jazzy-ros2param。
准备解压 .../13-ros-jazzy-ros2param_0.32.1-1noble.20240703.160030_amd64.deb  ...
正在解压 ros-jazzy-ros2param (0.32.1-1noble.20240703.160030) ...
正在选中未选择的软件包 ros-jazzy-ros2pkg。
准备解压 .../14-ros-jazzy-ros2pkg_0.32.1-1noble.20240703.170548_amd64.deb  ...
正在解压 ros-jazzy-ros2pkg (0.32.1-1noble.20240703.170548) ...
正在选中未选择的软件包 ros-jazzy-ros2run。
准备解压 .../15-ros-jazzy-ros2run_0.32.1-1noble.20240703.170825_amd64.deb  ...
正在解压 ros-jazzy-ros2run (0.32.1-1noble.20240703.170825) ...
正在选中未选择的软件包 ros-jazzy-controller-manager。
准备解压 .../16-ros-jazzy-controller-manager_4.11.0-1noble.20240703.171033_amd64.deb  ...
正在解压 ros-jazzy-controller-manager (4.11.0-1noble.20240703.171033) ...
正在设置 ros-jazzy-diagnostic-msgs (5.3.5-1noble.20240702.052202) ...
正在设置 ros-jazzy-ament-copyright (0.17.1-1noble.20240702.041730) ...
正在设置 ros-jazzy-diagnostic-updater (3.1.2-3noble.20240703.170226) ...
正在设置 ros-jazzy-ros2pkg (0.32.1-1noble.20240703.170548) ...
正在设置 ros-jazzy-controller-interface (4.11.0-1noble.20240703.162722) ...
正在设置 ros-jazzy-rosidl-runtime-py (0.13.1-2noble.20240702.043635) ...
正在设置 libelf-dev:amd64 (0.190-1.1build4) ...
正在设置 ros-jazzy-controller-manager-msgs (4.11.0-1noble.20240702.050027) ...
正在设置 ros-jazzy-ros2node (0.32.1-1noble.20240703.155854) ...
正在设置 ros-jazzy-realtime-tools (2.5.0-4noble.20240703.161732) ...
正在设置 ros-jazzy-ros2-control-test-assets (4.11.0-1noble.20240702.041140) ...
正在设置 ros-jazzy-ros2service (0.32.1-1noble.20240703.155937) ...
正在设置 ros-jazzy-ros2run (0.32.1-1noble.20240703.170825) ...
正在设置 ros-jazzy-ros2param (0.32.1-1noble.20240703.160030) ...
正在设置 libdw-dev:amd64 (0.190-1.1build4) ...
正在设置 ros-jazzy-backward-ros (1.0.2-6noble.20240702.040204) ...
正在设置 ros-jazzy-controller-manager (4.11.0-1noble.20240703.171033) ...
正在处理用于 man-db (2.12.0-4build2) 的触发器 ...
executing command [sudo -H apt-get install python3-collada]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  python3-collada
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 83.4 kB 的归档。
解压缩后会消耗 989 kB 的额外空间。
获取:1 http://archive.ubuntu.com/ubuntu noble/universe amd64 python3-collada all 0.7.2-1 [83.4 kB]
已下载 83.4 kB,耗时 6秒 (13.3 kB/s)                                                                             
正在选中未选择的软件包 python3-collada。
(正在读取数据库 ... 系统当前共安装有 388289 个文件和目录。)
准备解压 .../python3-collada_0.7.2-1_all.deb  ...
正在解压 python3-collada (0.7.2-1) ...
正在设置 python3-collada (0.7.2-1) ...
executing command [sudo -H apt-get install ros-jazzy-diff-drive-controller]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  ros-jazzy-diff-drive-controller
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 200 kB 的归档。
解压缩后会消耗 923 kB 的额外空间。
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-diff-drive-controller amd64 4.9.0-1noble.20240703.175105 [200 kB]
已下载 200 kB,耗时 4秒 (46.3 kB/s)                       
正在选中未选择的软件包 ros-jazzy-diff-drive-controller。
(正在读取数据库 ... 系统当前共安装有 388333 个文件和目录。)
准备解压 .../ros-jazzy-diff-drive-controller_4.9.0-1noble.20240703.175105_amd64.deb  ...
正在解压 ros-jazzy-diff-drive-controller (4.9.0-1noble.20240703.175105) ...
正在设置 ros-jazzy-diff-drive-controller (4.9.0-1noble.20240703.175105) ...
executing command [sudo -H apt-get install ros-jazzy-joint-state-broadcaster]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  python3-typeguard ros-jazzy-generate-parameter-library ros-jazzy-generate-parameter-library-py
  ros-jazzy-parameter-traits ros-jazzy-rsl ros-jazzy-tcb-span ros-jazzy-tl-expected
下列【新】软件包将被安装:
  python3-typeguard ros-jazzy-generate-parameter-library ros-jazzy-generate-parameter-library-py
  ros-jazzy-joint-state-broadcaster ros-jazzy-parameter-traits ros-jazzy-rsl ros-jazzy-tcb-span
  ros-jazzy-tl-expected
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 247 kB 的归档。
解压缩后会消耗 1,240 kB 的额外空间。
您希望继续执行吗?[Y/n] y
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-generate-parameter-library-py amd64 0.3.8-4noble.20240702.041832 [51.2 kB]
获取:2 http://archive.ubuntu.com/ubuntu noble/universe amd64 python3-typeguard all 4.1.5-1 [32.7 kB]             
获取:3 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-tcb-span amd64 1.0.2-5noble.20240702.041437 [10.5 kB]
获取:4 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-tl-expected amd64 1.0.2-5noble.20240702.041512 [16.3 kB]
获取:5 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-rsl amd64 1.1.0-3noble.20240703.162115 [17.1 kB]                                    
获取:6 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-parameter-traits amd64 0.3.8-4noble.20240703.174706 [9,784 B]                       
获取:7 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-generate-parameter-library amd64 0.3.8-4noble.20240703.174853 [8,322 B]             
获取:8 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-joint-state-broadcaster amd64 4.9.0-1noble.20240703.175307 [101 kB]                 
已下载 247 kB,耗时 33秒 (7,592 B/s)                                                                                                                      
正在选中未选择的软件包 python3-typeguard。
(正在读取数据库 ... 系统当前共安装有 388372 个文件和目录。)
准备解压 .../0-python3-typeguard_4.1.5-1_all.deb  ...
正在解压 python3-typeguard (4.1.5-1) ...
正在选中未选择的软件包 ros-jazzy-generate-parameter-library-py。
准备解压 .../1-ros-jazzy-generate-parameter-library-py_0.3.8-4noble.20240702.041832_amd64.deb  ...
正在解压 ros-jazzy-generate-parameter-library-py (0.3.8-4noble.20240702.041832) ...
正在选中未选择的软件包 ros-jazzy-tcb-span。
准备解压 .../2-ros-jazzy-tcb-span_1.0.2-5noble.20240702.041437_amd64.deb  ...
正在解压 ros-jazzy-tcb-span (1.0.2-5noble.20240702.041437) ...
正在选中未选择的软件包 ros-jazzy-tl-expected。
准备解压 .../3-ros-jazzy-tl-expected_1.0.2-5noble.20240702.041512_amd64.deb  ...
正在解压 ros-jazzy-tl-expected (1.0.2-5noble.20240702.041512) ...
正在选中未选择的软件包 ros-jazzy-rsl。
准备解压 .../4-ros-jazzy-rsl_1.1.0-3noble.20240703.162115_amd64.deb  ...
正在解压 ros-jazzy-rsl (1.1.0-3noble.20240703.162115) ...
正在选中未选择的软件包 ros-jazzy-parameter-traits。
准备解压 .../5-ros-jazzy-parameter-traits_0.3.8-4noble.20240703.174706_amd64.deb  ...
正在解压 ros-jazzy-parameter-traits (0.3.8-4noble.20240703.174706) ...
正在选中未选择的软件包 ros-jazzy-generate-parameter-library。
准备解压 .../6-ros-jazzy-generate-parameter-library_0.3.8-4noble.20240703.174853_amd64.deb  ...
正在解压 ros-jazzy-generate-parameter-library (0.3.8-4noble.20240703.174853) ...
正在选中未选择的软件包 ros-jazzy-joint-state-broadcaster。
准备解压 .../7-ros-jazzy-joint-state-broadcaster_4.9.0-1noble.20240703.175307_amd64.deb  ...
正在解压 ros-jazzy-joint-state-broadcaster (4.9.0-1noble.20240703.175307) ...
正在设置 python3-typeguard (4.1.5-1) ...
正在设置 ros-jazzy-tcb-span (1.0.2-5noble.20240702.041437) ...
正在设置 ros-jazzy-generate-parameter-library-py (0.3.8-4noble.20240702.041832) ...
正在设置 ros-jazzy-tl-expected (1.0.2-5noble.20240702.041512) ...
正在设置 ros-jazzy-rsl (1.1.0-3noble.20240703.162115) ...
正在设置 ros-jazzy-parameter-traits (0.3.8-4noble.20240703.174706) ...
正在设置 ros-jazzy-generate-parameter-library (0.3.8-4noble.20240703.174853) ...
正在设置 ros-jazzy-joint-state-broadcaster (4.9.0-1noble.20240703.175307) ...
executing command [sudo -H apt-get install ros-jazzy-vision-msgs]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  ros-jazzy-vision-msgs
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 181 kB 的归档。
解压缩后会消耗 2,524 kB 的额外空间。
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-vision-msgs amd64 4.1.1-3noble.20240702.061756 [181 kB]
已下载 181 kB,耗时 5秒 (37.7 kB/s)              
正在选中未选择的软件包 ros-jazzy-vision-msgs。
(正在读取数据库 ... 系统当前共安装有 388642 个文件和目录。)
准备解压 .../ros-jazzy-vision-msgs_4.1.1-3noble.20240702.061756_amd64.deb  ...
正在解压 ros-jazzy-vision-msgs (4.1.1-3noble.20240702.061756) ...
正在设置 ros-jazzy-vision-msgs (4.1.1-3noble.20240702.061756) ...
executing command [sudo -H apt-get install ros-jazzy-control-msgs]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
ros-jazzy-control-msgs 已经是最新版 (5.2.0-1noble.20240702.064807)。
ros-jazzy-control-msgs 已设置为手动安装。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
executing command [sudo -H apt-get install ros-jazzy-joint-trajectory-controller]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  ros-jazzy-angles ros-jazzy-control-toolbox ros-jazzy-filters
下列【新】软件包将被安装:
  ros-jazzy-angles ros-jazzy-control-toolbox ros-jazzy-filters ros-jazzy-joint-trajectory-controller
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 446 kB 的归档。
解压缩后会消耗 2,063 kB 的额外空间。
您希望继续执行吗?[Y/n] y
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-angles amd64 1.16.0-5noble.20240702.040025 [13.7 kB]
获取:2 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-filters amd64 2.1.2-2noble.20240703.160021 [78.3 kB]
获取:3 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-control-toolbox amd64 3.2.0-3noble.20240703.175102 [95.1 kB]
获取:4 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-joint-trajectory-controller amd64 4.9.0-1noble.20240703.175425 [259 kB]             
已下载 446 kB,耗时 56秒 (8,030 B/s)                                                                                                                      
正在选中未选择的软件包 ros-jazzy-angles。
(正在读取数据库 ... 系统当前共安装有 389079 个文件和目录。)
准备解压 .../ros-jazzy-angles_1.16.0-5noble.20240702.040025_amd64.deb  ...
正在解压 ros-jazzy-angles (1.16.0-5noble.20240702.040025) ...
正在选中未选择的软件包 ros-jazzy-filters。
准备解压 .../ros-jazzy-filters_2.1.2-2noble.20240703.160021_amd64.deb  ...
正在解压 ros-jazzy-filters (2.1.2-2noble.20240703.160021) ...
正在选中未选择的软件包 ros-jazzy-control-toolbox。
准备解压 .../ros-jazzy-control-toolbox_3.2.0-3noble.20240703.175102_amd64.deb  ...
正在解压 ros-jazzy-control-toolbox (3.2.0-3noble.20240703.175102) ...
正在选中未选择的软件包 ros-jazzy-joint-trajectory-controller。
准备解压 .../ros-jazzy-joint-trajectory-controller_4.9.0-1noble.20240703.175425_amd64.deb  ...
正在解压 ros-jazzy-joint-trajectory-controller (4.9.0-1noble.20240703.175425) ...
正在设置 ros-jazzy-filters (2.1.2-2noble.20240703.160021) ...
正在设置 ros-jazzy-angles (1.16.0-5noble.20240702.040025) ...
正在设置 ros-jazzy-control-toolbox (3.2.0-3noble.20240703.175102) ...
正在设置 ros-jazzy-joint-trajectory-controller (4.9.0-1noble.20240703.175425) ...
executing command [sudo -H apt-get install python3-opencv]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  python3-opencv
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,826 kB 的归档。
解压缩后会消耗 8,312 kB 的额外空间。
获取:1 http://archive.ubuntu.com/ubuntu noble/universe amd64 python3-opencv amd64 4.6.0+dfsg-13.1ubuntu1 [1,826 kB]
已下载 1,826 kB,耗时 5秒 (379 kB/s)        
正在选中未选择的软件包 python3-opencv:amd64。
(正在读取数据库 ... 系统当前共安装有 389255 个文件和目录。)
准备解压 .../python3-opencv_4.6.0+dfsg-13.1ubuntu1_amd64.deb  ...
正在解压 python3-opencv:amd64 (4.6.0+dfsg-13.1ubuntu1) ...
正在设置 python3-opencv:amd64 (4.6.0+dfsg-13.1ubuntu1) ...
executing command [sudo -H apt-get install ros-jazzy-ackermann-msgs]
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  ros-jazzy-ackermann-msgs
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 51.2 kB 的归档。
解压缩后会消耗 583 kB 的额外空间。
获取:1 http://packages.ros.org/ros2/ubuntu noble/main amd64 ros-jazzy-ackermann-msgs amd64 2.0.2-6noble.20240702.050856 [51.2 kB]
已下载 51.2 kB,耗时 3秒 (17.1 kB/s)                
正在选中未选择的软件包 ros-jazzy-ackermann-msgs。
(正在读取数据库 ... 系统当前共安装有 389259 个文件和目录。)
准备解压 .../ros-jazzy-ackermann-msgs_2.0.2-6noble.20240702.050856_amd64.deb  ...
正在解压 ros-jazzy-ackermann-msgs (2.0.2-6noble.20240702.050856) ...
正在设置 ros-jazzy-ackermann-msgs (2.0.2-6noble.20240702.050856) ...
#All required rosdeps installed successfully


cxy@ubuntu2404-cxy:~/ros2_ws$ colcon build
Starting >>> webots_ros2_importer
Starting >>> webots_ros2_msgs
Starting >>> turtlesim
Starting >>> custom_action_interfaces                                                                        
Starting >>> polygon_base
Starting >>> rviz_plugin_tutorial_msgs
Starting >>> urdf_launch
Starting >>> bag_recorder_nodes                                                                                                                    
Starting >>> bag_recorder_nodes_py
Starting >>> cpp_parameter_event_handler
Starting >>> cpp_parameters                                                                                                                         
Starting >>> cpp_pubsub
Finished <<< urdf_launch [1.82s]                                                                                                                    
Starting >>> cpp_srvcli
Finished <<< polygon_base [1.95s]
Starting >>> examples_rclcpp_async_client
Finished <<< bag_recorder_nodes [1.92s]                                                                                                 
Starting >>> examples_rclcpp_cbg_executor
Finished <<< cpp_parameters [1.91s]                                                                                                     
Finished <<< cpp_parameter_event_handler [1.95s]
Starting >>> examples_rclcpp_minimal_action_client
Starting >>> examples_rclcpp_minimal_action_server
Finished <<< cpp_pubsub [2.05s]                                                                                                         
Starting >>> examples_rclcpp_minimal_client
Finished <<< cpp_srvcli [0.54s]                                                                                                         
Starting >>> examples_rclcpp_minimal_composition
Finished <<< examples_rclcpp_async_client [0.53s]                                                                                       
Starting >>> examples_rclcpp_minimal_publisher
Finished <<< examples_rclcpp_cbg_executor [0.52s]
Starting >>> examples_rclcpp_minimal_service                                                                                         
Finished <<< examples_rclcpp_minimal_action_server [0.58s]                                                                           
Finished <<< examples_rclcpp_minimal_action_client [0.64s]
Starting >>> examples_rclcpp_minimal_subscriber
Starting >>> examples_rclcpp_minimal_timer                                                                                         
Finished <<< examples_rclcpp_minimal_client [0.66s]                                                                                
Finished <<< custom_action_interfaces [2.96s]
Finished <<< rviz_plugin_tutorial_msgs [2.92s]
Starting >>> examples_rclcpp_multithreaded_executor
Starting >>> examples_rclcpp_wait_set                                                                                              
Starting >>> examples_rclpy_executors
Finished <<< examples_rclcpp_minimal_composition [1.48s]                                                                           
Finished <<< webots_ros2_msgs [4.00s]
Finished <<< turtlesim [3.99s]
Starting >>> examples_rclpy_guard_conditions
Starting >>> examples_rclpy_minimal_action_client
Starting >>> examples_rclpy_minimal_action_server                                                                                                       
Finished <<< examples_rclcpp_minimal_publisher [1.59s]
Starting >>> examples_rclpy_minimal_client                                                                                                            
Finished <<< examples_rclcpp_minimal_service [3.31s]                                                                                                  
Starting >>> examples_rclpy_minimal_publisher
Finished <<< examples_rclcpp_minimal_timer [3.09s]
Finished <<< webots_ros2_importer [6.07s]
Finished <<< bag_recorder_nodes_py [5.84s]
Finished <<< examples_rclcpp_minimal_subscriber [3.22s]
Starting >>> webots_ros2_driver
Starting >>> examples_rclpy_minimal_service                                                                                              
Starting >>> examples_rclpy_minimal_subscriber
Starting >>> examples_rclpy_pointcloud_publisher                                                                                          
Finished <<< examples_rclcpp_wait_set [4.84s]                                                                                             
Starting >>> geometry_tutorials                                                                                                    
Finished <<< examples_rclcpp_multithreaded_executor [6.75s]                                                                        
Finished <<< examples_rclpy_executors [6.66s]
Starting >>> launch_testing_examples
Starting >>> launch_tutorial
Finished <<< examples_rclpy_minimal_action_client [8.17s]                                                                       
Starting >>> more_interfaces
Finished <<< examples_rclpy_minimal_action_server [8.30s]                                                                       
Starting >>> my_package
Finished <<< examples_rclpy_guard_conditions [8.44s]                                                                     
Starting >>> py_pubsub
Finished <<< geometry_tutorials [3.88s]                                                                                   
Starting >>> py_srvcli
Finished <<< examples_rclpy_minimal_client [8.81s]                                                                        
Finished <<< examples_rclpy_minimal_publisher [8.76s]
Starting >>> python_parameter_event_handler
Starting >>> python_parameters
Finished <<< examples_rclpy_minimal_subscriber [8.72s]                                                                 
Starting >>> sync_async_node_example_cpp
Finished <<< examples_rclpy_minimal_service [8.85s]                                                                    
Starting >>> tutorial_interfaces
Finished <<< examples_rclpy_pointcloud_publisher [10.5s]                                                                       
Starting >>> bag_reading_cpp
Finished <<< my_package [4.32s]
Finished <<< launch_testing_examples [6.93s]
Starting >>> custom_action_cpp                                                                                                             
Starting >>> learning_tf2_cpp
Finished <<< more_interfaces [4.65s]                                                                                                       
Starting >>> learning_tf2_py
Finished <<< launch_tutorial [7.18s]                                                                                                         
Starting >>> polygon_plugins
Finished <<< sync_async_node_example_cpp [3.27s]                                                                    
Starting >>> rviz_plugin_tutorial
Finished <<< webots_ros2_driver [12.2s]
Finished <<< bag_reading_cpp [1.55s]
Starting >>> webots_ros2_control
Starting >>> webots_ros2_mavic                                                                                                                    
Finished <<< custom_action_cpp [1.62s]                                                                                                            
Starting >>> webots_ros2_tesla
Finished <<< learning_tf2_cpp [2.47s]                                                                                                             
Starting >>> turtle_tf2_cpp
Finished <<< py_srvcli [5.69s]
Finished <<< py_pubsub [6.85s]
Starting >>> turtle_tf2_py                                                                                                                       
Starting >>> urdf_tutorial                                                                                                                       
Finished <<< polygon_plugins [4.20s]                                                                                                             
Finished <<< rviz_plugin_tutorial [3.14s]                                                                                                        
Finished <<< tutorial_interfaces [6.38s]
Finished <<< urdf_tutorial [1.30s]
Finished <<< turtle_tf2_cpp [2.11s]                                                                                                 
Finished <<< python_parameters [6.95s]                                                                                              
Finished <<< python_parameter_event_handler [7.06s]
Finished <<< learning_tf2_py [5.14s]                                                                                                                      
Finished <<< webots_ros2_mavic [5.14s]                                                                                                              
Finished <<< webots_ros2_tesla [5.41s]                                                                                   
Finished <<< turtle_tf2_py [4.42s]                                                                
Finished <<< webots_ros2_control [13.4s]                         
Starting >>> webots_ros2_epuck
Starting >>> webots_ros2_tiago
Starting >>> webots_ros2_turtlebot                                                        
Starting >>> webots_ros2_universal_robot
Finished <<< webots_ros2_tiago [5.43s]                                                                                       
Finished <<< webots_ros2_epuck [5.58s]                                                                                             
Finished <<< webots_ros2_turtlebot [5.54s]
Finished <<< webots_ros2_universal_robot [5.57s]
Starting >>> webots_ros2_tests
Finished <<< webots_ros2_tests [3.43s]             
Starting >>> webots_ros2
Finished <<< webots_ros2 [3.47s]             


Summary: 64 packages finished [44.6s]

3d60cc921e659b2648071ffc5ad5a25f.png

如果构建报错 修改 webots_ros2_driver 的CMakeLists.txt ,添加以下set

set(Python_INCLUDE_DIRS /usr/include/python3.12)
set(Python_LIBRARIES /usr/lib/python3.12/config-3.12-x86_64-linux-gnu/libpython3.12.so)colcon build

2 启动 webots_ros2_universal_robot 示例 

以下说明解释了如何启动提供的示例。

首先配置 ROS 2 环境,如果尚未完成。

source /opt/ros/jazzy/setup.bash

设置 WEBOTS_HOME 环境变量允许您启动特定的 Webots 安装。

export WEBOTS_HOME=/usr/local/webots

如果从源代码安装,请在尚未完成的情况下,配置您的 ROS 2 工作区。

cd ~/ros2_ws
source install/local_setup.bash

使用 ROS 2 启动命令来启动演示包(例如 webots_ros2_universal_robot )。

source /opt/ros/jazzy/setup.bash
ros2 launch webots_ros2_universal_robot multirobot_launch.py

fbc0d4ff24ca58fe1e1df8f4e756d076.png

82d0efdcd5f8681ddd39c1f94a53613a.png

webot安装参考:

https://cyberbotics.com/doc/guide/installation-procedure

https://cyberbotics.com/

https://github.com/cyberbotics/webots/releases

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个关于ROS Noetic软件包依赖关系的问题。其中,下列软件包的依赖关系尚不足够满足要求,无法安装ros-noetic-desktop-full: 依赖于 ros-noetic-desktop,但它不会被安装。 依赖于 ros-noetic-perception,但它不会被安装。 依赖于 ros-noetic-simulators,但它不会被安装。 依赖于 ros-noetic-urdf-sim-tu,但它不会被安装。 ### 回答2: 这个错误提示是说明在安装 ros-noetic-desktop-full 软件包时,发现它需要依赖一些其他的软件包,但是这些软件包未被安装。其中,ros-noetic-desktop、ros-noetic-perception、ros-noetic-simulators 和 ros-noetic-urdf-sim-tu 是四个未满足依赖关系的软件包。 这个错误提示一般是由于软件源的问题所导致的。在安装软件包时,系统会从软件源中查找该软件包以及它所需的依赖关系。如果软件源中不存在某个软件包的依赖关系,则会提示这个错误信息。 要解决这个问题,可以尝试以下几个方法: 1. 更新软件源:可通过修改软件源配置文件或使用软件源管理工具来更新软件源。更新后再次尝试安装软件包,看是否能够解决依赖关系问题。 2. 手动安装依赖关系:如果更新软件源后仍然无法解决依赖关系问题,可以尝试手动安装依赖关系。按照依赖关系的提示,逐个安装这四个软件包。安装完成后再次尝试安装 ros-noetic-desktop-full 软件包,看是否能够正常安装。 3. 使用 aptitude 命令安装:aptitude 命令可以自动处理依赖关系,可能会更好地解决这个问题。可以通过运行以下命令安装 ros-noetic-desktop-full 软件包: sudo aptitude install ros-noetic-desktop-full 以上是我的回答,希望能对你有所帮助。如果你还有其他问题,请随时回复。 ### 回答3: 这个问题意味着在安装 ros-noetic-desktop-full 软件包时,计算机无法满足所有需要的依赖关系。这些依赖关系包括 ros-noetic-desktop、ros-noetic-perception、ros-noetic-simulators 和 ros-noetic-urdf-sim-tu。 在解决这个问题之前,我们需要了解什么是依赖关系。在软件工程中,依赖关系指的是一个软件包需要另一个软件包才能正常运行的情况。例如,在 ROS 中,ros-noetic-desktop-full 需要依赖其他的软件包才能提供完整的功能。 为了解决这个问题,我们可以使用以下方法: 1. 更新软件包源列表。我们可以更新软件包源列表,这有助于计算机查找所需的软件包。在 Ubuntu 系统中,我们可以使用以下命令更新软件包源列表:sudo apt-get update。 2. 安装依赖关系。我们可以尝试单独安装缺失的依赖关系。在 ROS 中,我们可以使用以下命令安装缺失的软件包:sudo apt-get install ros-noetic-desktop ros-noetic-perception ros-noetic-simulators ros-noetic-urdf-sim-tu。 3. 检查软件包仓库。某些情况下,软件包源可能已经过时或不再受支持。我们可以检查软件包仓库,查看软件包是否可用。在 Ubuntu 系统中,我们可以使用以下命令查看软件包仓库:apt-cache search ros-noetic-desktop-full。 总之,无法满足依赖关系的问题是常见的,在解决这个问题之前,我们需要了解依赖关系的概念,并掌握一些解决方法。在 ROS 中,我们可以使用更新软件包源列表、安装依赖关系和检查软件包仓库等方法解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值