Skip to content

Wiki

Wiki

A long-lived knowledge base organized by document and chapter.
Polar Bear Navigation Reproduction Log40 chapters
  1. ⌂Document overview
  2. 1Introduction
  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 Environment Setup6 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Reference video
  4. 3Environment Preparation
  5. 3.1Linux Environment Preparation
  6. 3.2Windows Environment Preparation
  7. 4Plugin Usage Tutorial
OpenCV Tutorial3 chapters
  1. ⌂Document overview
  2. 1Getting Started with OpenCV
  3. 2Data loading, display, and saving
  4. 3Basic Image Operations
Flutter Tutorial4 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2References
  4. 3Environment Configuration
  5. 4Dart Language Tutorial
ESP32 Tutorial4 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2ESP32 Environment Setup
  4. 3Reference video
  5. 4Tutorial
MarkDown Tutorial4 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Environment Setup
  4. 3Teaching
  5. 4Advanced Techniques
Linux-STM32-CMake-VScode Environment Setup (Deprecated)3 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Linux
  4. 3Windows
Nuxt.js Website Framework3 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Deployment Plan
  4. 3Nuxt Studio Tutorial
Docker Tutorial11 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Install Docker
  4. 3Docker Passthrough
  5. 4Changing DockerHub source
  6. 5The graphical interface of the program inside the Docker container cannot pop up.
  7. 6Docker Command Learning
  8. 7Manually create a Docker image
  9. 8VSCode remote development
  10. 9Various Docker container deployments
  11. 10Docker Usage Optimization
  12. 10.1Quickly open a terminal in Docker
ROS1 Robot Operating System Tutorial1 chapters
  1. ⌂Document overview
  2. 1Introduction to ROS
Linux Tutorial9 chapters
  1. ⌂Document overview
  2. 1Distribution Recommendation
  3. 2Linux Installation Tutorial
  4. 3Install required configuration
  5. 4Command Tutorial (long-term accumulation)
  6. 5various environment configurations
  7. 6Other optional configurations
  8. 7QEMU-KVM Virtual Machines
  9. 8Extended functions
  10. 9Other Operations
Arm-Keil-MDK6 tutorial7 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Official Tutorial
  4. 3Linux Environment Setup (Legacy)
  5. 4Linux Environment Setup (New)
  6. 5Windows Environment Setup (Legacy)
  7. 6Advanced Usage Tutorial (Universal Across All Platforms)
  8. 7Frequently Asked Questions
ROS2 Robot Operating System Tutorial130 chapters
  1. ⌂Document overview
  2. 1ROS2Introduction
  3. 2Getting Started
  4. 3Workspaces and Function Packages
  5. 4Big Four telecom
  6. 5ROS2Other communication mechanisms
  7. 6Launch
  8. 7Playback rosbag2
  9. 8Coordinate transformation TF
  10. 9Visualization platform RVIZ2 and URDF modeling language
  11. 10Stage_Ros2 simulation platform
  12. 11Gezebo simulation platform
  13. 11.1Gezebo Classic
  14. 11.2Ignition Gazebo(Gazebo Fortress)
  15. 11.3Gz Sim(Gazebo Harmonic)
  16. 11.4Migrating Ign Gazebo to Gz Sim
  17. 12Robot Navigation Navigation2 (Simulation Edition)
  18. 12.1Humble Navigation Simulation
  19. 12.2Jazzy navigation simulation
  20. 12.3Difference between Humble and Jazzy navigation
  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 hardware communication
  43. 13.1UART serial communication
  44. 13.1.1Boost.Asio Library
  45. 13.1.2ROS2 Serial Driver library
  46. 13.2CAN communication
  47. 13.2.1SocketCAN
  48. 13.2.2ROS2_SocketCAN
  49. 13.3TCP communication
  50. 13.3.1Boost.Asio Library
  51. 13.4UDP communication
  52. 13.4.1Boost.Asio Library
  53. 14Robot hardware
  54. 14.1Robot composition
  55. 14.2Remote Development Environment for Industrial Control Computers
  56. 14.2.1Remote Development SSH
  57. 14.2.2Remote Access Desktop
  58. 14.3External USB devices for industrial computers
  59. 14.4Distributed setup
  60. 14.5Optimization log
  61. 14.6Hardware platform
  62. 14.6.1Odometry Odom
  63. 14.6.2Inertial Measurement Unit (IMU)
  64. 14.6.3LiDAR
  65. 14.6.4Camera
  66. 14.6.5Global Positioning GNSS
  67. 14.6.6JOY Controller
  68. 14.6.7Keyboard control node
  69. 14.7Coordinate System and Topic Relationship
  70. 14.8Hardware Platform Advanced
  71. 14.8.1Wheel odometry calibration and fusion
  72. 14.8.1.1Wheel Odometry Calibration
  73. 14.8.1.2Fusion of wheel odometry and IMU
  74. 14.8.2LiDAR tools
  75. 14.8.3Advanced Camera Usage
  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 Industrial Robot Manipulator
  128. 17Robot Navigation Navigation2 (Entity Edition)
  129. 18MicroROS
  130. 19Webots simulation platform
  131. 20OpenCV
