Skip to content
/ roamr Public

turn your phone into a robot running SLAM with two motors, two control boards, and a bluetooth chip

Notifications You must be signed in to change notification settings

uw-roamr/roamr

Repository files navigation

ROAMR: Really Opensource Autonomous Mobile Robot

Mobile phones and mobile robots have many common requirements:

  • performant sensors (cameras, IMUs, LiDAR, GPS) and sensor fusion
  • networking capabilities (WiFi, Bluetooth Low Energy, LTE)
  • energy efficiency

What if we turned the iPhone into a robot?

Architecture

iOS host app:

  • exposes the core sensor data through iOS APIs

    • Camera
    • LiDAR (iPhone Pro 12+)
    • IMU
  • runs WASM bytecode using statically compiled WAMR iwasm

  • communicates with ESP32 over BLE to control motors

  • TODO: enable dynamic WASM loading through LocalSend

WASM module:

ESP32:

  • recieves commands over BLE and uses SimpleFOC to control motors

Setup

pip install pre-commit
pre-commit

Run App with Robot

  • Open/build iOS app.
  • Connect to bluetooth using the app
  • Drive robot!

Optional:

  • Open HTML page in webpage folder.
  • Run websocket on the websocket page of the app
  • Connect to app websocket
  • Drive robot!

Localization Demo

See WASM/README.md

About

turn your phone into a robot running SLAM with two motors, two control boards, and a bluetooth chip

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •