Samuel Sadok 9155edfb17 Fix a numerical issue in the trajectory planner that could cause sudden jumps of the position setpoint.
If certain inputs were passed to trajectory planner, an expression inside the trajectory planner which is an argument to sqrtf() could become negative due to finite floating point accuracy.
This led to Vr_ == NaN and then Tf_ == 0, causing the trajectory to jump to the final setpoint instantaneously. To the user, this manifested as a sudden increase in velocity (limited by controller.config.vel_limit) and/or an overcurrent fault.

This bug was likely to show up when constantly sending trajectory setpoints while moving in the negative direction.

See also: https://discourse.odriverobotics.com/t/move-to-pos-not-works-well/4626
2020-05-06 19:25:39 +02:00
2019-05-22 23:05:03 +02:00
2020-05-06 11:21:33 +02:00
2020-05-06 11:21:33 +02:00
2019-05-26 18:20:29 -07:00
…

ODrive Logo

This project is all about accurately driving brushless motors, for cheap. The aim is to make it possible to use inexpensive brushless motors in high performance robotics projects, like this.

Branch Build Status
master Build Status
devel Build Status

Please refer to the Developer Guide to get started with ODrive firmware development.

Repository Structure

  • Firmware: ODrive firmware
  • tools: Python library & tools
  • docs: Documentation

Other Resources

S
Description
High performance motor control
Readme
83 MiB
Languages
C++ 32.6%
C 29.8%
Python 19.2%
JavaScript 10.8%
Vue 4%
Other 3.6%