Difference between revisions of "Todo list"

From Bike Wiki
Jump to navigation Jump to search
(remove 3 items that have been done or are inapplicable)
(Website: +1 (and create the section))
Line 29: Line 29:
 
== Hardware ==
 
== Hardware ==
 
* Paint job
 
* Paint job
 +
 +
== Website ==
 +
* Program to turn a roster spreadsheet into a "meet the team" HTML page for the website

Revision as of 18:51, 28 January 2020

The master todo list. When you notice tasks that should be done eventually, add them here.

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.
  • Make a new header file (potential name: bike_pins.h) that has many #define statements for standard pin names
  • Extract ROS code to a new compilation unit in ROS_arduino_wrapper
  • 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.
  • Switch front-wheel controllers and other code to fixed-point math for performance
  • During calibration, try to keep a constant & low velocity; during the first few milliseconds, measure the velocity and if it's too high (i.e. the bike might skip the Z channel tick point the first time), reduce the velocity.
  • Prefix global variable names with g_

Mechanical

  • Add the cylindrical shell back to the front motor column to reduce stress on the screws

Pi

  • Modify the Pi's wifi configuration to use eduroam/RedRover/etc (or maybe an ad-hoc network hosted by the laptop) instead of LocomotionLab
  • Phone controls!!!

Electrical

  • 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 low 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).
    • Better way to do this: pull-down on PWMH
  • Reset button on the exterior of the plastic case
  • Move the front and rear wheel power rocker switches further apart

Navigation

  • Allow paths to be specified relative to current lat/long (probably in meters). Currently they can only be specified as lat/long pairs.

Hardware

  • Paint job

Website

  • Program to turn a roster spreadsheet into a "meet the team" HTML page for the website