個人技術路線清單

機器人系統技術成長路線

這是一份記錄我長期學習方向的路線清單:把底盤控制、傳感器接入、定位建圖、導航避障、視覺感知、機械臂規劃和部署能力串起來。

主線

移動機器人 SLAM / 導航 / ros2_control / 多傳感器融合 / 實車部署

副線

3D LiDAR SLAM / 視覺感知 / MoveIt2 / 嵌入式 Linux / Jetson TensorRT 部署

C++
C++核心開發語言
Linux
Linux部署與調試環境
ROS2
ROS2機器人系統中樞
OpenCV
OpenCV視覺感知基礎
STM32
STM32底盤電機控制
Docker
Docker工程化部署

System Map

從底盤到部署的能力鏈路

這張圖來自同一份階段數據:以後調整階段時,路線圖和任務清單會一起跟着變。

01

機器人系統基礎

C++11/14/17 / STL / 多線程

  • 形成 ROS2 工作空間模板
  • 能獨立排查 TF、時間戳、設備權限、日誌問題
  • 寫出可維護的 C++ 功能包
02

底盤控制與 ros2_control

ros2_control / mecanum_drive_controller / hardware_interface

  • 自定義四輪麥克納姆硬件接口
  • 完成 vx/vy/wz 到四輪速度控制
  • 輸出 joint_states、odom 與 TF
03

2D SLAM 與自主導航

slam_toolbox / Cartographer / Nav2

  • 完成 2D LiDAR 建圖與地圖保存
  • 跑通 Nav2 點目標導航
  • 對比融合前後的 odom 軌跡
04

3D SLAM 與點雲導航

PCL / voxel grid / ground segmentation

  • 採集並跑通 3D LiDAR + IMU 數據
  • 保存點雲地圖
  • 實現 3D 點雲投影到 2D costmap
05

視覺感知與三維融合

OpenCV / camera calibration / ORB

  • 完成相機標定與畸變矯正
  • YOLO 檢測結果發佈到 ROS2
  • 跑通 LiDAR + IMU + Camera 融合建圖
06

機械臂與移動操作

URDF / xacro / SRDF

  • 完成 6 自由度機械臂仿真規劃
  • 接入真實機械臂控制鏈路
  • 實現導航、識別、抓取、搬運、放置閉環
07

部署與高性能計算

Jetson / RK3588 / Docker

  • 在 Jetson 部署 ROS2 與 YOLO
  • 測試 FPS、延遲、CPU/GPU 佔用
  • 沉澱 systemd 服務和部署文檔

Checklist

個人路線任務清單

13 個長期任務裏,先抓住 10 個主線任務;頁面上的統計、分組和優先級都從任務清單自動生成。

13總任務
10主線
1進行中
0已完成
階段 01

機器人系統基礎

先把工程地基打牢,確保後續每個模塊都能穩定調試、復現和維護。

Task 01
待開始主線必做

搭建可複用的 ROS2 工作空間模板

把後續每個機器人項目的基礎目錄和編譯方式統一起來。

ROS2CMakecolconLinux
  • 統一 package 命名
  • 整理編譯腳本
  • 預留 launch 和 config 目錄
Task 02
待開始主線必做

補齊 Linux 調試與設備管理習慣

把串口、權限、日誌、服務啓動這些底層問題變成日常操作。

Linuxudevsystemdshell
  • 熟悉 udev 規則
  • 整理 systemd 啓動樣例
  • 補一份常用排障清單
階段 02

底盤控制與 ros2_control

把上位機運動學、控制器管理和 STM32 電機閉環接起來,形成標準化移動底盤。

Task 03
進行中主線必做

完成四輪麥克納姆底盤硬件接口

把輪速控制、編碼器反饋和 TF 輸出統一起來。

ros2_controlhardware_interfaceSTM32CAN
  • 實現 write()
  • 實現 read()
  • 打通 joint_states 和 odom
Task 04
待開始主線必做

打通底盤速度解算與電機閉環

讓 vx / vy / wz 真正變成四個輪子的控制量。

mecanum_drive_controllerencoderPID
  • 確認運動學公式
  • 校準輪徑和輪距
  • 檢查編碼器單位換算
階段 03

2D SLAM 與自主導航

完成地面移動機器人的基礎閉環:建圖、定位、路徑規劃、避障和導航調參。

