By jakkra
Share this project to show your support
Controller for driving the Rover found here https://github.com/jakkra/RoverController.
The whole Fusion 360 project can be found in the CAD folder, download the .f3z file and open it in desktop Fusion 360.
The CAD render images are more up to date than the real images of the rover, for example some cosmetics have been added and the high gain antenna which can be rotated by a servo.
There are two options for wheels, either original Curiosity style wheels that print in one piece or Mars 2020 style wheels that print in two parts where the outer part can be printed in flexible plastic such as TPU. The rover_2020_wheel_flex.f3d wheels are preferred if your printer can print in TPU as they provide way more grip.
There are 3 ways to drive the Rover right now:
By moving a 3-way switch on the rover, the startup mode can be chosen; WiFi station + LoRa, LoRa only or WiFi AP (when using the website hosted on the Rover, see data folder). Here is my controller supporting both LoRa and websocket control of the Rover.
Rover will automatically send telematics data as soon as someone connects to the websocket server or over LoRa if Rover is being controlled over LoRa.
There is no manual, but downloading the CAD model and browsing through it should get you started. Browse through both open and closed issues for help. Feel free to open an issue if you have a question.
Videos:
There are three ways to drive the rover. Either using a RC controller, LoRa or from a website hosted on the ESP32. The RC controller is default, but as soon as someone connects to the ESP32 AP and a websocket is created, the RC controller or LoRa will be overridden by the WiFi controller.
The website functionality is just as basic as the RC controller right now, but the plan is to add more advanced functionality to the website which is not possible to do on the RC controller. On the RC Transmitter, I use two joysticks for channels 1-4, and two switches for channel 5-6.
Joysticks are used both for steering the Rover and for moving each axis of the arm.
When switch1 is:
Currently, the arm is just pretty much mapped to controls on the Controller, which is not really useful, so TODO.
pio run -t uploadfs
xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line.exe -pfiaC -e /c/Users/ijakk_000/Documents/Rover-code/.pio/build/esp-wrover-kit/firmware.elf 0x00000000:0x3ffb5c60 ...