A TypeScript configuration management system for robotics applications using Apache Thrift serialization.
-
Install dependencies
npm install
-
Generate Thrift types
npm run generate-thrift
-
Create your config Copy the example configuration:
cp -r example_config/ my_robot_config/
-
Generate binary config
npm run config -- --dir my_robot_config/
This tool takes your robot configuration (cameras, sensors, pathfinding, etc.) and converts it into a compact binary format that your robot can quickly read. It handles:
- Camera settings - Multiple camera configurations
- LiDAR sensors - Various LiDAR device setups
- April tag detection - Vision-based positioning
- Position tracking - Kalman filters and odometry
- Pathfinding - Navigation configurations
- Recording - Data capture settings
- Binary (default) - Fast, compact format for robots
- JSON - Human-readable format for debugging
- JSON + Binary - Both formats combined
example_config/ # Sample robot configurations
schema/ # Thrift schema definitions
generated/ # Auto-generated TypeScript types
scripts/ # Build and conversion tools
# Generate binary config for your robot
npm run config -- --dir my_robot_config/
# Output as JSON for debugging
npm run config -- --dir my_robot_config/ json
# Save to file instead of stdout
npm run config -- --dir my_robot_config/ file