Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Controlling Robots like NASA

Controlling Robots like NASA

In this demo, Adrian Todorov and I explain the do's and dont's when building a remote-controlled robot.

This version of the talk was given at the Southern California Linux Expo (22nd Edition) in March 2025.

Avatar for Kerim Satirli

Kerim Satirli

March 09, 2025

Video

More Decks by Kerim Satirli

Other Decks in Technology

Transcript

  1. Remotely control a device to move in any logical and

    supported direction. Goal (aka: lofty aspiration)
  2. Hardware Overview ▪ ESP32-based control board ▪ GPIO interface for

    host computer ▪ support for LiDAR, cameras, arms ▪ open source(ish) demo available ▪ 4WD, with 2 extra support wheels ▪ powered by commonly used batteries ▪ integrated inertial measurement unit ▪ commercially available, at low cost
  3. ▪ Arduino-based C++ "demo" code ▪ Arduino libraries as force

    multiplier ▪ refactored to modularize components ▪ Terraform Provider Software Overview api_controller.h String jsonAPIHandler(String stringInput) { StaticJsonDocument<512> jsonInput; deserializeJson(jsonInput, stringInput); int cmdType = jsonInput["T"].as<int>(); switch (cmdType) { case CMD_EMERGENCY_STOP: setGoalSpeed(0, 0); emergencyStopProcessing(); break; case CMD_GIMBAL_CTRL_MOVE: gimbalMove( jsonInput["X"], jsonInput["Y"], jsonInput["SX"], jsonInput["SY"] ); break; !!" in progress: ▪ object detection with YOLO ▪ edge orchestration with Nomad
  4. • pulses of light or sound • accuracy depends on

    environmental conditions • not a great option when hunted by submarines Sonar / LiDAR • need pre-positioning • accuracy depends on quality of deployment • not a great option when ad-hoc movement is key Beacon / Satnav • easy to calculate • accuracy depends on lots of dynamic variables • not a great option for long movement plans Dead Reckoning Going from A to B
  5. Movement Plan with Angle c419.pathfinder.svcs.dev/map 1 2 3 4 5

    6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 0 { "name": "Movement Plan #1", "steps": [ ] } plan-1.json { "angle": 0, "direction": "forward", "distance": 60 }
  6. Movement Plan with Angle c419.pathfinder.svcs.dev/map 1 2 3 4 5

    6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 0 plan-1.json { "name": "Movement Plan #1", "steps": [ { "angle": 0, "direction": "forward", "distance": 60 } ] } { , { "angle": -50, "direction": "forward", "distance": 10 }
  7. Movement Plan with Angle github.com/workloads/pathfinder-openapi-specs/blob/main/movement-plan/README.md 1 2 3 4 5

    6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 0 plan-1.json { "name": "Movement Plan #1", "steps": [ { "angle": 0, "direction": "forward", "distance": 60 } ] } movement-plan.md Movement Plan for Pathfinder > This document describes v1.1 of the "movement plan" schema for Pathfinder. 
 Table of Contents Definition Movement Plan Movement Step Angle Direction Distance Track Map Map Legend Example Movement Plan Definition A movement plan represents the sequence of steps that Pathfinder will follow to navigate a track.
  8. • imperial, metric, pulses • accuracy depends on environmental conditions

    • attitude of device affects precision of movement Distance • battery quality and actual charge levels • state and quality of wheel fairing and cables • interface between software and hardware Maintenance • traction and friction of wheels on surface • "invisible" to sensors and partial obstruction • RF interference and distance to control unit Environment Failure Factors
  9. Future Improvements • 360 degree vision via a multi-camera array

    • improved LiDAR • extra RF capabilities • off-load to control unit Hardware • CV for object detection, and AI for decision making • better obstacle avoidance • backhaul switching • swarm logic Software