DEV Community

vmodal_ai
vmodal_ai

Posted on

Kotlin Fleet Management App for NVIDIA Jetson Robots

Kotlin Fleet Management App for NVIDIA Jetson Robots

A fleet dashboard can use Kotlin and Jetpack Compose to monitor multiple Jetson-powered robots from one Android device.

Architecture

                 Kotlin Fleet App
                       |
                 Fleet Gateway
          +------------+------------+
          |            |            |
       Robot 01      Robot 02      Robot 03
       Jetson        Jetson        Jetson
          |            |            |
        ROS 2        ROS 2        ROS 2
Enter fullscreen mode Exit fullscreen mode

1. Model a robot

data class Robot(
    val id: String,
    val name: String,
    val online: Boolean,
    val battery: Int,
    val mode: String
)
Enter fullscreen mode Exit fullscreen mode

2. Fleet state

class FleetViewModel : ViewModel() {
    private val _robots =
        kotlinx.coroutines.flow.MutableStateFlow<List<Robot>>(emptyList())

    val robots = _robots.asStateFlow()
}
Enter fullscreen mode Exit fullscreen mode

3. Robot discovery

Do not rely on arbitrary LAN broadcast for production fleet identity. Use authenticated registration and stable robot IDs.

4. Display fleet health

A Compose list can show:

Robot A   ONLINE   91%   AUTONOMOUS
Robot B   ONLINE   64%   CHARGING
Robot C   OFFLINE  --    UNKNOWN
Enter fullscreen mode Exit fullscreen mode

5. Send commands to one robot

suspend fun sendCommand(robotId: String, command: RobotCommand) {
    gateway.send(robotId, command)
}
Enter fullscreen mode Exit fullscreen mode

The gateway should authorize every robot-command pair.

6. Add fleet events

Useful events include:

  • Robot connected
  • Robot disconnected
  • Low battery
  • Navigation failed
  • Safety stop
  • Sensor failure
  • Software update available

7. Scale the architecture

For larger fleets, separate:

Android UI
   ↓
Fleet API
   ↓
Message broker / orchestration
   ↓
Robot gateways
   ↓
Jetson + ROS 2
Enter fullscreen mode Exit fullscreen mode

Conclusion

Kotlin provides an effective fleet-management UI while each Jetson remains responsible for local perception and robot autonomy.

References

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)