跳到正文

Wiki

Wiki

按文件與章節組織的長期知識庫。
北極熊導航復現日誌40 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2環境配置與執行
  4. 3機器人模型與模擬
  5. 3.1robot_description(機器人模型與關節定義)
  6. 3.2MID360安裝位置
  7. 3.3Launch與包依賴配置
  8. 3.4模擬視覺最佳化(可選)
  9. 3.5新增地圖
  10. 4硬體對接與控制
  11. 4.1Linux與MCU資料對接
  12. 4.2Serial_Comm(序列埠通訊)
  13. 4.3Joy(手柄控制)
  14. 4.4MID360與TF聯調
  15. 5導航引數
  16. 5.1Point_LIO(雷射與IMU融合里程計,建圖與定位演算法)
  17. 5.2loam_interface(Point-LIO輸出的座標與話題適配)
  18. 5.3sensor_scan_generation(雷達點雲換系與底盤、雲臺位姿轉換)
  19. 5.4terrain_analysis(近場地面與障礙高差分析)
  20. 5.5terrain_analysis_ext(擴充套件遠場地形與近遠場結果合併)
  21. 5.6fake_vel_transform(雲臺系速度轉換與底盤自旋)
  22. 5.7small_gicp_relocalization(先驗點雲地圖重定位)
  23. 5.8pointcloud_to_laserscan(三維地形點雲轉二維掃描)
  24. 5.9slam_toolbox(二維地圖生成與軌跡最佳化)
  25. 5.10bt_navigator(行為樹導航任務排程)
  26. 5.11controller_server(路徑跟蹤、進度檢查與到達判定)
  27. 5.12local_costmap(區域性障礙代價地圖)
  28. 5.13global_costmap(全域性規劃代價地圖)
  29. 5.14map_server(已有二維地圖載入與釋出)
  30. 5.15map_saver(二維柵格地圖儲存)
  31. 5.16planner_server(Theta*全域性路徑規劃)
  32. 5.17smoother_server(全域性路徑平滑)
  33. 5.18behavior_server(恢復行為與空閒方向移動)
  34. 5.19waypoint_follower(逐點導航與到點等待)
  35. 5.20velocity_smoother(速度限幅與加減速平滑)
  36. 5.21pb_teleop_twist_joy_node(手柄輸入與可替換控制入口)
  37. 6開發問題與排查
  38. 7rosbag2
  39. 8決策
  40. 9ros2control
  41. 10RM模擬
STM32CubeIDE-VScode環境搭建6 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2參考影片
  4. 3環境準備
  5. 3.1Linux環境準備
  6. 3.2Windows環境準備
  7. 4外掛使用教程
OpenCV教程3 章
  1. ⌂文件首頁
  2. 1初識OpenCV
  3. 2資料載入、顯示與儲存
  4. 3影像基本操作
Flutter教程4 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2參考資料
  4. 3環境配置
  5. 4Dart語言教程
ESP32教程4 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2ESP32環境搭建
  4. 3參考影片
  5. 4教程
MarkDown教程4 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2環境搭建
  4. 3教學
  5. 4高階技巧
Linux-STM32-CMake-VScode環境搭建(已經廢棄)3 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2Linux
  4. 3Windows
Nuxt.js網站框架3 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2部署方案
  4. 3Nuxt Studio教程
Docker教程11 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2安裝Docker
  4. 3Docker直通
  5. 4DockerHub換源
  6. 5docker容器裡的程式的圖形介面彈不出來
  7. 6Docker命令學習
  8. 7手動建立Docker映象
  9. 8VScode遠端開發
  10. 9各種Docker容器部署
  11. 10Docker使用最佳化
  12. 10.1Docker快速開啟終端
ROS1機器人作業系統教程1 章
  1. ⌂文件首頁
  2. 1ROS介紹
