ROS 机器人工程师30 天突击学习计划(超详细・日更版)第一天 Linux
第 1 周:Linux + C++/Python + ROS 基础(Day1~7)
Day1:Linux 终端命令(ROS 90% 操作都靠它)
上午 9:00–11:30 | 必背命令
查看日志 / 进程bash运行
top # 看CPU htop # 更直观 dmesg # 系统日志 文件操作bash运行
ls -la # 看所有文件 cd # 进入目录 pwd # 显示当前路径 mkdir -p # 递归创建文件夹 rm -rf # 删除(谨慎) cp -r # 复制文件夹 mv # 移动/重命名 下午 14:00–17:00 | 权限 + 包管理
bash
运行
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 等):
bash

# 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 节点(必须先运行) 13
2. catkin_create_pkg <pkg_name> [dependencies] — 创建功能包 10
3. catkin_make — 编译工作空间(在 workspace 根目录执行) 10
4. source devel/setup.bash — 设置当前终端的环境变量(使能工作空间) 11
5. rospack find <pkg_name> — 查找功能包路径 22
6. roscd <pkg_name> — 切换到功能包目录 15
7. rosls <pkg_name> — 列出功能包里的文件 15
8. rosrun <pkg_name> <executable> — 运行功能包中的节点 22
9. roslaunch <pkg_name> <file.launch> — 启动 launch 文件(可一次启动多个节点) 10
10. rosnode list — 列出当前运行的节点 21
11. rosnode info <node_name> — 查看节点信息(话题、服务、参数) 13
12. rostopic list — 列出当前活跃的话题 9
13. rostopic echo <topic_name> — 打印话题消息内容 9
14. rostopic pub <topic_name> <msg_type> <args> — 发布话题消息 9
15. rosparam list — 列出参数服务器上的参数 9
3. Linux 在 ROS 里用来干什么?(启动、编译、调试、部署)
Linux 是 ROS 的主要运行平台,在 ROS 的启动、编译、调试、部署各环节都扮演核心角色:
1. 启动
◦ ROS 节点本质是 Linux 下的进程,roscore、rosrun、roslaunch 都是在 Linux Shell 中执行的命令。 9
◦ roslaunch 会调用 Python 脚本解析 XML 并启动多个 Linux 进程(节点)。 26
2. 编译
◦ ROS 使用 catkin(基于 CMake)构建系统,编译过程依赖 Linux 下的 GCC/G++ 编译器、make 工具。
◦ catkin_make 或 catkin build 在 Linux 终端执行,生成可执行文件放在 devel/lib/<pkg>/ 或 install/ 目录。
3. 调试
◦ 常用 Linux 命令配合 ROS 工具调试:rosnode、rostopic、rosparam、rqt_graph、rqt_console、gdb(C++ 节点调试)、valgrind(内存检查)。 10
◦ 利用 Linux 的进程管理(ps, kill, top)查看和控制 ROS 节点。
4. 部署
◦ 机器人实际运行时通常在 Linux 系统(如 Ubuntu)上,将编译好的工作空间 install 或 devel 目录部署到目标机。
◦ 通过 Linux 的 shell 脚本或 systemd 服务实现开机自启动 ROS 节点(如 roslaunch 在 .bashrc 或启动脚本中自动运行)。
一句话总结:
Linux 为 ROS 提供了进程管理、编译链、调试工具和运行环境,是 ROS 开发、测试、部署的基石,所有启动、编译、调试、部署操作都依赖 Linux 的 Shell 环境与系统工具链。