跳到正文

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和硬盘格式还有网卡教程: