ROS/ROS2保姆级安装教程:Ubuntu版本选择、核心安装与高频问题排查
2026/8/22 5:14:25 网站建设 项目流程

1. 项目概述:为什么ROS安装值得一篇“保姆级”教程?

如果你点进这篇内容,大概率是刚接触机器人操作系统(ROS),正对着官方文档里那一堆终端命令和依赖项感到头疼。我完全理解,十年前我第一次装ROS的时候,也经历过从满怀期待到被各种“Could not find package”、“E: Unable to locate package”错误提示折磨到怀疑人生的过程。ROS的安装,尤其是对新手而言,绝对是一个“劝退率”极高的门槛。它不像安装一个普通软件,点几下“下一步”就能搞定。ROS本质上是一个庞大的、松耦合的软件框架和工具集,它的安装过程涉及操作系统版本锁定、软件源配置、密钥认证、多个功能包的协同安装以及复杂的环境变量配置。任何一个环节出错,都可能导致后续所有工作无法开展。

所以,这篇“超详细保姆级教程”的目的,就是充当你的“领航员”和“排雷兵”。我不会仅仅罗列命令,而是会带你理解每一个命令背后的逻辑:为什么要在Ubuntu上装?为什么版本必须严格对应?rosdep initrosdep update到底在做什么?当遇到网络超时或密钥错误时,我们有哪些“Plan B”?我将基于在Ubuntu 20.04 (Focal) 和 22.04 (Jammy) 这两个最主流LTS版本上,安装ROS Noetic和ROS2 Humble/Humble的无数次实战经验,把整个流程掰开揉碎,从系统准备到最终验证,手把手带你走通。无论你是机器人专业的学生,还是跨界来做开发的工程师,跟着这篇指南,你都能在自己的机器上搭建起一个稳定、可用的ROS开发环境,把宝贵的精力留给更有创造性的算法开发和系统集成,而不是浪费在环境配置的泥潭里。

2. 核心思路与准备工作:理解“为什么”比记住命令更重要

在敲下第一个命令之前,我们必须建立起正确的认知框架。ROS的安装不是一个孤立事件,而是一个为后续所有开发搭建基础平台的系统工程。盲目照抄命令,一旦出错就会完全迷失方向。

2.1 版本选择:Ubuntu与ROS的“锁死”关系

这是最重要的第一步,也是所有错误的根源。ROS的发行版(Distribution)与Ubuntu的发行版(Release)是严格绑定的。这种绑定源于ROS对底层系统库(如OpenCV、PCL、Boost等)特定版本的深度依赖。官方会为每个Ubuntu LTS(长期支持)版本维护一个对应的ROS发行版。

  • 对于ROS1(经典ROS)

    • Ubuntu 20.04 (Focal Fossa)->ROS Noetic Ninjemys。这是ROS1最后一个官方支持版本,支持到2025年5月。如果你要使用大量传统的、基于ROS1的代码库(如许多开源机器人项目),或者学习经典ROS的核心概念,这是不二之选。
    • 更老的组合(如Ubuntu 18.04 + Melodic)已逐步停止维护,除非有强制性的遗留项目依赖,否则不建议新手选择。
  • 对于ROS2(新一代ROS)

    • Ubuntu 22.04 (Jammy Jellyfish)->ROS2 Humble Hawksbill。这是当前最推荐给新手的ROS2 LTS版本,支持到2027年5月。ROS2在设计上解决了ROS1的诸多痛点(如实时性、跨平台、生产级部署),是未来发展的方向。
    • Ubuntu 20.04->ROS2 Foxy Fitzroy,但其官方支持已于2023年5月结束。

我的选择建议:如果你是纯粹的新手,且没有历史包袱,强烈建议从 Ubuntu 22.04 + ROS2 Humble 开始。这能让你直接接触更现代的架构和工具链。如果你需要与大量现有ROS1项目协作,则选择Ubuntu 20.04 + ROS1 Noetic绝对不要尝试在Ubuntu 22.04上安装ROS Noetic,或在20.04上安装ROS2 Humble,这几乎注定失败。

2.2 安装方式剖析:二进制安装 vs 源码编译

