-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Acro mode on Rovers with Rates Control #18317
Conversation
Build failure in the tests (make tests). https://github.com/PX4/PX4-Autopilot/pull/18317/checks?check_run_id=3758555224 |
@dagar Sorry, fixed! |
7169a8f
to
a6ca0c2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Jaeyoung-Lim Do you need to do any further modifications or can we merge this?
@bresch Sorry for the late reply. Currently it has a few issues with input scaling at low speeds when testing on a real vehicle. I think we need to fix this issue before merging. |
@Jaeyoung-Lim I'm trying your PR in my boat setup in this branch. And I have couple of questions 🤔
|
Could you elaborate? This is how position control is done on the rover in the current state
This I have no idea. In principle it should not make a difference, but not sure how ackerman steering vs differential drive would be applied to control allocation |
Oh I was just not sure if L1 was necessary or not since I have never used it before 😵. Few more questions 🤔
|
Interestingly, it seems like rover attitude control was intentionally removed at one point in PX4 : #12239 |
Yes, rover fundamentally is a 1Dof vehicle. I would try to get this working before we think about additional degree of freedoms to control.
Having an effect on roll actuation and trying to control roll are two different problems. For rovers, normally you have only one degree of freedom actuator(e.g. rudder), so you can only control 1 DoF(yaw). We can add more in the future, but for now I would not consider this as a valid use case. |
Currently in the Rover Position Control, it seems to use the |
Hmm...Is this discussion relevant for this PR? How does this relate to adding a rate controller for rovers? Nevertheless, |
This commit adds a angular rates controller controlling the yaw rate of the rover. This is also used for the previous attitude controller in order to stabilize the vehicles. This is important for vehicles operating in low friction surfaces or boats
a6ca0c2
to
aa7b6a7
Compare
98716be
to
b619298
Compare
Increase ground speed trim Use rate control for pos control Controls
df318da
to
fe8dd05
Compare
Latest changes include:
|
3e012a3
to
fe5f2b5
Compare
Reopened in #20082 with adaptation to get it working on boats |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/rc-speed-boat-with-px4-episode-1-using-px4-to-control-the-boat/28429/1 |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/px4-community-q-a-july-12-2023/33086/1 |
Describe problem solved by this pull request
Attitude errors were directly fed into steering angles for stabilized modes rover and boats. However, this can result in unstable behaviors if the vehicle is operating on slippery surfaces or operating on water.
Using a rate control loop improves the stability of the vehicle for stabilized mode.
Describe your solution
This commit adds a angular rates controller controlling the yaw rate of the rover. This is also used for the previous attitude controller in order to stabilize the vehicles.
Test data / coverage
Tested for stabilized mode and acro mode in SITL: https://logs.px4.io/plot_app?log=a493e453-4460-4c5d-b12f-db02084b8421
Additional context