I installed ArduRover 4.1.0 (beta) on Pixhawk CUBE Orange to create a skid steering type ROVER.
This ROVER is a MovingBase-type robot that uses RTK-GNSS.
The robot always ran autonomously in RTK-Fix, but it always meandered.
I changed below parameters, but I could not solve the problem of the robot meandering.
・WP_PIVOT_ANGLE:15
・WP_PIVOT_RATE:30
To solve the meandering in Rover, I believe I need to change another parameter as well.
If anyone knows of any good solutions, please let me know.
Since I have recently started ArduPilot, I have hardly checked the “Basic Tuning” parameters.
I’ll look at the link you shared and try to adjust the Basic Tuning parameters.
You can download the on-board log (log file saved in Pixhawk CUBE) that I got when I ran the robot the other day from the following URL.
I had a quick look at the logs and here are a few comments:
Some of the arming checks (ARMING_CHECK=1024) have been disabled but it might be a good idea to change this back to “1” because the check could tell you about various issues in the setup.
CRUISE_SPEED=3 and CRUISE_THROTTLE=50 are too high for this vehicle. I’m sure after you do the speed tuning they will be more suitable but a rough guess is that CRUISE_SPEED should be reduced to 0.2 (m/s).
This vehicle looks very slow (top speed of less than 0.3m/s?) which means its movements are so low they are down around the same level as GPS noise. This will make tuning the vehicle difficult unless an RTK GPS is used.
The maximum turn rate of this vehicle also appears low (less than 60deg/sec?) so it might be good to reduce these parameters:
ACRO_TURN_RATE=60
ATC_STR_RAT_MAX=60
ATC_STR_ACC_MAX=120
Anyway, happy to provide more feedback later after you’ve done the turn rate and speed tuning.
Sorry for the delay in getting back to you, thank you for your advice the other day.
I have tried to adjust various parameters after getting your advice.
I have yet to resolve the meandering.
The width of the robot’s meandering has been reduced, but the meandering itself has not been fixed.
My ROVER uses two ZED-F9P RTK-GNSS modules to estimate its own position and orientation. And I use XBee S2C module for telemetry.
Since ROVER needs to perform calculations for self-positioning and orientation estimation using RTK-GNSS, is it possible that there is a lag in communication and calculations?
Finally, is there any way to make the driving control of skid steering type ROVER as shown in the following figure?
If the ROVER doesn’t change direction while running, but instead pivots turn on a WayPoint and turns completely to the next WayPoint, and then starts running straight, it will be less likely to meander.
The part where it recommends setting GCS_PID_MASK and then viewing the desired and actual turn rate is the most important. You may also want to temporarily set ATC_STR_RAT_P and I to zero and just get the _FF right. This is the most important one and then normally you can set the P and I to about 20% of whatever the FF is.
After the turn rate controller is tuned, it may be useful to increase MOT_STR_THR_MIX from 0.5 to 0.8 (or even 1.0) to prioritise steering over speed.
I reinstalled the ROVER-4.1.0Beta firmware again on Pixhawk and reconfigured all the parameters from scratch.
It was at this time that I first noticed some changes in the MovingBase setup documentation.
Then I carefully checked the turn rate documentation and set the FF and other parameters.
The MovingBase system in Rover 4.1.0Beta reacted so accurately and speedily that Rover was always able to accurately estimate its direction!
I can’t thank the ArduPilot staff and community enough!!
Next, however, the robot’s GNSS status did not RTK-Fix anymore.
I used u-center to install the latest firmware on the ZED-F9P and reconfigured it.
Still, I could not solve this problem.
I have confirmed that using the same ZED-F9P and antenna on another robot that doesn’t use the MovingBase method with Rover 4.1.0Beta firmware installed results in RTK-Fix status.
Apparently, setting up MovingBase as per the documentation may not result in RTK-Fix status.
How can I enable RTK-GNSS and get RTK-Fix status with MovingBase-based robots?
Since the robot does not need to use an electronic compass, I am now able to facilitate autonomous driving of large robots for carrying cargo.
Sorry for the inconvenience, and a huge thanks to the ArduPilot team for adding the Rover firmware and new features!
Hello
I’m trying to build an Airboat with differential thrust
I have:
Pixhawk 4 with the power module
here3 GPS
R12DS Radioink receiver
AT10 Radiolink transmitter
2 80A ECS
2 brushless motors 620KV
I have installed AurduRover/boat
The boat works great on manual however on Autopito is wandering around
I’m attaching my log files
could someone take a look? Please and let me know what I’m doing wrong
Did you follow the sequence of tuning steps comprehensively covered in the Wiki? No point in reviewing a log until you have done so and have some specific questions.
Ah, ok. I see the pic now so it is a skid-steering boat but using multicopter ESCs for thrust? So I guess the ESCs cannot go in reverse right so no reverse thrust? We don’t really have great support for vehicles that can’t reverse but may be it will be OK.
I think we should reduce some of these parameters to handle the slightly slow response from the frame:
ATC_STR_RAT_MAX, 80 (was 180)
TURN_MAX_G, 0.2 (was 0.6)
ATC_ACCEL_MAX, 0.5 (was 2)
Also it looks like EKF2 is enabled but might as well use EKF3 with Rover-4.1 although it probably won’t make any difference.
AHRS_EKF_TYPE,3
EK2_ENABLE,0
EK3_ENABLE,1
Could you try driving it around in Manual a bit first so we can see the frame’s performance?
give it full throttle in manual for at least 10 seconds so we can see how fast it can go
after it has come to a stop, give it full left or right steering so we can see how quickly it can turn.
Then let’s try Acro mode:
give it full throttle for about 10 seconds and then release and let it slow down.
give it full left or right steering for 10 seconds so we can see how well the turn rate controller is working
Then post the logs here of the above. It doesn’t need to be perfect…
Hello Randy
thanks for the help, I appreciate it a lot.
yes, I’m using skid-steering boat, the ESCs are programmable, the documentation for the ESC says it could do reverse but I have not tried it yet.
I’ll try this new parameter.
oh, I took the boat out for testing yesterday and I burned 3 motors, no all at the same time, while running on autopilot. the autopilot runs very “choppy” right now, one motor burned and I did replace it with a new one, the second test motor burned and I replaced the ESC with new ones, the third test new motor burned.
could there be something else going on there?
I’m attaching the log file from this last test
Too bad about the motors. It’s hard to say why the motors would burn out but perhaps it’s hot outside (36C?) and they are being run at 100% for a few minutes at some times. If we look at the RCOU messages we can see that on its way to the first waypoint one motor is at 100% for 2min while the other is only coming on intermittently.
My guess is the propellers provide decent thrust but not much turning power. They would work better if they were placed closer to the center of gravity of the boat (i.e. closer to the middle).
Regarding choppiness, I guess you’ve done the motor test and the “Minimum Throttle” section on the same page? THR_MIN is set to 0.15 (15%) which seems high but could be accurate depending upon the ESCs. If it is set too high then the motors will always come on at a higher rate than they should.
By the way, I see you’re using a slightly older version of “latest”. How do you feel about using Rover-4.1.0-beta5 (or higher) instead? MP’s firmware install screen has a beta link on the bottom right. Using this version will make it easier for me to know what software is being used… for example I was led astray for a moment because the “THR” logging shows “AccY” (lateral acceleration which s not useful) while beta5 and a newer version of latest show “AccX” (forward-back acceleration).