Linux教程9 章
  1. ⌂文件首頁
  2. 1發行版推薦
  3. 2Linux裝機教程
  4. 3安裝必備配置
  5. 4命令教程(長期積累)
  6. 5各種環境配置
  7. 6其他可選配置
  8. 7QEMU-KVM虛擬機器
  9. 8拓展功能
  10. 9其他操作
Arm-Keil-MDK6教程7 章
  1. ⌂文件首頁
  2. 1簡介
  3. 2官方教程
  4. 3Linux環境搭建(舊)
  5. 4Linux環境搭建(新)
  6. 5Windows環境搭建(舊)
  7. 6進階使用教程(全平臺通用)
  8. 7常見問題
ROS2機器人作業系統教程130 章
  1. ⌂文件首頁
  2. 1ROS2介紹
  3. 2入門操作
  4. 3工作空間與功能包
  5. 4四大通訊
  6. 5ROS2其他通訊機制
  7. 6Launch
  8. 7回溯rosbag2
  9. 8座標變換TF
  10. 9視覺化平臺RVIZ2與URDF建模語言
  11. 10Stage_Ros2模擬平臺
  12. 11Gezebo模擬平臺
  13. 11.1Gezebo Classic
  14. 11.2Ignition Gazebo(Gazebo Fortress)
  15. 11.3Gz Sim(Gazebo Harmonic)
  16. 11.4將Ign Gazebo遷移至Gz Sim
  17. 12機器人導航Navigation2(模擬篇)
  18. 12.1Humble導航模擬
  19. 12.2Jazzy導航模擬
  20. 12.3Humble與Jazzy導航的差異
  21. 12.4有限狀態機FSM與行為樹BT
  22. 12.4.1有限狀態機(Finite State Machine)
  23. 12.4.2BehaviorTree.CPP v3.8.7
  24. 12.4.2.1基本概念
  25. 12.4.2.2控制與裝飾規則
  26. 12.4.2.3第一個完整程式
  27. 12.4.2.4節點之間傳資料
  28. 12.4.2.5持續任務與中止
  29. 12.4.2.6組合實際任務
  30. 12.4.2.7Groot1
  31. 12.4.3BehaviorTree.CPP v4.10.0
  32. 12.4.3.1基本概念
  33. 12.4.3.2控制與裝飾規則
  34. 12.4.3.3第一個完整程式
  35. 12.4.3.4節點之間傳資料
  36. 12.4.3.5持續任務與中止
  37. 12.4.3.6組合實際任務
  38. 12.4.3.7指令碼與前後置條件
  39. 12.4.3.8全域性Blackboard與資料更新
  40. 12.4.3.9Groot2
  41. 12.4.4v3與v4區別及遷移
  42. 13Linux硬體通訊
  43. 13.1UART序列埠通訊
  44. 13.1.1Boost.Asio庫
  45. 13.1.2ROS2 Serial Driver庫
  46. 13.2CAN通訊
  47. 13.2.1SocketCAN
  48. 13.2.2ROS2_SocketCAN
  49. 13.3TCP通訊
  50. 13.3.1Boost.Asio庫
  51. 13.4UDP通訊
  52. 13.4.1Boost.Asio庫
  53. 14機器人硬體
  54. 14.1機器人組成
  55. 14.2工控機之遠端開發環境
  56. 14.2.1遠端開發SSH
  57. 14.2.2遠端訪問桌面
  58. 14.3工控機之外接USB裝置
  59. 14.4分散式搭建
  60. 14.5最佳化日誌
  61. 14.6硬體平臺
  62. 14.6.1里程計Odom
  63. 14.6.2慣性計IMU
  64. 14.6.3雷射雷達LiDAR
  65. 14.6.4相機Camera
  66. 14.6.5全球定位GNSS
  67. 14.6.6手柄JOY
  68. 14.6.7鍵盤控制節點
  69. 14.7座標系與話題關係
  70. 14.8硬體平臺進階
  71. 14.8.1輪式里程計標定與融合
  72. 14.8.1.1輪式里程計標定
  73. 14.8.1.2輪式里程計與IMU融合
  74. 14.8.2雷射雷達工具
  75. 14.8.3相機使用進階
  76. 15ROS2_Control
  77. 15.1Humble版本
  78. 15.1.1環境準備與原始碼地圖
  79. 15.1.2ros2_control整體工作過程
  80. 15.1.3執行第一個RRBot例項
  81. 15.1.4從零建立學習工作區
  82. 15.1.5URDF與控制介面
  83. 15.1.6YAML與launch啟動過程
  84. 15.1.7從零編寫模擬硬體外掛
  85. 15.1.8狀態介面與命令介面原始碼
  86. 15.1.9硬體與控制器生命週期
  87. 15.1.10read-update-write控制週期
  88. 15.1.11狀態廣播與機器人顯示
  89. 15.1.12命令轉發與常用控制介面
  90. 15.1.13Joint-Trajectory-Controller
  91. 15.1.14機械臂物理模擬
  92. 15.1.15DiffBot與差速底盤控制
  93. 15.1.16差速底盤物理模擬
  94. 15.1.17多介面與硬體型別
  95. 15.1.18從零編寫控制器
  96. 15.1.19管理器與資源管理原始碼
  97. 15.1.20即時迴圈與非同步通訊
  98. 15.1.21虛擬序列埠與模擬下位機
  99. 15.1.22單執行器實物接入
  100. 15.1.23完整機器人與進階例項
  101. 15.1.24綜合工程與系統排錯
  102. 15.2Jazzy版本
  103. 15.2.1環境準備與原始碼地圖
  104. 15.2.2ros2_control整體工作過程
  105. 15.2.3執行第一個RRBot例項
  106. 15.2.4從零建立學習工作區
  107. 15.2.5URDF與控制介面
  108. 15.2.6YAML與spawner啟動過程
  109. 15.2.7從零編寫模擬硬體外掛
  110. 15.2.8狀態介面與命令介面原始碼
  111. 15.2.9硬體與控制器生命週期
  112. 15.2.10read-update-write控制週期
  113. 15.2.11狀態廣播與機器人顯示
  114. 15.2.12命令轉發與控制模式
  115. 15.2.13Joint-Trajectory-Controller
  116. 15.2.14Harmonic機械臂物理模擬
  117. 15.2.15DiffBot與差速底盤控制
  118. 15.2.16Harmonic差速底盤模擬
  119. 15.2.17多介面與硬體型別
  120. 15.2.18從零編寫控制器
  121. 15.2.19管理器與資源管理原始碼
  122. 15.2.20即時迴圈與非同步通訊
  123. 15.2.21虛擬序列埠與模擬下位機
  124. 15.2.22單執行器實物適配
  125. 15.2.23完整機器人與進階例項
  126. 15.2.24綜合工程與系統排錯
  127. 16Moveit2工業機器人機械臂
  128. 17機器人導航Navigation2(實體篇)
  129. 18MicroROS
  130. 19Webots模擬平臺
  131. 20OpenCV
