Releases: mjbots/moteus
Releases · mjbots/moteus
2023-07-25
- Ensure the drive stage is off when entering the bootloader
- A new timeout mode, "10" is now added. This will remain in control mode, come to a controlled stop, then hold position
- Fix AS5048 encoders... previously the low 6 bits were not aligned properly, leaving them effectively as 8 bit sensors
moteus_tool --zero-offset
was broken when applied repeatedly, this now should work- Fix motor_position reference sources when an output offset or sign is configured
- When an output offset or sign was configured, it was possible to start outside of +- 0.5 * rotor_to_output_ratio, no longer
2023-06-22
- Make motor_position.output.sign=-1 actually work. This has been broken since release 2023-05-31
- The bootloader will now respond with BRS off if the query was sent with BRS off
- The bootloader will attempt to automatically recover from busoff events
2023-06-15
- Provide better semantics for acceleration or velocity limited trajectories when the target velocity is non-zero. Now the semantics are, "match the trajectory x = x_command + v_command * t"
- In some cases, commanding position mode within a few ms of power-on could result in an assertion failure
conf default
now takes effect immediately for all configurable values- Read UUID from OTP when available, this means
conf default
will no longer erase it
2023-06-05
- Improve ADC performance across all moteus revisions
2023-05-31
Resolve output drift with non-unity motor_position.rotor_to_output_ratio
:
Previously, for some values of motor_position.rotor_to_output_ratio
, the output position could drift over time. This would manifest as an incorrect reported position, and if under control, an incorrect controlled position. Torque and velocity control worked correctly, and still do. This was most common with irrational or non-power of two ratios, although the rate of drift varies depending upon what ratio was selected.
Improve initialization of AS5047P encoder
When using the onboard AS5047P encoder, the relative position was previously incorrectly offset from 0.0 on startup, which could result in the output position not being within +-0.5 * rotor_to_output_ratio as intended.
Support moteus-n1 r1.3 boards
2023-03-23
- Make the I2C startup delay 30ms and be configurable
- moteus-n1 boards now have a default flux braking minimum voltage of 52V
2023-03-15
- Improve ADC performance
- This fixes a regression for moteus-r4.11 boards in 2023-03-10
- It also generally improves the performance for moteus-n1 boards
2023-03-10
- Support the moteus-n1
- Fix possible inability to flash after reconfiguring aux ports
- Improve hardware board version detection reliability
2023-02-01
- Support sending and receiving arbitrary data from a UART configured on one of the auxiliary ports
- when mode 'kTunnel' is selected, then the diagnostic protocol can be used to send and receive data
- aux1 is diagnostic channel 2
- aux2 is diagnostic channel 3
- Permit I2C encoders to operate at up to 1kHz
- Report control position, velocity, and torque as well as the errors in tracking them over the register protocol as registers 0x038 through 0x03d
- Provide support for synchronizing the clock of a moteus controller with a host application.
- In the diagnostic data, report the number of times that hall sensors changed more than one bit at the same time. This is an imperfect measure of problematic hall data, but better than nothing.
- Fix register 0x006 to be reported in revolutions as it previously was and as it is still documented
- Expose the drv8353 fault flags over the register protocol as registers 0x140 and 0x141
2022-11-18
- Encoder registers 0x050-0x054 now report positions and velocities in terms of revolutions instead of counts
- AS5600 support now reports the full resolution instead of omitting the lower 8 bits
- External motor temperature can now be sensed and used for power limiting
- When in fixed voltage mode,
servo.bemf_feedforward
is used. This can allow gimbal control mode to operate at any speed, and AC induction motors to be operated in open loop V/Hz mode. - Use dwarf-4 debugging symbols, so gdb will actually work