官方主要提供两种安装方式:

  1. 二进制包安装(Debian Packages):通过配置Ubuntu的APT软件源,直接安装预编译好的.deb软件包。这是99%用户的首选,也是本教程的核心。优点是速度快、依赖自动解决、管理方便。你需要做的只是配置正确的软件源地址。
  2. 源码编译安装(Source Build):从GitHub克隆源代码,手动编译。这种方式极其耗时(动辄数小时)、对系统资源要求高,且极易因依赖问题编译失败。它仅适用于需要修改ROS核心代码的极端高级用户,或为尚未提供二进制包的新平台(如某些ARM架构)进行移植。新手请彻底忘记这种方式。

2.3 环境准备:虚拟机、双系统还是原生?

你需要一个Linux环境,通常是Ubuntu。实现方式有三种:

  • 虚拟机(如VMware, VirtualBox)最适合新手和尝鲜者。它不破坏现有Windows/Mac系统,可以随时创建快照和回滚,非常适合练习安装和测试。缺点是性能有损耗,特别是3D图形(Gazebo仿真)和USB设备直通(如雷达、相机)可能有问题。建议分配至少4GB内存和30GB磁盘空间。
  • 双系统:在物理机上与Windows/Mac共存。能获得完全的性能,支持所有硬件。缺点是安装过程涉及分区,有一定风险,且切换系统需要重启。
  • 原生Linux/WSL2:对于长期开发者,原生Linux是最佳选择。Windows用户也可以考虑WSL2(Windows Subsystem for Linux 2),它提供了近乎原生的Linux体验,且与Windows文件系统互通方便。但请注意:WSL2的图形支持和硬件直通依然复杂,运行Gazebo等仿真工具可能需要额外配置X服务器。

实操心得:我强烈建议初学者使用虚拟机。在虚拟机的“沙盒”里,你可以大胆地执行sudo rm -rf /以外的任何命令,玩坏了只需恢复快照,几分钟就能回到干净状态。这能极大降低你的学习焦虑感。等你在虚拟机里把ROS玩熟了,再迁移到物理机或WSL2会顺畅得多。

3. 核心安装流程全解析(以ROS2 Humble on Ubuntu 22.04为例)

下面,我将以最推荐的组合Ubuntu 22.04 + ROS2 Humble为例,进行超详细的分步讲解。ROS1 Noetic的安装流程逻辑高度相似,主要区别在于软件源地址和包名,我会在关键位置给出对照说明。

3.1 第零步:系统更新与区域设置

在安装任何新软件前,确保你的系统是最新的,并且区域设置正确,可以避免很多因语言环境导致的奇怪错误。

打开终端(Ctrl+Alt+T),依次执行:

sudo apt update sudo apt upgrade -y

sudo apt update是刷新本地软件包索引,从配置的软件源服务器获取最新的软件包列表。sudo apt upgrade -y则是根据这个新列表,升级所有已安装的软件包到最新版本。-y参数表示自动回答“yes”,省去确认环节。

接下来,确保你的locale设置正确,特别是ROS(或ROS2)需要UTF-8编码环境。

sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8

这三条命令的作用是:安装locale工具、生成美式英语的UTF-8 locale、将其设为系统默认,并在当前终端会话中生效。虽然你也可以使用中文locale,但使用英文可以确保所有终端输出和错误信息都是标准英文,方便在互联网上搜索解决方案,减少编码问题。

3.2 第一步:配置ROS软件源

