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

本地AI绘画新选择:Z-Image-Turbo_UI界面真实体验

本地AI绘画新选择:Z-Image-Turbo_UI界面真实体验 最近在测试几款轻量级本地AI绘图工具时,偶然发现了一个特别“省心”的方案——Z-Image-Turbo_UI界面。它不像传统Stable Diffusion整合包那样动辄要配环境、装依赖、调参数,而是直接跑起一个干净的Gradio界面,打开浏览器就能用。更关键的是:不联网、不传图、不依赖云服务,所有生成过程都在你自己的电脑里完成。我用一台RTX 3060笔记本实测了三天,从启动到出图、从修图到批量保存,全程没报错、没卡死、没弹出任何奇怪的警告框。这篇文章就带你完整走一遍真实使用流程,不讲虚的,只说你打开后真正会遇到什么、怎么操作、效果如何、哪些地方值得多点两下。 1. 为什么说它“开箱即用”?——零配置启动体验 很多新手被劝退,不是因为不会写提示词,而是卡在第一步:环境装不上、CUDA版本对不上、模型路径找不到……Z-Image-Turbo_UI绕开了所有这些坑。 它本质是一个预打包的Python脚本+模型权重+Gradio前端的组合体,所有依赖都已内置。你不需要:

Whisper JAX内存优化技巧:如何在大规模音频处理中保持高效

Whisper JAX内存优化技巧:如何在大规模音频处理中保持高效 【免费下载链接】whisper-jaxJAX implementation of OpenAI's Whisper model for up to 70x speed-up on TPU. 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-jax Whisper JAX是基于JAX框架实现的OpenAI Whisper模型,专为TPU优化,能够实现高达70倍的速度提升。对于需要处理大规模音频数据的用户来说,内存优化是确保系统稳定运行的关键因素。🎯 为什么Whisper JAX需要内存优化? 在大规模音频处理场景中,Whisper JAX需要同时处理多个音频文件,这会占用大量内存资源。特别是在TPU环境下,合理的内存分配直接影响处理速度和系统稳定性。 核心内存优化策略 1. 参数分区技术 Whisper JAX通过partitioner.py实现了智能的参数分区机制。这种技术能够将模型参数和激活值分布在多个设备上,有效减少单个设备的内存压力。

Windows 23H2 Copilot 烦不胜烦?两种关闭方案!适配联想全系列设备

升级 Windows 23H2 系统后,不少联想用户(涵盖台式机、ThinkPad、笔记本等全系列机型)都遇到了同款困扰:Copilot 要么自动弹窗打扰操作,要么按 Win+C 快捷键时弹出 “该服务在你所在地区不可用” 的提示,既占系统资源又影响使用体验。明明用不上的功能,却总在关键时刻 “刷存在感”,让人忍不住想彻底关闭,却不知道该从何下手。 其实关闭 Copilot 有两种实用方案,可根据自身需求选择:如果只是想隐藏任务栏的 Copilot 图标,避免视觉干扰,推荐用简单的 “仅关闭图标方案”—— 进入系统 “个性化 - 任务栏 - 任务栏项”,直接关闭 Copilot 功能即可,操作零门槛,还能随时重新开启;若想彻底禁用该功能,杜绝弹窗和快捷键触发,就需要用到 “注册表修改方案”,不过要注意此操作涉及注册表编辑,需谨慎按照步骤执行:

轻松上手Llama-Factory:五分钟完成第一个LoRA微调任务

轻松上手Llama-Factory:五分钟完成第一个LoRA微调任务 你有没有遇到过这样的场景?想为自己的业务定制一个专属的对话模型,比如让大模型学会回答公司产品的售后问题,或者生成符合行业风格的技术文档。但一想到要动辄几十GB显存、数天训练时间、复杂代码工程,就望而却步了? 现在,这一切正在变得简单。 借助 Llama-Factory 和 LoRA 技术,哪怕只有一张消费级显卡(如RTX 3090),也能在五分钟内启动并运行你的第一个大模型微调任务。更关键的是——你几乎不需要写一行代码。 我们先抛开那些复杂的术语和流程图,直接来看一个最典型的使用案例: 假设你现在手头有一个 LLaMA-2-7B 的基础模型,还有一份包含1000条指令数据的 JSON 文件,内容是“用户提问 → 正确回答”的格式。你想让这个模型学会更好地处理这类任务。 传统做法是全参数微调:加载整个模型,更新所有70亿参数。这需要至少两张A100显卡,显存爆满,训练耗时数小时起步。 而用 LoRA + Llama-Factory,你可以这么做: CUDA_VISIBLE_DEVICES=0