Difference between revisions of "Volt TODOs"

From comma wiki
Jump to: navigation, search
Line 1: Line 1:
Considering people are using it and the code is upstream quality, we have already paid out the bounty. But before we include it in openpilot releases, there's still a little polishing work to do.
+
comma will upstream the official Volt support on 06/16/2018. Some more polishing left to do.
  
'''Safety'''
+
* radar_interface needs a bit that determines when a track is new to avoid data "jumps" when the same track ID switches from an object to another. Not so important, as objects seem to move to next available ID slot so the "jump" event should be rare.
* <s>When the driver overrides openpilot steering, a safety mechanism must be present to limit how much torque is produced against the driver's will and to smooth the dynamic response right after the driver releases the steering wheel. Failing to implement such limitation is against the 2nd comma's safety principle: "... The vehicle must not alter its trajectory too quickly for the driver to safely react. This means that while the system is engaged, the actuators are constrained to operate within reasonable limits...". See comma's [https://github.com/commaai/one/blob/master/SAFETY.md safety principles]. See how this was implemented for the [https://github.com/commaai/panda/blob/master/board/safety/safety_cadillac.h Cadillac port]. </s>
+
* Currently you can only engage > 15 mph, otherwise the gas won't respond. However, resume button seem to work sometime, even < 15mph. Find a way to reliably engage < 15mph.
 
+
* Car won't resume from stop on a moderate uphill. Probably need to allow more gas otherwise hill assist won't release.
'''Convenience bugs'''
+
* canpacker is used to pack the most important messages in gmcan.py (steer, gas, brake). Use canpacker on all other messages too.
* <s>Soft disengagement when traction control is off</s>
+
* Brake control module can fault and not respond to brake commands. It should be reproducible when killing manager while in standstill with ACC on (EPB will engage). Need to find the fault bit on PT-CAN and disallow openpilot engagements when present.
* <s>implement steer torque rate limiter in car controller to prevent control instability at low speed (part of safety as well).</s>
 
* <s>Done. See [https://github.com/vntarasov/openpilot/pull/2 PR] ''it happens that lateral control stops responding for long time and no alerts are sent out while openpilot is engaged. An alert must be shown and openpilot must disengage.'' </s>
 
* <s>Done. See [https://github.com/vntarasov/openpilot/pull/2 PR] ''Understand how to prevent/recover lateral faults (maybe commanding zero steer torque torque while certain CAN flags are set by the electronic power steering module?) ''</s>
 
* <s>when brake is pressed and user tries to engage, a "brake pressed" alert should be sent instead of the "no close lead" one.</s>
 
* <s>Done. See [https://github.com/commaai/panda/commit/293fd1ac70250a09b511cc8af99aa7f260d586ef commit] Improve the ignition logic to not be based on the gear value, so the EON transmits CAN messages also when the gear is P.</s>
 
* <s>Do not allow to engage when the the cruise main button is off, as the car won't respond to openpilot commands.</s>
 
* <s>when car reaches a full stop while in openpilot, an alert should display the need to press the resume button to restart.</s>
 
* radar_interface needs a bit that determines when a track is new (low priority, objects seem to move to next available slot)
 
* <s>add a no entry condition when when trying to set < 15mph </s>
 
* find a reliable way to be able to engage < 15mph and have gas responding
 
* it happens sometime that car won't respond to resume button from stop even though the cruise state is ok (seems uphill related)
 
* <s>linearize the longitudinal control by clearily separating the non-linearities outside PID </s>
 
* use canpacker in gmcan
 
* <s>tune long control. it underbrakes </s>
 
* <s>fix overbraking < 1m/s </s>
 
* <s>fix boardd ignition logic (patched by using voltage monitor)</s>
 
* <s>disengage on park brake applied (560, bit 12)</s>
 

Revision as of 03:32, 17 June 2018

comma will upstream the official Volt support on 06/16/2018. Some more polishing left to do.

  • radar_interface needs a bit that determines when a track is new to avoid data "jumps" when the same track ID switches from an object to another. Not so important, as objects seem to move to next available ID slot so the "jump" event should be rare.
  • Currently you can only engage > 15 mph, otherwise the gas won't respond. However, resume button seem to work sometime, even < 15mph. Find a way to reliably engage < 15mph.
  • Car won't resume from stop on a moderate uphill. Probably need to allow more gas otherwise hill assist won't release.
  • canpacker is used to pack the most important messages in gmcan.py (steer, gas, brake). Use canpacker on all other messages too.
  • Brake control module can fault and not respond to brake commands. It should be reproducible when killing manager while in standstill with ACC on (EPB will engage). Need to find the fault bit on PT-CAN and disallow openpilot engagements when present.