这是核心步骤,告诉你的Ubuntu系统去哪里下载ROS的安装包。ROS官方维护了自己的APT软件源。

  1. 启用Ubuntu Universe仓库:一些ROS的依赖包位于这个仓库。

    sudo apt install software-properties-common sudo add-apt-repository universe
  2. 添加ROS2 GPG密钥:GPG密钥用于验证从ROS软件源下载的软件包是否来自官方,未被篡改。这是一个安全措施。

    sudo apt update && sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

    如果上面的curl命令因网络问题失败(这在某些地区很常见),可以尝试备用方案:

    sudo apt install gpg wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key sudo mv ros.key /usr/share/keyrings/ros-archive-keyring.gpg
  3. 将ROS2软件源添加到系统源列表

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

    这个命令看起来复杂,我们来拆解一下:

    • deb [...]:声明这是一个deb软件源。
    • [arch=$(dpkg --print-architecture) signed-by=...]:指定适用于当前系统架构(如amd64),并使用我们刚才添加的密钥文件进行验证。
    • http://packages.ros.org/ros2/ubuntu:ROS2官方软件源的URL。
    • $(. /etc/os-release && echo $UBUNTU_CODENAME):一个Shell命令替换,它会自动获取你系统的Ubuntu代号(例如,22.04就是jammy)。这比手动输入更准确。
    • main:仓库的组件。
    • | sudo tee /etc/apt/sources.list.d/ros2.list:将前面生成的整行内容写入到/etc/apt/sources.list.d/ros2.list这个新文件中。APT会读取这个目录下的所有.list文件。

    对于ROS1 Noetic (Ubuntu 20.04),第三步的命令替换为:

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

3.3 第二步:安装ROS2核心桌面版

现在软件源已就绪,可以开始安装了。ROS2提供了不同规模的安装包:

  • ros-humble-ros-base:仅包含核心通信库(DDS、RCLCPP等),没有图形化工具。适用于无界面的服务器或资源受限的嵌入式设备。
  • ros-humble-desktop:包含核心库和基础工具(如RViz2、演示节点),适合大多数开发者。
  • ros-humble-desktop-full推荐选择。包含桌面版的所有内容,外加仿真器(Gazebo)、导航库、感知库等一大堆常用功能包。一次性装全,避免后续缺东少西。

执行安装:

sudo apt update sudo apt install ros-humble-desktop-full -y

这个-y参数再次自动确认安装。这个过程会下载几百MB甚至上GB的数据,并自动解决和安装所有依赖项(如Python库、C++编译器、各种开发工具)。请保持网络通畅,耐心等待。

对于ROS1 Noetic,命令是:

sudo apt update sudo apt install ros-noetic-desktop-full -y

3.4 第三步:配置环境变量

安装完成后,ROS2的命令(如ros2)并不会立即可用。因为它的可执行文件和功能包路径没有被添加到系统的PATH环境变量中。ROS使用一种“工作空间”(workspace)和“环境加载”机制来管理不同版本的包。

最方便的方法是将ROS2的环境变量设置添加到你的shell启动脚本中(如~/.bashrc),这样每次打开新终端都会自动加载。

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
  • echo ... >> ~/.bashrc:将source /opt/ros/humble/setup.bash这行命令追加(>>)到你的.bashrc文件末尾。
  • source ~/.bashrc:立即执行当前终端会话的.bashrc文件,使更改生效,而无需重启终端。

对于ROS1 Noetic,路径是/opt/ros/noetic/setup.bash

重要提示:如果你使用了zsh或其他shell,需要将命令添加到对应的配置文件中(如~/.zshrc)。

3.5 第四步:安装依赖管理工具rosdep

rosdep是一个极其重要的工具。它的主要功能是:为你要编译的ROS功能包,安装它所声明的系统依赖。很多ROS包在package.xml文件中会写明需要哪些非ROS的系统库(例如libopencv-dev,python3-numpy等)。rosdep能自动读取这个列表并帮你安装。

sudo apt install python3-rosdep2 -y # 对于ROS2 Humble # 对于ROS1 Noetic,命令是:sudo apt install python3-rosdep

安装完成后,需要初始化和更新rosdep

sudo rosdep init rosdep update
  • sudo rosdep init:以管理员权限创建rosdep所需的初始配置文件(在/etc/ros/rosdep/sources.list.d/目录下)。这个命令只需要在每台电脑上执行一次。如果提示文件已存在,忽略即可。
  • rosdep update:从ROS官方服务器下载最新的依赖规则数据库到本地。这个命令在安装新的ROS包或遇到依赖问题时,可能需要再次执行。

3.6 第五步:安装编译工具colcon

ROS2推荐使用colcon作为构建工具(类似于ROS1的catkin_make)。它是一个用于编译、测试、打包多个功能包的工具。

sudo apt install python3-colcon-common-extensions -y

对于ROS1 Noetic,构建工具是catkin_toolscatkin_make

