Search docs...
K

Technical Documentation: Teleoperation Screen

Architecture

teleop (Light Theme)teleop (Dark Theme)

The Teleop Screen is a high-frequency control interface that interacts directly with the RosProvider's command publishing capabilities. It emphasizes low-latency input processing.

Technical Details

  • File Path: lib/screens/teleop_screen.dart
  • ROS Integration:
    • Topic: /cmd_vel (Type: geometry_msgs/Twist)
    • Rate: 10Hz to 20Hz during active joystick movement.
  • Video Stream: Integrated via the LiveVideoPlayer widget, consuming an RTSP or WebRTC stream provided by the Go Backend bridge.

Control Logic

  • Joystick Mapping:
    • Vertical Axis (Y) → linear.x (velocity)
    • Horizontal Axis (X) → angular.z (rotation)
  • Deadzone Handling: Implements a 5% deadzone at the joystick origin to prevent "ghost movement" due to sensor jitter or accidental touches.
  • Safety Interlock: The _processAndPublish method checks rosProvider.isArmed before sending any non-zero velocity commands. If the robot is disarmed, it forces a "Hard Stop" (0,0,0) command.

Speed Scaling

Velocity is calculated as: TargetValue = RawInput * SpeedMultiplier. The SpeedMultiplier is dynamically updated based on the "Speed Level" selected in the UI (Low: 0.2m/s, Med: 0.5m/s, High: 1.0m/s).

© 2026 Robotoai. All rights reserved.