Skip to content

Instantly share code, notes, and snippets.

@dvtate
Created September 13, 2019 23:54
Show Gist options
  • Save dvtate/cd8067e3a3a7bf7d176d3c8f3681f41b to your computer and use it in GitHub Desktop.
Save dvtate/cd8067e3a3a7bf7d176d3c8f3681f41b to your computer and use it in GitHub Desktop.
A summary of why we chose to change control system

Why switch?

Problems with old system

  • Required Use of old software that had bugs, was no longer maintained and was poorly documented
  • Delicate, expensive components
  • Required a middleman controller to translate
  • System involved maintaining 3 separate libraries in 2 languages on 3 devices
    • massive time investment
    • In addition, motor controllers and arduino had custom instruction sets we had to use
  • encoders:
    • Previous system used hardware PID controllers
    • pid doesn't give much benefit when moving in sand/dust which shifts
    • encoders sometimes break,
      • making PID controller panic and stop the entire system from moving
      • we couldn't change this behavior as it's a part of the hardware

Benefits with new system

  • We can eliminate the arduino from our control system
    • this makes programming and electrical's jobs easier, reduces power consumption, complexity, etc.
  • We can do everything in Python
    • C++ is hard to teach
  • New system is super cheap compared to old
  • Can use same motor controllers and Tinkerboard (raspberry pi)

Problems with new system

  • Software starting from scratch more or less
  • Some components from old system will go unused
    • kangaroos will go unused
    • arduino will likely be repurposed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment