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

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座 在现代社交应用与办公协同工具的开发中,集成强大的机器人(Bot)交互能力是提升活跃度的关键。discord_interactions 库为 Flutter 开发者提供了一套完整的、遵循 Discord 官方协议的交互模型,涵盖了从 Slash Commands(斜杠命令)到 Webhook 签名验证的核心功能。本文将深入解析如何在 OpenHarmony(鸿蒙)环境下,结合鸿蒙的安全机制与网络特性,完美适配 discord_interactions 到你的鸿蒙应用中。 前言 随着鸿蒙系统(HarmonyOS)进入原生应用开发的新纪元,跨平台社交工具的适配需求日益增长。discord_interactions 作为一个纯

如何在OpenWrt路由器上快速部署智能家居中心:完整配置指南

如何在OpenWrt路由器上快速部署智能家居中心:完整配置指南 【免费下载链接】homeassistant_on_openwrtInstall Home Assistant on your OpenWrt device with a single command 项目地址: https://gitcode.com/gh_mirrors/ho/homeassistant_on_openwrt 想要将普通路由器变身为强大的智能家居控制中心吗?Home Assistant on OpenWrt项目让你通过一条命令就能在OpenWrt设备上部署完整的智能家居系统。这种智能家居部署方案不仅简单易用,还能充分利用现有硬件资源,实现路由器与智能家居系统的深度整合。 智能家居系统部署的前期准备 在开始路由器集成智能家居系统之前,请确保你的设备满足以下基本要求: * 存储空间:至少256MB可用空间 * 内存容量:至少256MB RAM * 系统版本:OpenWrt 23.05.0或更新版本 这些配置确保Home Assistant能够稳定运行并处理日常的智能设备管理任务。 快速

AcousticSense AI多场景:兼容ASR文本+音频频谱双模态联合流派推断

AcousticSense AI多场景:兼容ASR文本+音频频谱双模态联合流派推断 1. 项目概述:让AI看见音乐的灵魂 AcousticSense AI是一个创新的音频智能分析平台,它采用了一种独特的方法来处理音乐分类问题。传统的音频处理通常只关注声音的波形特征,而我们的系统将音频转化为视觉图像,让AI能够"看见"音乐的内在结构。 这个平台的核心思想很简单:把复杂的声波信号转换成图像,然后用先进的计算机视觉技术来分析这些图像。就像人类可以通过看乐谱来理解音乐一样,AI通过分析音频的视觉表示来识别音乐流派。 我们基于CCMusic-Database这个大规模音乐数据集进行训练,系统能够准确识别16种不同的音乐流派,从古典到流行,从爵士到电子音乐,覆盖了全球主要的音乐类型。 2. 技术原理:声学特征图像化 2.1 从声音到图像 系统的工作流程可以分为三个关键步骤: 频谱转换:使用Librosa音频处理库,将原始的音频信号转换为梅尔频谱图。这种频谱图类似于音乐的"指纹",它以图像的形式保留了音频的频率、时间和强度信息。 视觉分析:采用Google开发的Vision T

n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node

n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node

自定义机器人使用指南 利用 n8n 打造飞书 RSS 推送机器人 文章目录 * 自定义机器人使用指南 * 注意事项 * 功能介绍 * 在群组中添加自定义机器人 * 操作步骤 * 邀请自定义机器人进群。 * - 进入目标群组,在群组右上角点击更多按钮,并点击 设置。 * - 在右侧 设置 界面,点击 群机器人。 * - 在 群机器人 界面点击 添加机器人。 * - 在 添加机器人 对话框,找到并点击 自定义机器人。 * - 设置自定义机器人的头像、名称与描述,并点击 添加。 * 获取自定义机器人的 webhook 地址,并点击 完成。 * 测试调用自定义机器人的 webhook 地址,向所在群组发送消息。 * -