Git教程5 章
  1. ⌂文件首頁
  2. 1Git簡介
  3. 2安裝Git
  4. 3Git實操
  5. 4高階工具
  6. 5常見問題
電控視覺環境搭建9 章
  1. ⌂文件首頁
  2. 1C/C++環境搭建
  3. 2ARM Keil MDK(ARM微控制器環境搭建)
  4. 3Linux基本配置
  5. 4CMake工程搭建
  6. 5OpenCV_CUDA環境搭建
  7. 6YOLO環境搭建
  8. 7ROS環境搭建
  9. 8QT環境搭建
  10. 9Docker環境搭建
STM32-FreeRTOS教程4 章
  1. ⌂文件首頁
  2. 1前言
  3. 2arduino庫(瞭解即可)
  4. 351微控制器(瞭解即可)
  5. 4stm32微控制器(重點)
C/C++教程93 章
  1. ⌂文件首頁
  2. 1C++開發環境搭建與測試
  3. 1.1Linux開發環境搭建與測試
  4. 1.2Windows開發環境搭建與測試
  5. 2C++基礎初識
  6. 3資料型別與資料存放
  7. 4輸入輸出
  8. 5運算子
  9. 6程式流程結構
  10. 7陣列
  11. 8函式與標頭檔案
  12. 9指標
  13. 10結構體與共用體
  14. 11記憶體分割槽與生命週期
  15. 12引用
  16. 13函式提高
  17. 14名稱空間
  18. 15類和物件
  19. 15.1封裝
  20. 15.2物件初始化和清理
  21. 15.3物件模型與this指標
  22. 15.4友元與運算子過載
  23. 15.5繼承
  24. 15.6多型
  25. 16函式指標
  26. 17檔案操作
  27. 18異常處理
  28. 19模板
  29. 20STL提高程式設計
  30. 20.1STL初識
  31. 20.2std::array
  32. 20.3string容器
  33. 20.4vector 容器
  34. 20.5deque 容器
  35. 20.6stack 容器
  36. 20.7queue 容器
  37. 20.8list 容器
  38. 20.9set / multiset 容器
  39. 20.10map / multimap 容器
  40. 20.11函式物件與謂詞
  41. 20.12常用演算法
  42. 21C++型別轉換
  43. 22現代C++
  44. 22.1auto
  45. 22.2nullptr
  46. 22.3using
  47. 22.4enum class
  48. 22.5範圍 for 迴圈
  49. 22.6結構化繫結
  50. 22.7constexpr
  51. 22.8RAII
  52. 22.9智慧指標
  53. 22.10右值引用和移動語義
  54. 22.11Lambda 表示式
  55. 22.12std::function
  56. 22.13std::bind
  57. 22.14std::optional
  58. 22.15std::variant
  59. 22.16std::span
  60. 22.17std::format / std::print
  61. 22.18std::chrono
  62. 22.19併發、並行與協程
  63. 22.19.1併發是什麼
  64. 22.19.2並行是什麼
  65. 22.19.3協程是什麼
  66. 22.19.4併發程式設計
  67. 22.19.5std::thread
  68. 22.19.6mutex 與 RAII 鎖
  69. 22.19.7std::atomic
  70. 22.19.8condition_variable
  71. 22.19.9future、async、promise 與 packaged_task
  72. 22.19.10jthread 與 stop_token
  73. 22.19.11semaphore、latch 與 barrier
  74. 22.20std::filesystem
  75. 22.21modules 簡介
  76. 23常用庫學習
  77. 23.1Boost.Asio非同步IO庫
  78. 23.1.1定時器與非同步 IO
  79. 23.1.2Boost.Asio 基礎
  80. 23.1.3序列埠通訊教學
  81. 23.1.4序列埠通訊序列埠包協議例項
  82. 23.1.5TCP 通訊
  83. 23.1.6UDP 通訊
  84. 23.1.7機器人工程寫法與 ROS2 整合
  85. 23.2Eigen線性代數庫
  86. 23.3OpenCV計算機視覺庫
  87. 23.4PCL點雲庫
  88. 23.5Sophus 李群李代數庫
  89. 24CMake工程模板
  90. 24.1CMakePresets與構建安裝
  91. 24.2頂層CMake與公共編譯選項
  92. 24.3src與lib模組CMake詳解
  93. 24.4第三方庫依賴寫法
  94. 24.5模板擴充套件與常見問題
機器人工程師成長計劃0 章
  1. ⌂文件首頁
OpenWrt編譯教學5 章
  1. ⌂文件首頁
  2. 1編譯環境準備
  3. 2個性化配置
  4. 3外掛開發
  5. 4補充工具
  6. 5其他參考資料新增USB和硬碟格式還有網絡卡教程: