PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.48k stars 13.5k forks source link

Add support for rover wheel encoders in PX4 #11957

Closed AmeliaEScott closed 5 years ago

AmeliaEScott commented 5 years ago

Describe problem solved by the proposed feature Many rovers, including the Aion R1 which is being used for development, incorporate wheel encoders. These could play a similar role to optical flow and RTK sensors, in providing local, small-scale velocity feedback.

Describe your preferred solution Create a driver which reads wheel encoder data from the BasicMicro RoboClaw motor driver on the Aion R1, and publishes it as a uORB topic. Create a module which uses this data for navigation.

Describe possible alternatives The existing optical flow module could be used for similar navigation purposes, but calibrating the sensors properly might be difficult due to how low they would be to the ground.

oneWayOut commented 5 years ago

According to https://discuss.px4.io/t/pixhawk-enabling-gpio-output/2457 , It's possible to read wheel encoders signal directly from GPIO pins. Ardupilot have already implemented this, http://ardupilot.org/rover/docs/wheel-encoder.html#wheel-encoder

julianoes commented 5 years ago

The roboclaw driver https://github.com/PX4/Firmware/pull/12416 has been merged but more work would be required to fuse this into the estimator.

julianoes commented 5 years ago

The estimator part is tracked in #12350, closing.