sailbot-vt / OLD-arduino-sailbot-20

IO Controller codebase for Arduino
MIT License
2 stars 0 forks source link

Develop RC Control Failsafe #8

Open Pworks3 opened 3 years ago

Pworks3 commented 3 years ago

Introduction

Currently the scope of the ECE sub-team for SailBOT is limited to simple remote control using a transmitter and receiver. In the future however, the boat will become fully autonomous and the need for manual control will be limited to times when we must specifically guide the boat or in the event of a failure on the boat. To enable this, the micro-controller needs to be able to tell the multiplexer driving the servos to take raw input from the receiver instead of from the maestro.

It is important to note that this differs from toggling RC mode and autonomy (auto) mode. Changing the input to the servos should only happen in the event of a failure of some subsystem of which the autonomy of the boat is compromised and the system cannot recover quickly. Simply toggling between RC and auto mode would still have the servos being driven from the maestro.

Breakdown of the system

Micro-Controller (Teensy 4.0) portion

Requirements

  1. Multiplexer control signal is logic level 1 when no failures are present and board is powered on
  2. Multiplexer control signal is logic level 0 when a non-recoverable failure is present and board is powered on

BeagleBone (BB Black) portion

Non-Recoverable Failures

  1. Loss of power to any of the boards combined or individually.
Pworks3 commented 3 years ago

Something I forgot to mention is how the multiplexers are using the control signal. Since a loss of power should coincide with loss in output, meaning all pins now output logic level 0. The multiplexers will default to direct receiver input in the event of total power loss. It follows then that a control signal of logic level 1 causes maestro output to drive the servos.