TS-ROS2 is a modular ROS2-based robotics system for waypoint navigation, perception, and manipulation.
It evolved from a single navigation stack into a layered robotics platform with multiple versioned system generations.
- Original UDP protocol (v1)
- Waypoint-based navigation system
- Basic P-controller robot control loop
- Monolithic ROS2 workspace structure
- Android app compatibility (v1 protocol)
v1.0 is stable and frozen (no further feature development)
- Breaking change: UDP protocol v2
- Modular ROS2 architecture redesign
- Added perception pipeline (CV system via Docker runtime)
- Added manipulation subsystem
- Expanded Android UI modules
- Multi-layer system design:
- Core navigation layer
- Perception layer
- Manipulation layer
- Communication layer
v2.0 is the active development line of TS-ROS2
| Feature | v1 App | v2 Stack |
|---|---|---|
| UDP v1 protocol | ✔ | ❌ |
| UDP v2 protocol | ❌ | ✔ |
| Navigation system | ✔ | ✔ |
| CV pipeline | ❌ | ✔ |
| Manipulation | ❌ | ✔ |
TS-ROS2 is structured as a layered robotics system:
- Robot motion control
- Odometry processing
- Waypoint execution
- State machine (navigate / pause / return)
- UDP-based Android ↔ Robot interface
- ROS2 topic bridge
- Real-time command synchronization
- Camera input processing
- GPU inference (TensorRT / ONNX fallback)
- Docker-isolated CV runtime
- Shared-memory frame pipeline
- Gripper control logic
- Detection-based interaction
- Distance-aware decision system
- Simple waypoint batch format
- Fixed schema
- Android app compatibility
- Structured frame system
- Extended metadata support
- Not backward compatible with v1
communication/
control/
navigation/
hardware_interface/
perception/ (v2)
manipulation/ (v2)
robot_interface/
target_setter/Each module is independently testable and replaceable.
- Docker-based CV execution environment
- GPU acceleration support (CUDA / TensorRT)
- ONNX fallback for portability
- Shared memory bridge with ROS2 inference nodes
- Modular robotics architecture over monolithic design
- Clear separation of concerns:
- control
- perception
- communication
- Optional subsystem design (CV / manipulation)
- Deterministic navigation core remains stable across versions
- MSI Cyborg 15 (RTX 3050)
- NVIDIA CUDA-capable systems
- Jetson devices (experimental support)
- Standard ROS2-compatible Linux systems
- v1.0 → legacy stable system (frozen)
- v2.0 → active robotics platform development
custom_messages not found at build
- Make sure the
custom_messagespackage is inside~/ros2_ws/srcand runcolcon buildagain before sourcing.
For technical insight, please read development_notes.md
- Yaw error — heading is off
- Residual position error — P controller leaves steady-state error near the target.
- Waypoint edit bug — edits oapply to the wrong version of planning due to mistake on the app.
- No emergency stop — not yet implemented on the app.
- No launch file — nodes must be started manually.