Used to control vehicle equipped with mecanum/omni wheels, powered by ESP8266.
ESP8266 handles everything from receiving input for controls and outputs on four motor drivers. Inputs controls are web based; ESP8266 runs a webpage with joysticks, so a smartphone is needed (alternatively a device with wifi and browser like PC). When touch input is received for joysticks, websocket will send data back to ESP8266. The data will be parsed and be used to control each motor driver.
- VSCode (since we are working with PlatformIO)
- PlatformIO (abbr: PIO)
- Download, install and set up prerequisite software
- Clone/Download this repository
- VSCode -> PIO: Home -> Open Project, select repository as folder
- PIO: Upload
- Connect to ESP8266 access point with a smartphone (name and password in src\main.cpp)
- go to www.omniwheel.com on a browser (tested on chrome)
- Use left joystick to shift, right joystick to turn clockwise/counter-clockwise (alternatively open serial monitor to observe payload from websocket)
The logic for motor drivers definitely needs refactoring to suit your needs, it was programmed based on trial and error.
- tttapa for providing ESP8266 tutorials as a starting point (https://tttapa.github.io/)
- SuperDroid Robots for creating this image on manipulating directions of mecanum wheels (https://www.superdroidrobots.com/images/TP/TP-950-001-C.jpg)