sudo apt install python3-catkin-tools python3-osrf-pycommon -y # 或者使用更传统的 catkin_make # sudo apt install ros-noetic-catkin -y

3.7 第六步:验证安装是否成功

让我们运行几个简单的命令来测试ROS2是否安装正确。

  1. 测试核心通信:在一个终端运行一个“说话”的节点。

    ros2 run demo_nodes_cpp talker

    你应该看到持续输出的消息,内容是一个递增的数字。

  2. 测试监听:打开另一个终端,运行一个“听话”的节点。

    ros2 run demo_nodes_py listener

    你应该看到这个终端在打印talker节点发出的消息。

如果两者都能正常运行,并且listener能接收到talker的消息,恭喜你!这证明ROS2的核心通信机制(话题Topic)工作正常,安装基本成功。

对于ROS1 Noetic,验证命令是:

roscore & # 首先启动ROS1的核心管理器 rosrun roscpp_tutorials talker # 另一个终端 rosrun roscpp_tutorials listener

4. 安装后的关键配置与“开箱即用”技巧

安装成功只是第一步,合理的配置能让你后续的开发事半功倍。

4.1 创建并初始化你的第一个工作空间

ROS代码通常组织在“工作空间”中。这是一个包含源代码(src)、编译构建文件(build,install,log)的目录结构。强烈建议为你的每个项目或学习阶段创建独立的工作空间。

mkdir -p ~/ros2_ws/src # 创建目录结构 cd ~/ros2_ws colcon build --symlink-install
  • mkdir -p:递归创建目录,如果父目录不存在则一并创建。
  • cd ~/ros2_ws:进入工作空间根目录。
  • colcon build --symlink-install:编译src目录下的所有包。--symlink-install参数非常重要,它使得install目录中的文件是链接到build目录的符号链接,而不是拷贝。这样,当你修改源代码后重新编译,install目录中的内容会自动更新,无需重新source

编译完成后,你需要让当前终端知道这个工作空间的存在:

source ~/ros2_ws/install/setup.bash

同样,你可以把这行命令也加到~/.bashrc中,放在ROS系统环境变量那行的下面,这样每次打开终端都会自动加载你的工作空间。

对于ROS1 Noetic,使用catkin工具:

mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make source devel/setup.bash

4.2 集成开发环境(IDE)的选择与配置

虽然可以用纯文本编辑器(如Vim, VSCode)加终端开发,但一个好的IDE能极大提升效率。

  • Visual Studio Code (VSCode) + ROS插件这是当前最主流、最推荐的选择。微软官方提供了“ROS”插件,支持ROS1和ROS2。它能自动识别package.xmlCMakeLists.txt,提供代码补全、语法高亮、Launch文件调试、Topic可视化等强大功能。安装好VSCode后,直接在扩展商店搜索“ROS”安装即可。
  • PyCharm/CLion:如果你是JetBrains全家桶用户,PyCharm(Python)和CLion(C++)通过安装“ROS”插件也能获得不错的支持,但在功能集成度上略逊于VSCode的ROS插件。

实操心得:无论用哪个IDE,最关键的一步是在正确加载了ROS环境变量的终端中启动它。例如,在终端中先source /opt/ros/humble/setup.bash,再输入code .来打开VSCode。这样IDE内部调用的命令(如编译、运行节点)才能正确找到ROS的相关路径。

4.3 常用工具速览与安装

除了核心,这些工具能让你如虎添翼:

  • RViz2 (ROS Visualization):ROS的3D可视化神器。用于显示机器人模型、传感器数据(点云、激光雷达)、坐标变换(TF)等。桌面版已包含。
  • Gazebo:强大的物理仿真环境。用于在虚拟世界中测试机器人算法,避免损坏真实硬件。桌面完整版已包含。
  • rqt:一个基于Qt的GUI框架,包含一系列实用插件,如节点图查看器(rqt_graph)、话题发布器(rqt_publisher)、参数重配置器(rqt_reconfigure)等。通过sudo apt install ros-humble-rqt*安装所有插件。
  • Turtlesim:经典的“小海龟”仿真器,是学习ROS基础概念(话题、服务、参数、动作)的最佳入门工具。通过ros2 run turtlesim turtlesim_node启动。

