LaikaBOT

../LaikaBOT

/Projects/

vrIRLRobotics

September 2023

 

Remote Control of Real-World Machines with VR

Imagine a world where you can control real-world machines from anywhere, using nothing but a VR headset.

 

The possibilities are vast:

  • Command life-saving robotic hands, ready to assist in rural emergencies,
  • Pilot an aircraft,
  • Operate heavy machinery,
  • Explore remote terrains.

The potential is endless.

 

Why This Matters:
From a practical perspective, this approach offers numerous advantages:

 

  • Cost Savings: Hardware production costs could be halved.
  • Instant Updates: Control interfaces can be updated and deployed in minutes.
  • Enhanced Control: Interfaces can surpass normal human capabilities, providing superhuman precision and control.
  • Scalability: A single, affordable headset could control unlimited machines.
  • Global Flexibility: Work from anywhere—just pack your headset in your hand luggage.

 

How It Works

In this project, the VR application sends the rotational coordinates of a 3D object via an MQTT broker to an Arduino-controlled device, which mimics the virtual object's movements in the real world.


(MQTT is a lightweight, IoT pub/sub messaging protocol.)



 

Using MQTT

I've incorporated MQTT into several projects because it's a fast, simple way to stream data between IoT devices. For this project, I tested two free MQTT brokers:

 

  • test.mosquitto.com
    A fast, free server for non-critical applications. Easy to connect but occasionally unstable.

  • io.adafruit.com
    More stable, though limited to 30 messages per minute (or 60 messages for $10/month). It also offers a user-friendly interface for debugging and data visualization.

     

For faster and more secure connections, paid services like HiveMQ.com provide robust options.

 


 

Proof of Concept

While this prototype is a little janky and uses $5 motors and a free MQTT broker, the results are promising. With better components and more investment, motion and responsiveness could be significantly enhanced.

 

For now, this exploration proves the concept is viable—and the possibilities are endless.

 






For this project I used the Unity development framework to build the VR application and Arduino boards to build the IRL receiver. The folliowing are links to the packages and instructions I used to connect to the MQTT protocols.

 

MQTT Library in Unity

https://workshops.cetools.org/codelabs/CASA0019-unity-mqtt/

 

MQTT for Arduino

https://docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device

 

Connecting to MQTT Brokers

https://www.hackster.io/richmondkevin92/receive-data-in-unity-from-adafruit-io-9b9895

https://test.mosquitto.org/