Git Tutorial5 chapters
  1. ⌂Document overview
  2. 1Introduction to Git
  3. 2安装Git
  4. 3Hands-on Git
  5. 4Advanced Tools
  6. 5Frequently Asked Questions
Electronic Control Vision Environment Setup9 chapters
  1. ⌂Document overview
  2. 1C/C\+\+Environment Setup
  3. 2ARM Keil MDK (ARM microcontroller environment setup)
  4. 3Basic Linux Configuration
  5. 4CMake project setup
  6. 5OpenCV_CUDA Environment Setup
  7. 6YOLO Environment Setup
  8. 7ROS environment setup
  9. 8QT Environment Setup
  10. 9Docker Environment Setup
STM32-FreeRTOS Tutorial4 chapters
  1. ⌂Document overview
  2. 1Introduction
  3. 2Arduino library (just get familiar with it)
  4. 351 microcontroller (just need to be aware of it)
  5. 4STM32 microcontroller (key focus)
C/C\+\+Tutorial93 chapters
  1. ⌂Document overview
  2. 1C++Development environment setup and testing
  3. 1.1Linux开发环境搭建与测试
  4. 1.2Windows开发环境搭建与测试
  5. 2C++Basic Introduction
  6. 3Data Types and Data Storage
  7. 4Input and Output
  8. 5operator
  9. 6Program Flow Structure
  10. 7Array
  11. 8Functions and Header Files
  12. 9Pointer
  13. 10Structures and Unions
  14. 11Memory Partitioning and Lifecycle
  15. 12Quote
  16. 13Function improvement
  17. 14Namespace
  18. 15Classes and objects
  19. 15.1Packaging
  20. 15.2Object initialization and cleanup
  21. 15.3Object Model and the this Pointer
  22. 15.4Friend Functions and Operator Overloading
  23. 15.5Inheritance
  24. 15.6Polymorphism
  25. 16Function pointer
  26. 17File operations
  27. 18Exception Handling
  28. 19Template
  29. 20Improved STL programming
  30. 20.1Introduction to STL
  31. 20.2std::array
  32. 20.3string container
  33. 20.4vector container
  34. 20.5deque container
  35. 20.6stack container
  36. 20.7queue container
  37. 20.8list container
  38. 20.9set / multiset containers
  39. 20.10map / multimap containers
  40. 20.11Function Objects and Predicates
  41. 20.12Common Algorithms
  42. 21C++ Type Conversion
  43. 22ModernC++
  44. 22.1auto
  45. 22.2nullptr
  46. 22.3using
  47. 22.4enum class
  48. 22.5Range-based for loop
  49. 22.6Structured binding
  50. 22.7constexpr
  51. 22.8RAII
  52. 22.9Smart pointer
  53. 22.10Rvalue references and move semantics
  54. 22.11Lambda expression
  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.19Concurrency, Parallelism, and Coroutines
  63. 22.19.1What is concurrency?
  64. 22.19.2What is parallelism
  65. 22.19.3What is a coroutine?
  66. 22.19.4Concurrent programming
  67. 22.19.5std::thread
  68. 22.19.6Mutex and RAII Lock
  69. 22.19.7std::atomic
  70. 22.19.8condition_variable
  71. 22.19.9future, async, promise and packaged_task
  72. 22.19.10jthread and stop_token
  73. 22.19.11Semaphore, latch, and barrier
  74. 22.20std::filesystem
  75. 22.21Introduction to modules
  76. 23Common Library Learning
  77. 23.1Boost.Asio Asynchronous IO Library
  78. 23.1.1Timers and Asynchronous IO
  79. 23.1.2Boost.Asio Basics
  80. 23.1.3Serial Communication Tutorial
  81. 23.1.4Serial Communication Serial Packet Protocol Example
  82. 23.1.5TCP communication
  83. 23.1.6UDP communication
  84. 23.1.7Robotics engineering conventions and ROS2 integration
  85. 23.2Eigen linear algebra library
  86. 23.3OpenCV computer vision library
  87. 23.4PCL point cloud library
  88. 23.5Sophus Lie Group Lie Algebra Library
  89. 24CMake Project Template
  90. 24.1CMakePresets and Build Installation
  91. 24.2Top-level CMake and common compilation options
  92. 24.3Detailed Explanation of CMake for src and lib Modules
  93. 24.4Third-party library dependency declaration
  94. 24.5Template Extension and Common Issues
Robotics Engineer Growth Plan0 chapters
  1. ⌂Document overview
OpenWrt Compilation Tutorial5 chapters
  1. ⌂Document overview
  2. 1Build Environment Preparation
  3. 2Personalized Configuration
  4. 3Plugin development
  5. 4Supplementary Tools
  6. 5Other reference materials: add tutorials for USB and hard disk formats, as well as network cards: