Skip to main content

Software Report

How, what, why?

 

 

Software Goals:

Primary

  • Reliable RC Controls for long distance
  • Telemetry data feed back: Primarily battery voltage, current draw

Secondary:

  • Autonomous navigation through way points via GPS
  • Data logging to allow for us to gather data on battery usage, speed, etc.

 

Control Software:

We moved away from our completely custom software setup on ESP32 last year. The ESP32 was simple and great for allowing plain RC controls, however was limited for further development. We also had no way to receive data back from the boat in real time. 

  • ArduPilot:
    • Why: Already built library for autonomous and semi-autonomous vehicles
      • Ability to tune PID controls w/ integration w/ IMU
      • Ability to switch from remote to autonomous controls
      • Ability to communicate with ground control station allowing for us to view position of boat, send waypoints, view real time telemetry.
      • ArduPilot would also allow for control of active hydrofoils if we develop those in the future

Hardware Choices:

  • OrangeCube Pilot: Connects directly w/ RC controller, integrated IMU, 
  • RPi 4: Interface with ArduPilot via WiFi for data streaming
  • ESP32 controls the stepper motor by translating the PWM signal for the rudder from the Flight controller into the apropiate signals for the stepper