跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

ROS 机器人开发实战:Linux 终端命令与基础环境搭建指南

ROS 机器人开发始于 Linux 系统,掌握终端命令是进入 ROS 领域的第一步。梳理了 Linux 常用文件操作、权限管理及包管理命令,并提供了 ROS 工作空间搭建与核心指令的实战演练。通过理解 Linux 在进程管理、编译链及调试工具中的角色,开发者能更高效地完成 ROS 节点的启动、编译与部署。适合初学者建立扎实的底层操作基础。

林间仙子发布于 2026/3/28更新于 2026/10/2187 浏览

第 1 周:Linux + C++/Python + ROS 基础(Day 1~7)

Day 1:Linux 终端命令(ROS 90% 操作都靠它)

上午 9:00–11:30 | 必背命令

掌握这些命令,能解决大部分日常运维问题。

查看日志与进程状态

top      # 实时查看 CPU 占用
htop     # 更直观的进程管理工具
dmesg    # 系统启动日志

文件操作基础

ls -la   # 显示所有文件及详细信息
cd       # 切换目录
pwd      # 显示当前路径
mkdir -p # 递归创建文件夹
rm -rf   # 删除文件或目录(慎用)
cp -r    # 复制文件夹
mv       # 移动或重命名

下午 14:00–17:00 | 权限 + 包管理

权限控制是 Linux 安全的核心,包管理则是安装依赖的关键。

sudo chmod 777 file          # 修改文件权限
sudo chown -R user:user folder # 递归修改所有者
sudo apt update              # 更新软件源列表
sudo apt install xxx         # 安装软件包

晚上 19:00–20:30 | 实战练习

建议建立一个 ros_ws/src 目录,通过实际操作来验收成果。不看笔记能敲出 15 条常用命令是基本要求。

实操步骤: 假设你使用的是 Ubuntu + ROS Noetic/Kinetic/Melodic 等环境:

  1. 创建工作空间结构
    mkdir -p ~/ros_ws/src
    cd ~/ros_ws/src
    
  2. 创建示例功能包 这里用 rospy 和 std_msgs 作为依赖示例。
    catkin_create_pkg hello_ros rospy std_msgs
    
  3. 编译工作空间 回到根目录并执行编译,这会生成 build 和 devel 目录。
    cd ~/ros_ws
    catkin_make
    
  4. 验证与清理 复制一份 src 做备份,确认无误后删除,模拟真实开发中的版本管理流程。
    cp -r src src_backup
    ls -l
    rm -rf src_backup
    ls -l
    

高频 ROS 命令速查表

下面列出 15 条高频 ROS 命令(以 ROS1 为例,ROS2 略有差异),面试中常考:

  1. roscore — 启动 ROS Master、参数服务器、rosout 节点(必须先运行)
  2. catkin_create_pkg <pkg_name> [dependencies] — 创建功能包
  3. catkin_make — 编译工作空间(在 workspace 根目录执行)
  4. source devel/setup.bash — 设置当前终端的环境变量(使能工作空间)
  5. rospack find <pkg_name> — 查找功能包路径
  6. roscd <pkg_name> — 切换到功能包目录
  7. rosls <pkg_name> — 列出功能包里的文件
  8. rosrun <pkg_name> <executable> — 运行功能包中的节点
  9. roslaunch <pkg_name> <file.launch> — 启动 launch 文件(可一次启动多个节点)
  10. rosnode list — 列出当前运行的节点
  11. rosnode info <node_name> — 查看节点信息(话题、服务、参数)
  12. rostopic list — 列出当前活跃的话题
  13. rostopic echo <topic_name> — 打印话题消息内容
  14. rostopic pub <topic_name> <msg_type> <args> — 发布话题消息
  15. rosparam list — 列出参数服务器上的参数

为什么 Linux 对 ROS 至关重要?

Linux 是 ROS 的主要运行平台,在启动、编译、调试、部署各环节都扮演核心角色:

  • 启动:ROS 节点本质是 Linux 下的进程,roscore、rosrun、roslaunch 都是在 Linux Shell 中执行的命令。roslaunch 会调用 Python 脚本解析 XML 并启动多个 Linux 进程。
  • 编译:ROS 使用 catkin(基于 CMake)构建系统,依赖 Linux 下的 GCC/G++ 编译器、make 工具。catkin_make 或 catkin build 在终端执行,生成可执行文件放在 devel/lib/<pkg>/ 或 install/ 目录。
  • 调试:常用 Linux 命令配合 ROS 工具调试,如 rosnode、rostopic、rqt_graph、gdb(C++ 节点调试)、valgrind(内存检查)。利用 Linux 的进程管理(ps, kill, top)查看和控制 ROS 节点。
  • 部署:机器人实际运行时通常在 Linux 系统(如 Ubuntu)上,将编译好的工作空间 deploy 到目标机。通过 shell 脚本或 systemd 服务实现开机自启动 ROS 节点。

一句话总结:Linux 为 ROS 提供了进程管理、编译链、调试工具和运行环境,是 ROS 开发、测试、部署的基石,所有操作都依赖 Linux 的 Shell 环境与系统工具链。

目录

  1. 第 1 周:Linux + C++/Python + ROS 基础(Day 1~7)
  2. Day 1:Linux 终端命令(ROS 90% 操作都靠它)

更多推荐文章

查看全部
  • OpenClaw 结合本地 Ollama 搭建个人 AI 助手实战
  • 全球校园人工智能算法精英大赛碳中和优化题解析
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调实战
  • C++ STL 手写 String 类及高频易错点解析
  • 在 Trae 中配置 MySQL-MCP 服务器的完整指南
  • 高精度运算的加减乘除算法详解
  • Eino ADK 深度解析:ChatModelAgent 核心机制与实战指南
  • Python 基础语法入门(一)
  • LLaMA-Factory 本地部署与安装指南
  • EasyPostman:开源免费的 Postman 替代方案,支持国产化操作系统
  • AI 辅助贪吃蛇游戏开发全流程解析
  • ChatGPT Tools 调用实战:基于 OpenAI Python SDK 实现系统命令执行
  • OpenClaw QQ 机器人接入完整指南
  • 国产主流 AI 大模型工具功能对比与使用场景指南
  • 17 岁高中生开发 AI 应用 Cal AI,4 个月销售额达 100 万美元
  • OpenClaw 本地 AI 助手部署与优化指南
  • 电商定价与 SKU 丰富度的算法策略解析
  • GitHub Copilot 学生身份认证全流程指南
  • C++ STL 核心基础:迭代器、auto 与范围循环
  • Unidbg 环境下解决 Native 调用 Java 方法报错问题

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online