DEV Community

vmodal_ai
vmodal_ai

Posted on

NVIDIA Jetson Thor + ROS 2 + Flutter: Building a Robot Control Dashboard

NVIDIA Jetson Thor + ROS 2 + Flutter: Building a Robot Control Dashboard

Introduction

A practical robotics architecture is:

Robot Sensors
     |
     v
NVIDIA Jetson
     |
    ROS 2
     |
     +----> Robot Control
     |
     +----> FastAPI/WebSocket
                  |
                  v
               Flutter
Enter fullscreen mode Exit fullscreen mode

1. Create ROS 2 topics

For example:

/robot/battery
/robot/pose
/robot/camera
/robot/cmd_vel
Enter fullscreen mode Exit fullscreen mode

2. Create a ROS 2 publisher

Python example:

import rclpy
from geometry_msgs.msg import Twist

node = rclpy.create_node("flutter_gateway")
publisher = node.create_publisher(Twist, "/robot/cmd_vel", 10)

msg = Twist()
msg.linear.x = 0.2
publisher.publish(msg)
Enter fullscreen mode Exit fullscreen mode

3. Add a gateway

Instead of exposing ROS 2 directly to the internet, create a local service:

ROS 2 <-> Gateway <-> WebSocket <-> Flutter
Enter fullscreen mode Exit fullscreen mode

The gateway can authenticate clients and validate commands.

4. Flutter WebSocket client

final channel = WebSocketChannel.connect(
  Uri.parse('wss://robot.example/ws'),
);

channel.stream.listen((event) {
  print(event);
});
Enter fullscreen mode Exit fullscreen mode

5. Send commands

channel.sink.add(
  '{"type":"velocity","linear":0.2,"angular":0.0}',
);
Enter fullscreen mode Exit fullscreen mode

The gateway should validate limits before publishing to ROS 2.

6. Add telemetry

Stream:

  • Battery.
  • CPU/GPU usage.
  • Robot pose.
  • Current mission.
  • Connection state.
  • Camera status.

7. Edge deployment

Jetson should perform latency-sensitive processing locally where possible. Cloud services can be used for non-critical analytics or remote management.

Conclusion

Jetson + ROS 2 + Flutter provides a strong pattern for robot operator interfaces, especially when the gateway cleanly separates ROS 2 from the mobile UI.

Useful Links

Website: www.v-modal.com

SDK Flutter: https://github.com/v-modal/vmodal_sdk_flutter

SDK Android: https://github.com/v-modal/vmodal_sdk_android

Discord: https://discord.gg/K72z28KUx

Reddit: https://www.reddit.com/r/v_modal/

Top comments (0)