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

ROS 机器人开发入门:第一天 Linux 终端命令与基础操作

ROS 机器人开发第一天重点学习 Linux 终端命令及工作空间搭建。涵盖常用文件操作、权限管理、包管理及 catkin 编译流程。明确 Linux 在 ROS 启动、编译、调试、部署中的核心作用,掌握 roscore、rostopic 等高频指令,为后续机器人开发奠定环境基础。

LinuxPan发布于 2026/4/9更新于 2026/8/1845 浏览

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

Day1: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 | 权限 + 包管理

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 条常用命令。
  • 面试点:Linux 在 ROS 里用来干什么?(启动、编译、调试、部署)
1. 建立 ros_ws/src 目录并完成操作

在终端里操作(假设你用的是 Ubuntu + ROS Noetic/Kinetic/Melodic 等):

# 1. 创建 ROS 工作空间目录结构
mkdir -p ~/ros_ws/src

# 2. 进入 src 目录(此时为空)
cd ~/ros_ws/src

# 3. 创建一个示例功能包用于测试(假设用 catkin_create_pkg)
# 这里用 rospy 和 std_msgs 作为依赖示例
catkin_create_pkg hello_ros rospy std_msgs

# 4. 回到工作空间根目录
cd ~/ros_ws

# 5. 编译工作空间(第一次编译会生成 build 和 devel)
catkin_make

# 6. 复制一份 src 目录做备份(验收用)
cp -r src src_backup

# 7. 查看备份是否成功
ls -l

# 8. 删除刚创建的备份(验收删除)
rm -rf src_backup

# 9. 确认删除成功
ls -l

# 10. 验收:确认 src 里还有 hello_ros 包
ls src

这样就完成了 创建 → 复制 → 删除 → 验收 的流程。

2. 15 条常用 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> — 运行功能包中的节点
  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> — 发布话题消息
  15. rosparam list — 列出参数服务器上的参数
3. Linux 在 ROS 里的作用

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

  1. 启动

    • ROS 节点本质是 Linux 下的进程,roscore、rosrun、roslaunch 都是在 Linux Shell 中执行的命令。
    • roslaunch 会调用 Python 脚本解析 XML 并启动多个 Linux 进程(节点)。
  2. 编译

    • ROS 使用 catkin(基于 CMake)构建系统,编译过程依赖 Linux 下的 GCC/G++ 编译器、make 工具。
    • catkin_make 或 catkin build 在 Linux 终端执行,生成可执行文件放在 devel/lib// 或 install/ 目录。
  3. 调试

    • 常用 Linux 命令配合 ROS 工具调试:rosnode、rostopic、rosparam、rqt_graph、rqt_console、gdb(C++ 节点调试)、valgrind(内存检查)。
    • 利用 Linux 的进程管理(ps, kill, top)查看和控制 ROS 节点。
  4. 部署

    • 机器人实际运行时通常在 Linux 系统(如 Ubuntu)上,将编译好的工作空间 install 或 devel 目录部署到目标机。
    • 通过 Linux 的 shell 脚本或 systemd 服务实现开机自启动 ROS 节点(如 roslaunch 在 .bashrc 或启动脚本中自动运行)。

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

目录

  1. 第 1 周:Linux + C++/Python + ROS 基础(Day1~7)
  2. Day1:Linux 终端命令(ROS 90% 操作都靠它)
  3. 1. 建立 ros_ws/src 目录并完成操作
  4. 1. 创建 ROS 工作空间目录结构
  5. 2. 进入 src 目录(此时为空)
  6. 3. 创建一个示例功能包用于测试(假设用 catkincreatepkg)
  7. 这里用 rospy 和 std_msgs 作为依赖示例
  8. 4. 回到工作空间根目录
  9. 5. 编译工作空间(第一次编译会生成 build 和 devel)
  10. 6. 复制一份 src 目录做备份(验收用)
  11. 7. 查看备份是否成功
  12. 8. 删除刚创建的备份(验收删除)
  13. 9. 确认删除成功
  14. 10. 验收:确认 src 里还有 hello_ros 包
  15. 2. 15 条常用 ROS 命令(面试常考)
  16. 3. Linux 在 ROS 里的作用
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AI Agent 在企业应用中的 6 种基础类型与架构解析
  • Resilience4j 熔断降级深度解析:状态机、Fallback 与限流算法
  • Java 快速集成 Dify AI 平台实践
  • 基于 Flask 的 Python 个人记账本 Web 应用实现
  • 新版 Android Studio 修改 JDK 版本
  • Spring Boot 定时任务与调度系统
  • WebApp 设计三大关键维度:导航、配置模型与核心要点
  • 汇编语言实现求两个数的最大公约数
  • OmniXtreme: 高动态人形机器人控制通用性壁垒突破
  • RAG 系统中文本分割(Chunking)的原理与最佳实践
  • Power BI 集成 Python 实现高级数据可视化与分析
  • Qoder AI 编程工具从部署到深度使用实战详解
  • 春晚机器人集群:分布式实时协同算法与灵巧手实现
  • 金融类 App 渗透测试实战:从 Weblogic 到 Shiro 反序列化
  • Python 基础语法与核心概念详解
  • WebGL Inspector:专业级 WebGL 调试工具箱
  • 从 try-catch 到链式调用:一种更优雅的 async/await 错误处理方案
  • Java Swing 自定义组件实现文字滚动效果
  • 离散傅里叶变换与 OpenCV 实现详解
  • 从零训练大语言模型:环境与代码实战指南

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

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

  • Base64 文件转换器

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

  • Markdown转HTML

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