本仓库用于记录 AI 机器人课程的阶段性实践成果。项目围绕 ROS2、turtlesim、PyBullet、Docker、WSL2 与远程运维工具展开,涵盖机器人基础控制、仿真环境搭建、运动算法、路径规划、四足机器人步态以及手机远程控制等内容。
在线文档预览:GitHub Pages
| 项目 | 内容 |
|---|---|
| 姓名 | zhangxiao / 张孝 / 장효 |
| 学号 | 20242032 |
| 项目周期 | 2026-03-11 至今 |
| 课程方向 | AI 机器人系统开发与实践 |
本项目的目标是通过连续课程实践,逐步建立完整的机器人开发能力:
| 组件 | 技术选型 | 说明 |
|---|---|---|
| 操作系统 | Windows 11 + WSL2 / Ubuntu 22.04 LTS | 主要开发与运行环境 |
| 机器人系统 | ROS2 Humble Hawksbill | 节点通信、话题发布、机器人控制 |
| 开发工具 | VSCode + WSL 远程扩展 | 代码编写、调试与版本管理 |
| 仿真平台 | turtlesim / PyBullet | 小乌龟控制与四足机器人仿真 |
| 容器工具 | Docker | 环境隔离与可复现部署 |
| 远程连接 | Tailscale / Termius | 手机端与异地远程调试 |
| 编程语言 | Python / C++ / Bash | ROS2 节点、脚本与自动化工具 |
ai-robot-zhangxiao/
├── readme.md
├── week02/ # Ubuntu 与 ROS2 环境安装
├── week03/ # turtlesim 基础运动控制
├── week04/ # 机器人基础控制与几何绘制
├── week05/ # ROS2 轨迹发布与运动控制
├── week06/ # 全景监控系统集成
├── week07/ # Git 仓库整理与规范化
├── week08/ # Docker 机器人环境配置
├── week09/ # 智能机器人数学与算法基础
├── week10/ # 虚拟机目录挂载优化
├── week11/ # 开发环境镜像提交
├── week12/ # PyBullet 四足机器人 Trot 步态
├── week13/ # Tailscale 与 WSL 远程连接
└── week14/ # 手机遥控与自主探索小乌龟系统
| 周次 | 主题 | 主要成果 |
|---|---|---|
| Week 02 | Ubuntu 与 ROS2 环境安装 | 安装 Ubuntu 与 ROS2 Humble,运行 turtlesim 示例。 |
| Week 03 | 小乌龟运动控制实践 | 理解 ROS2 节点通信,控制 turtlesim 完成基础运动。 |
| Week 04 | 机器人基础控制与几何绘制 | 编写 ROS2 控制节点,完成正方形等几何轨迹绘制。 |
| Week 05 | ROS2 核心运动控制 | 编写通用轨迹发布器,实现画圆、画线等控制任务。 |
| Week 06 | 全景监控系统集成 | 编译并运行 ROS2 工作空间,完成传感器数据链路集成。 |
| Week 07 | 规范化代码管理 | 整理 Git 仓库结构,优化文件组织与提交记录。 |
| 周次 | 主题 | 主要成果 |
|---|---|---|
| Week 08 | Docker 机器人环境配置 | 编写 Dockerfile,在容器中运行 ROS2 与 turtlesim。 |
| Week 09 | 智能机器人数学基础 | 学习线性代数、运动学、视觉几何、A* 与 RRT 等算法。 |
| Week 10 | 虚拟机目录挂载优化 | 配置共享目录与镜像文件挂载,提高开发效率。 |
| Week 11 | 开发环境镜像提交 | 打包完整 Ubuntu/ROS2 开发环境,支持快速复现。 |
| 周次 | 主题 | 主要成果 |
|---|---|---|
| Week 12 | PyBullet 四足机器人 Trot 步态 | 搭建四足机器人仿真模型,实现小跑步态控制。 |
| Week 13 | Tailscale 与 WSL 远程连接 | 使用 Tailscale 打通虚拟局域网,并通过手机远程连接 WSL。 |
| Week 14 | 手机遥控与自主探索小乌龟系统 | 实现手机网页遥控、ROS2 桥接通信与右手法则巡墙探索。 |
第十四周项目是本仓库的综合实践内容,目标是实现一个支持手机远程控制和自主探索迷宫的小乌龟机器人系统。
核心模块包括:
/turtle1/cmd_vel 发布 Twist 消息,驱动 turtlesim 运动。系统流程:
手机浏览器
↓
网页控制界面
↓
HTTP / WebSocket
↓
Python Bridge Server
↓
ROS2 Node
↓
/turtle1/cmd_vel
↓
turtlesim
效果截图见:week14/img1.png
| 分类 | 技术 |
|---|---|
| 机器人开发 | ROS2 Humble, turtlesim, PyBullet |
| 仿真与控制 | Twist 消息, ROS2 Topic, Wall Following, Right-Hand Rule, Trot Gait |
| 工程环境 | Ubuntu 22.04, WSL2, Docker, VSCode |
| 远程运维 | Tailscale, Termius, SSH |
| 算法基础 | FK/IK, Jacobian, A, RRT/RRT, 视觉几何 |
| 编程语言 | Python, C++, Bash |
不同周次的作业依赖环境不同,建议进入对应目录阅读该周 README 后再运行。
通用 ROS2 环境初始化示例:
source /opt/ros/humble/setup.bash
运行 turtlesim 示例:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
若运行自定义 ROS2 工作空间,通常需要先编译并加载环境:
colcon build
source install/setup.bash
通过本项目的持续实践,逐步完成了从基础环境搭建到综合机器人系统开发的学习闭环。项目不仅覆盖 ROS2 通信机制和机器人运动控制,也延伸到了容器化部署、远程连接、仿真平台、路径搜索和自主探索算法等内容,为后续真实机器人平台开发打下基础。