Skip to content

c-lydia/TS-ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TS-ROS2 Robotics Platform

ROS2 Python C++ Android OpenCV Status License Navigation Control Communication Architecture NVIDIA CUDA MSI Status

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.

System Versions

v1.0 — Legacy Stable System

  • 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)

v2.0 — Next-Generation Platform (Active 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

Compatibility

Feature v1 App v2 Stack
UDP v1 protocol
UDP v2 protocol
Navigation system
CV pipeline
Manipulation

System Overview

TS-ROS2 is structured as a layered robotics system:

Core Layer

  • Robot motion control
  • Odometry processing
  • Waypoint execution
  • State machine (navigate / pause / return)

Communication Layer

  • UDP-based Android ↔ Robot interface
  • ROS2 topic bridge
  • Real-time command synchronization

Perception Layer (v2)

  • Camera input processing
  • GPU inference (TensorRT / ONNX fallback)
  • Docker-isolated CV runtime
  • Shared-memory frame pipeline

Manipulation Layer (v2)

  • Gripper control logic
  • Detection-based interaction
  • Distance-aware decision system

Communication Architecture

v1 (Legacy)

  • Simple waypoint batch format
  • Fixed schema
  • Android app compatibility

v2 (Current)

  • Structured frame system
  • Extended metadata support
  • Not backward compatible with v1

ROS2 Workspace Structure

communication/
control/
navigation/
hardware_interface/
perception/      (v2)
manipulation/    (v2)
robot_interface/
target_setter/

Each module is independently testable and replaceable.

Perception Runtime (v2)

  • Docker-based CV execution environment
  • GPU acceleration support (CUDA / TensorRT)
  • ONNX fallback for portability
  • Shared memory bridge with ROS2 inference nodes

Design Philosophy

  • 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

Supported Hardware

  • MSI Cyborg 15 (RTX 3050)
  • NVIDIA CUDA-capable systems
  • Jetson devices (experimental support)
  • Standard ROS2-compatible Linux systems

Project State

  • v1.0 → legacy stable system (frozen)
  • v2.0 → active robotics platform development

custom_messages not found at build

  • Make sure the custom_messages package is inside ~/ros2_ws/src and run colcon build again before sourcing.

For technical insight, please read development_notes.md

Known Issues

  • 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.

Releases

No releases published

Packages

 
 
 

Contributors