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 环境与系统工具链。

Read more

Go语言中的未来:从泛型到WebAssembly

Go语言中的未来:从泛型到WebAssembly 前言 作为一个在小厂挣扎的Go后端老兵,我对Go语言未来的理解就一句话:能进化的绝不固步自封。 想当年刚接触Go语言时,它还没有泛型,没有模块系统,甚至连错误处理都被人诟病。现在的Go语言已经今非昔比,泛型来了,模块系统完善了,错误处理也有了更多选择。 今天就聊聊Go语言的未来发展,从泛型到WebAssembly,给大家一个能直接抄作业的方案。 为什么需要关注Go语言的未来? 我见过不少小团队,只关注当前的技术,不关心语言的发展趋势,结果技术栈逐渐落后。关注Go语言的未来能带来很多好处: * 提前准备:了解未来的特性,提前调整代码结构 * 技术选型:根据未来趋势,做出更合理的技术选型 * 职业发展:掌握最新技术,提升个人竞争力 * 项目规划:根据语言发展,制定更合理的项目规划 泛型 泛型是Go 1.18引入的重要特性,它能让我们编写更加通用的代码。 基本用法 // 定义泛型函数 func Map[T, U any](s []T, f

一个Prompt生成一门课?OpenMAIC把AI卷进“教育工业化”

一个Prompt生成一门课?OpenMAIC把AI卷进“教育工业化”

* 官网体验:https://open.maic.chat/ * GitHub 开源:https://github.com/THU-MAIC/OpenMAIC 最近技术圈有个很有意思的开源项目——OpenMAIC(Open Multi-Agent Interactive Classroom)。 很多人第一眼会觉得: “又一个AI教育项目?” 但如果你认真看完它的设计,你会发现一件事: 这不是一个AI工具,而是一套“多Agent驱动的完整系统”。 它的目标也很明确——不是回答问题,而是: 👉 把“学习”这件事,完整交给AI来执行。 一、它解决的不是“内容生成”,而是“教学过程” 过去我们用AI,大多数场景是: * 写文章 * 做总结 * 回答问题 本质是:点状能力调用 而 OpenMAIC 做的是另一件事: 👉 输入一个主题 → 输出一整套“课程系统”

CoPaw完整部署指南:打造专属AI智能助理,附雨云积分兑换福利

CoPaw完整部署指南:打造专属AI智能助理,附雨云积分兑换福利 CoPaw是阿里云通义实验室推出的开源桌面端AI助手框架,聚焦协同个人智能体工作站能力,能轻松实现文档处理、定时任务、多平台联动等办公自动化操作,且部署门槛友好,无论是零基础新手还是技术开发者,都能快速上手搭建专属AI助理。本文将详细拆解CoPaw的多种部署方式,兼顾本地测试与云端部署需求,文末还为大家带来雨云云服务器专属积分兑换活动,低成本玩转云端AI部署! 一、部署前的基础准备 CoPaw对运行环境要求较低,主流操作系统均可适配,提前做好以下准备,让部署过程更顺畅: 1. 系统要求:Windows 10/11(64位)、macOS 12+、Linux(含统信UOS、麒麟等国产系统),内存≥4GB,磁盘可用空间≥500MB; 2. 环境配置:Pip安装方式需提前配置Python 3.10~3.13版本(兼容性最优),一键安装和Docker部署无需手动配置Python; 3. 核心密钥:CoPaw为框架型工具,需接入外部大模型(阿里云百炼、

OpenClaw + 瑞芯微 RK3588:让 AI 从 “云端” 走进 “边缘”,打造真正的本地智能执行体

OpenClaw + 瑞芯微 RK3588:让 AI 从 “云端” 走进 “边缘”,打造真正的本地智能执行体

OpenClaw + 瑞芯微 RK3588:让 AI 从 “云端” 走进 “边缘”,打造真正的本地智能执行体 最近 OpenClaw 凭借 “能动手干活” 的核心能力,彻底打破了传统大模型 “只说不做” 的局限,成为 AI 圈现象级开源项目。而当 OpenClaw 与高性能嵌入式开发板(如瑞芯微 RK3588)结合时,更是释放出边缘计算 + 本地 AI 执行的全新潜力,为智能机器人、工业控制、智慧安防等场景带来了革命性的自动化方案。 一、OpenClaw 是什么?从 “数字员工” 到 “边缘大脑” 1.1 核心定位:不止于 PC,更适配高性能边缘场景 OpenClaw 是由奥地利开发者 Peter