5. 高频问题排查与“避坑”指南实录

即使按照教程一步步来,你也可能会遇到问题。下面是我总结的常见“坑”及其解决方案。

5.1 网络问题:软件源与rosdep更新失败

这是国内用户最常见的问题,表现为sudo apt update很慢、sudo apt install下载失败、rosdep update连接超时。

解决方案

  1. 更换APT软件源镜像:将Ubuntu和ROS的软件源替换为国内镜像(如清华、中科大、阿里云)。
    • 备份原列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    • 编辑源列表sudo nano /etc/apt/sources.list,将文件内容替换为清华镜像源(针对Ubuntu 22.04 Jammy)的内容。你可以在清华镜像站找到对应版本的配置。
    • 同样替换ROS源:编辑/etc/apt/sources.list.d/ros2.list,将http://packages.ros.org替换为https://mirrors.tuna.tsinghua.edu.cn/ros2(对于ROS2)或https://mirrors.tuna.tsinghua.edu.cn/ros(对于ROS1)。记得也要修改signed-by的路径(如果镜像站提供了自己的密钥)。
  2. 为rosdep使用国内镜像rosdep update失败可以手动修改其源。
    • 打开rosdep的配置文件:sudo nano /etc/ros/rosdep/sources.list.d/20-default.list
    • 将其中的https://raw.githubusercontent.com/ros/rosdistro/master替换为https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master
    • 然后重新执行rosdep update
  3. 使用代理:如果你有稳定的网络代理,可以在终端中临时设置代理(export https_proxy=http://your-proxy:port)再执行更新命令。

5.2 环境变量冲突与“Command not found”

症状:输入ros2roscore命令,提示未找到。

排查步骤

  1. 检查是否source:确保你已经执行了source /opt/ros/humble/setup.bash(或将其添加到了.bashrc)。可以用echo $ROS_DISTRO命令测试,如果输出了humblenoetic,说明环境变量已加载。
  2. 检查.bashrc:用nano ~/.bashrc查看文件末尾,确认source语句存在且路径正确。
  3. 检查shell类型:如果你使用了zsh,需要将source语句添加到~/.zshrc
  4. 多版本冲突:如果你安装了多个ROS版本,后source的版本会覆盖前一个。确保你的.bashrc中只有你当前想用的那个版本的source语句。

5.3 依赖缺失导致的编译错误

症状:在工作空间中用colcon buildcatkin_make编译自己的包时,报错找不到某个头文件或库(如Could not find a package configuration file provided by “xxx”)。

解决方案

  1. 首先运行rosdep:在src目录下,运行rosdep install --from-paths . --ignore-src -r -y。这个命令会扫描src下所有包的package.xml,并自动安装所有列出的系统依赖。-r表示遇到错误继续,-y自动确认。
  2. 手动安装常见依赖:如果rosdep无法解决(有些依赖不在其规则库中),你需要根据错误信息手动安装。例如,缺少Eigen3sudo apt install libeigen3-dev;缺少OpenCVsudo apt install libopencv-dev
  3. 检查package.xmlCMakeLists.txt:确保你的包配置文件里正确声明了依赖(<depend>标签)。

5.4 Gazebo无法启动或模型加载失败

症状:运行gazeboros2 launch启动带Gazebo的仿真时,卡住、黑屏或报模型下载错误。

原因与解决

  1. 首次启动慢:Gazebo首次启动需要下载默认的世界和模型,而服务器在国外。这是最普遍的问题。
    • 离线安装模型:最好的办法是提前下载好模型库。可以从GitHub(https://github.com/osrf/gazebo_models)下载,解压后放到~/.gazebo/models/目录下。
    • 使用国内镜像:可以设置环境变量指向国内镜像,但不如离线安装彻底。
  2. 图形驱动问题:在虚拟机或某些显卡上,Gazebo可能需要指定使用软件渲染。
    • 运行export LIBGL_ALWAYS_SOFTWARE=1,然后再启动Gazebo。这会强制使用CPU软件渲染,兼容性好但性能差。
    • 对于VMware虚拟机,确保已安装VMware Tools并启用了3D图形加速。
  3. 端口冲突:Gazebo使用特定端口。如果异常关闭,可能导致端口占用。可以尝试killall gzserverkillall gzclient来清理。

5.5 Python版本与ROS模块导入错误

症状:在Python节点中import rospyimport rclpy失败。

排查

  1. 确认Python版本:ROS Noetic要求Python3,ROS2 Humble要求Python 3.8+。用python3 --version确认。
  2. 检查PYTHONPATH:确保ROS的Python模块路径已加入。echo $PYTHONPATH应该包含/opt/ros/humble/lib/python3.10/site-packages这样的路径。如果没有,说明环境变量没加载好。
  3. 虚拟环境冲突:如果你使用了condavenv等Python虚拟环境,ROS的包可能不在虚拟环境的路径中。最简单的办法是不要在虚拟环境中运行ROS的核心节点,或者在虚拟环境中显式地source /opt/ros/humble/setup.bash(但这可能破坏虚拟环境)。通常建议将ROS相关开发放在系统Python环境下,用虚拟环境管理纯Python的算法依赖。

6. 从安装到实战:下一步学习路径建议

环境搭好了,验证也通过了,接下来该做什么?这里给你一个平滑的学习路线图,避免直接面对浩如烟海的文档感到茫然。

第一阶段:核心概念“感知期”(1-2天)

  • 目标:建立对ROS基本通信机制的形象理解。
  • 行动
    1. 彻底玩转turtlesim。不要只运行一下。尝试:
      • ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_key,用键盘控制小海龟。
      • ros2 topic list查看有哪些话题,用ros2 topic echo /turtle1/cmd_vel查看你按键时发布的速度指令。
      • ros2 service call /spawn ...服务再生成一只小海龟。
      • rqt_graph可视化节点和话题的连接关系。
    2. 学习使用核心命令行工具:ros2 node,ros2 topic,ros2 service,ros2 param。了解ros2 --help是万能的朋友。

第二阶段:动手创造“实践期”(1-2周)

  • 目标:创建自己的包,编写简单的发布者和订阅者。
  • 行动
    1. 在工作空间src目录下,用ros2 pkg create my_first_package --build-type ament_python --dependencies rclpy创建一个Python包。仔细阅读自动生成的package.xmlsetup.py
    2. 编写一个简单的发布者(Publisher)节点,每秒发布一个“Hello World”字符串。
    3. 编写一个订阅者(Subscriber)节点,打印接收到的消息。
    4. 修改setup.py,添加入口点,使得节点可以通过ros2 run来启动。
    5. 回到工作空间根目录,用colcon build编译,然后source install/setup.bash,最后运行你的节点。

第三阶段:工具与仿真“深化期”(2-4周)

  • 目标:掌握核心开发工具,并在仿真环境中验证算法。
  • 行动
    1. 深入学习RViz2:加载一个机器人URDF模型,显示激光雷达模拟数据,理解TF坐标变换树。
    2. 学习Launch文件:编写一个.launch.py文件,一次性启动多个节点。
    3. 入门Gazebo:学习如何将你的URDF模型放入Gazebo,添加传感器(如激光雷达、相机),并编写一个简单的节点,订阅传感器话题,让机器人在仿真世界里动起来(比如随机行走避障)。

第四阶段:项目驱动“应用期”(长期)

  • 目标:解决一个具体的机器人问题。
  • 行动:选择一个明确的小项目,例如:
    • SLAM建图:用Gazebo模拟一个带激光雷达的机器人,使用nav2slam_toolbox包实现建图。
    • 视觉巡线:用Gazebo模拟一个带摄像头的机器人,使用OpenCV识别地面上的线,并发布控制指令让机器人沿线路行驶。
    • 机械臂运动:找一个开源机械臂URDF模型,在RViz中利用moveit2进行运动规划仿真。

记住,ROS的学习是螺旋上升的。不要试图一次性理解所有概念。从运行例子开始,修改例子,创造自己的小例子,在项目中遇到问题再去深挖背后的原理和文档,这是最有效率的学习方式。你的开发环境已经就绪,现在,是时候开始你的机器人探索之旅了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询