Todo list

From Bike Wiki
Revision as of 17:31, 14 April 2019 by Daniel (talk | contribs) (+1)
Jump to navigation Jump to search

The master todo list. When you notice tasks that should be done eventually, add them here. We can split this list up if it gets too long.

Tags: DUE = Arduino Due, MAE = mechanical, RPI = Raspberry Pi, ECE = electrical, NAV = navigation

  • DUE: Figure out whether the absolute position of the encoder is drifting. Every loop, if the index position (channel Z value) has changed, print out the REG_TC0_CV1 value. This should be equal to x_offset, as calculated during front wheel calibration. If it isn't, then the absolute position of the encoder is drifting, which needs to be fixed. If not, we're fine.
  • MAE: Add the cylindrical shell back to the front motor column to reduce stress on the screws
  • DUE: Make a new header file (potential name: bike_pins.h) that has many #define statements for standard pin names
  • DUE: Extract ROS code to a new compilation unit in ROS_arduino_wrapper
  • RPI: Modify the Pi's wifi configuration to use eduroam/RedRover/etc (or maybe an ad-hoc network hosted by the laptop) instead of LocomotionLab
  • ECE: Connect some random pin from the PCB to PWML on the front motor control board (make sure it goes high on reset, just like the pin that's currently connected to PWMH), so that the front wheel won't spin rapidly when we reset the Due. Why? Sending high on both PWML and PWMH at the same time results in a coast, which is preferable to high-speed spinning (which is a safety hazard).
  • DUE: Standardized libraries for controlling the front wheel (i.e. fix the front wheel code - see FrontWheelTest for inspiration?) and make sure they're always available for building. Might require a Arduino toolchain overhaul.
  • NAV: Allow paths to be specified relative to current lat/long (probably in meters). Currently they can only be specified as lat/long pairs.
  • DUE: Switch front-wheel controllers and other code to fixed-point math for performance