Paul Guenette
b968a6735d
Add function to remove anticogging bias
2023-03-07 21:59:50 -08:00
Paul Guenette
39d66b0fdc
Add more cyclic messages
2022-10-10 22:42:55 -07:00
Paul Guenette
e88fa10978
Make vel_ramp safer by limiting the vel_setpoint to vel_limit
2022-09-22 00:28:44 -07:00
Paul Guenette
3056a4c2ac
Add function to index into cogmap ( #716 )
2022-09-21 20:25:46 -07:00
Paul Guenette
073da34a02
Fix load encoder issues
...
Fixes #651
2022-09-21 20:25:46 -07:00
Paul Guenette
b17a4a6d50
Always restore control and input mode after leaving homing
2022-09-05 21:55:29 -07:00
Paul Guenette
64bbfea5e3
Ensure pos_estimate is updated at least once after homing
2022-09-05 21:55:06 -07:00
Paul Guenette
08d5a204af
Fix homing running off when it's done
2022-09-05 19:35:10 -07:00
Oskar Weigl
4ca99a62c8
fix setter logic
2022-05-05 13:58:33 -07:00
Oskar Weigl
6444197251
make input mode change trigger consistent with all sources
2022-05-05 13:40:07 -07:00
Torbjørn Ludvigsen
fa144cff29
Makes behavior consistent across interfaces
...
Defines and uses set_setpoint_to_estimate() reusable function
Uses it in three places:
- axis.cpp to avoid transient on startup
- can_simple.cpp to avoid sudden movement upon mode change
- odrive-interface.yaml just to make it executable via USB and UART
Swaps set_input_pos() to set_input_pos_and_steps() so that we get the
same behavior when changing input_pos over USB and UART as we get when
we change it via CAN.
2022-05-05 11:11:01 +02:00
Torbjørn Ludvigsen
c5017f4baf
Making circular_setpoints optional in step/dir mode
...
.. because circular_setpoints was broken beyond repair.
2022-05-04 16:30:30 +02:00
Torbjørn Ludvigsen
d272fbe2b4
Puts fmodf_pos back into the steps_ assignment
2022-04-07 15:10:25 +02:00
Torbjørn Ludvigsen
ae262e4cd1
Sets steps_ in CANSimple::set_input_pos_callback
...
... because otherwise, the effect of the callback is canceled by an
assignment in the main update() loop, that calculates input_pos
based on steps_, if we're in step/dir mode.
- Fixes a steps_ underflow/wrapping bug
2022-04-07 15:10:25 +02:00
Samuel Sadok
cc7bbd47f8
add back subcomponent error flags
...
These flags were previously removed in 5661a3b5ed
2022-04-05 13:10:17 +02:00
Paul Guenette
0aca4911e2
Increase error threshold for SPI encoders
2022-02-02 19:09:46 -05:00
Paul Guenette
78ba7884fe
Increase comms speed with encoders to match DRV8301
2022-02-02 19:08:50 -05:00
Paul Guenette
7402cf8044
Reset trajectory_done_ during homing to fix #634
2022-01-22 17:48:41 -05:00
Paul Guenette
d1bb0049bf
Update endstops before checking for errors
2022-01-22 17:48:41 -05:00
samuelsadok
56de67731c
raise limit for ERROR_UNBALANCED_PHASES
...
See #648
2021-12-10 12:19:13 +01:00
Paul Guenette
f04f02aff7
Add input_xxx to the setpoints for autotuning
2021-12-01 17:41:00 -05:00
Paul Guenette
fbb9dd4a9a
Merge branch 'master' into devel
2021-11-20 13:12:14 -05:00
Paul Guenette
86ff244b20
Fix a couple static analysis catches
...
Fixes #643
2021-11-16 17:39:54 -05:00
Aleksandr
31e601ebed
Fix race condition in trap traj control
2021-11-02 15:23:42 +03:00
pbrier
ef03591379
Added integrator_limit to allow prevention of integrator windup
2021-09-16 10:06:07 +02:00
Samuel Sadok
2e0926e562
fix analog thread stack overflow
2021-09-03 18:30:08 +02:00
Samuel Sadok
d86a86a936
fix comments
2021-09-03 15:41:12 +02:00
Samuel Sadok
2d06453a46
add message for unsupported devices
2021-09-02 14:00:11 +02:00
Samuel Sadok
99713725ac
Remove position setpoint reset during Motor::arm()
...
The position setpoint is already set before arming in start_closed_loop_control().
This fixes https://github.com/odriverobotics/ODrive/issues/599 .
2021-09-01 20:19:54 +02:00
Paul Guenette
6942b74796
Remove controller constructor
2021-08-16 22:59:56 -04:00
Paul Guenette
759c85c9e1
Rename current -> torque mode vel limit
2021-08-03 21:33:50 -04:00
Samuel Sadok
b32193d9dd
fix homing bug
2021-07-27 17:35:32 +02:00
Samuel Sadok
a37f6c3ba3
revert CAN protocol enum to flags, remove unused variables
2021-07-27 16:51:53 +02:00
Paul Guenette
1d958b9b7d
Add measured_phase variable
2021-07-26 08:58:23 -04:00
Paul Guenette
054883707f
Add brake_resistor_current variable to interface
2021-07-17 15:42:01 -04:00
Paul Guenette
a1338ac551
Input mode Tuning enhancements
2021-06-12 11:31:13 -04:00
PAJohnson
477ca3b01f
Set axis.steps_ to pos_estimate (cast to steps) when entering closed loop.
2021-05-14 01:10:32 -04:00
PAJohnson
b707cd870f
CAN baud rate setting fix, spinout detection improvements
2021-05-13 23:21:48 -04:00
PAJohnson
678c1c9c7e
Spinout detection fixes - I^2 * R compensation
2021-05-12 21:39:48 -04:00
PAJohnson
e2cb18b3a7
Changed default dc max negative current, updated changelog
2021-05-05 21:34:02 -04:00
PAJohnson
427b7b4f11
Changed step and direction handling to always require circular positioning
2021-05-05 19:43:44 -04:00
PAJohnson
31e525ab65
Zero out input_vel after homing sequence finds endstop.
2021-05-04 22:00:43 -04:00
PAJohnson
1dc87e8f14
Homing fixed and tested
2021-05-04 21:36:40 -04:00
riewert
03e590ae44
Fixed possible race-condition
...
#550
2021-05-04 21:18:40 -04:00
riewert
ac6c565b30
Fixes
...
Added an abort + error, and confirmed to naming convention.
2021-05-04 21:18:27 -04:00
riewert
5a9bd63ed1
Set input_pos after init
2021-05-04 21:17:51 -04:00
PAJohnson
db5d952a08
Fixed step callback typo, moved input_pos = steps * turns_per_step to Controller::update()
2021-04-30 22:40:29 -04:00
Paul Guenette
c0a8ede93e
Use pre-increment and pre-decrement for steps
2021-04-30 18:36:40 -04:00
Paul Guenette
ce1782b173
Use an integer to count steps to avoid float accumulation issues
2021-04-30 18:33:21 -04:00
Paul Guenette
83e09b73fc
Add torque_mirror_ratio
2021-04-30 18:32:51 -04:00