Task 05
待開始主線必做

完成 2D LiDAR 建圖與地圖保存

先把 2D 地圖跑穩,再接定位和導航。

2D LiDARslam_toolboxCartographer
  • 建立 laser TF
  • 錄製 rosbag
  • 保存和回放地圖
Task 06
待開始主線必做

跑通 Nav2 點目標導航

讓小車從任意起點穩定到達目標點。

Nav2AMCLcostmapRViz2
  • 調 global costmap
  • 調 local costmap
  • 檢查目標點到達邏輯
Task 07
待開始主線必做

融合輪速里程計與 IMU

提升軌跡穩定性,減少純輪速累積誤差。

robot_localizationEKFwheel odomIMU
  • 確認 IMU 座標軸
  • 檢查時間戳同步
  • 對比融合前後軌跡
階段 04

3D SLAM 與點雲導航

從 2D 升級到 3D LiDAR-IMU 建圖,並讓三維障礙物服務於地面機器人導航。

Task 08
待開始主線必做

跑通 FAST-LIO2 三維建圖

把三維激光和 IMU 接起來,先讓軌跡和地圖穩定出現。

FAST-LIO23D LiDARIMUPCL
  • 跑官方數據集
  • 採集自有數據
  • 檢查外參和時間戳
Task 09
待開始建議推進

把 3D 點雲接入 2D costmap

讓 3D 感知真正服務地面機器人避障。

voxel_layerpointcloud_to_laserscancostmap
  • 點雲濾波
  • 地面分割
  • 障礙物投影
階段 05

視覺感知與三維融合

為視覺 SLAM、動態障礙物檢測和後續抓取任務準備視覺感知能力。

Task 10
待開始主線必做

完成 OpenCV 圖像處理基礎包

把標定、矯正、特徵點和匹配流程整理成可複用模塊。

OpenCVcv_bridgecamera calibration
  • 接入相機話題
  • 完成畸變矯正
  • 做 ORB / PnP demo
Task 11
待開始建議推進

把 YOLO 接進 ROS2 圖像流

讓檢測結果能在機器人系統裏被訂閲和複用。

YOLOROS2RGB-DRViz Marker
  • 發佈檢測 topic
  • 可視化檢測框
  • 記錄推理延遲
階段 06

機械臂與移動操作

把底盤導航、機械臂運動規劃、視覺識別和 TF 座標系統整合成移動操作能力。

Task 12
待開始建議推進

完成 MoveIt2 機械臂仿真規劃

先把機械臂的規劃、碰撞檢測和軌跡執行跑順。

MoveIt2URDFSRDFjoint_trajectory_controller
  • 搭建機械臂模型
  • 配置規劃組
  • 執行仿真軌跡
階段 07

部署與高性能計算

把算法從實驗環境推進到真實計算平台,關注性能、穩定性、日誌和可維護性。

Task 13
待開始主線必做

整理個人機器人項目歸檔

把所有項目變成能快速找、快速改、快速復現的歸檔系統。

README架構圖演示視頻rosbag參數文件
  • 統一 README 模板
  • 補錄覆盤筆記
  • 整理配置和數據

Priority

路線優先級

這裏不用單獨維護,分組會從任務的 priority 字段自動生成。

主線必做

主線必做

個人路線裏的主幹任務,優先保證能跑通、能復現、能長期維護。

  1. 搭建可複用的 ROS2 工作空間模板
  2. 補齊 Linux 調試與設備管理習慣
  3. 完成四輪麥克納姆底盤硬件接口
  4. 打通底盤速度解算與電機閉環
  5. 完成 2D LiDAR 建圖與地圖保存
  6. 跑通 Nav2 點目標導航
  7. 融合輪速里程計與 IMU
  8. 跑通 FAST-LIO2 三維建圖
  9. 完成 OpenCV 圖像處理基礎包
  10. 整理個人機器人項目歸檔
建議推進

建議推進

能明顯增強路線完整性,適合在主幹任務穩定後持續補齊。

  1. 把 3D 點雲接入 2D costmap
  2. 把 YOLO 接進 ROS2 圖像流
  3. 完成 MoveIt2 機械臂仿真規劃
擴展探索

擴展探索

有設備和時間再補,更多是拓寬能力邊界。