How jizhang-cmu/autonomy_stack_mecanum_wheel_platform works
This repository is the T-Bot Mecanum-wheel autonomy stack. Its principal workflow takes sensor data and a navigation goal, builds a map with SLAM, plans a route, and uses base autonomy to avoid obstacles and follow waypoints toward the goal. Users can alternatively command the vehicle with a joystick, with collision avoidance in smart-joystick mode or without it in manual mode. The README also describes exploration, simulation, and visualization capabilities. Several subsystem links below reflect README documentation rather than sampled implementation; the supplied source excerpts mainly cover dependencies and point-cloud storage.
Main entry points: base_autonomy Base Autonomy · arise_slam_mid360 SLAM · vehicle_simulator Vehicle Simulator · far_planner Route Planner
Components 18
Sensing and Mapping
- SLAM
src/slam/arise_slam_mid360 - Point-Cloud Storage
src/slam/arise_slam_mid360/include/arise_slam_mid360/LidarProcess/PointCloudStorage.h - Terrain Analysis
src/base_autonomy/terrain_analysis - Extended Terrain Analysis
src/base_autonomy/terrain_analysis_ext
Planning
- Route Planner
src/route_planner/far_planner - TARE Exploration
src/exploration_planner/tare_planner
Base Autonomy
- Base Autonomy
src/base_autonomy - Scan Generation
src/base_autonomy/sensor_scan_generation - Local Planner
src/base_autonomy/local_planner - Path Follower
src/base_autonomy/local_planner/src/pathFollower.cpp - Waypoint Example
src/base_autonomy/waypoint_example
Simulation and Tools
- Vehicle Simulator
src/base_autonomy/vehicle_simulator - Visualization Tools
src/base_autonomy/visualization_tools
Other components
- User / Operator
- Mid-360 Lidar
- T-Bot / Simulator
- Unity Environment
- Joystick Controller
Connections 20
- Mid-360 Lidar → SLAM: supplies scans
- SLAM → Point-Cloud Storage: stores point clouds
- SLAM → Route Planner: provides mapping
- User / Operator → Route Planner: sets goal
- Route Planner → Base Autonomy: guides navigation
- User / Operator → TARE Exploration: starts exploration
- SLAM → TARE Exploration: provides mapping
- TARE Exploration → Base Autonomy: plans exploration
- Mid-360 Lidar → Terrain Analysis: supplies sensor data
- Terrain Analysis → Base Autonomy: supports traversability
- Joystick Controller → Base Autonomy: sends commands
- Base Autonomy → Scan Generation: uses scan generation
- Base Autonomy → Local Planner: plans locally
- Base Autonomy → Path Follower: follows paths
- Waypoint Example → Base Autonomy: sends waypoints
- Base Autonomy → T-Bot / Simulator: commands motion
- User / Operator → Visualization Tools: views status
- Vehicle Simulator → Visualization Tools: publishes simulation data
- Unity Environment → Vehicle Simulator: provides environment
- Vehicle Simulator → T-Bot / Simulator: simulates vehicle