KevinG's Autonomous zero-point turn Lawn Mower

Vincent,
Your reply was very helpful for me. I am wondering how Ardusimple would say to handle the RTCM3 comm directly from static base to rover in that piggyback steup?

When I get my mower back going (repairs to do from the fire but too many other things on my plate right now), I am going to go with the moving base pretty soon afterward. I may not use the piggyback way, though and would be able to use a single telemtry radio for the two mobile GPSs. You asked how you could do that. With my LoRa modules, at least, the communication is completely one way, so I can take the TX signal out of the receiving LoRa module on the mower and route it to both GPS RX inputs on their UART2 ports. The TX from UART2 is not used at all.

I’m glad you guys are getting all this figured out before I have to tackle it!! :slight_smile:

Kenny

2 Likes

Steve,
I meant to mention 2 things:

  1. In North America you cannot use 868 Mhz. That is the European version. The Xbee modules you buy should be the 915Mhz version (sometimes written 900Mhz).
  2. You will want to buy antennas for the Xbee modules as you had in your original list.
2 Likes

FYI ROS based system

2 Likes

I got my mower outside and did some configuration and testing of the GPS YAW setup with Rover 4.1 dev. I saw some phenomenal GPS accuracies while pushing the mower around the driveway by hand. I am going to tie down the antennas and routing the wires tonight and do a powered run tomorrow. Hopefully the snow will continue to hold off.

Question: Does anyone know the best way to confirm that GPS is the source of YAW information beyond just configuration?

2 Likes

I did some outdoor testing and double checked all the parameters. I also checked that the distance reported between the two antenna matched that configuration settings. I have RTK Fixed on both GPS units. I don’t see valid YAW messages coming from either GPS units after letting the rover sit for ten minutes the YAW value is consistently 0 in MAVLink Inspector and moving the rover doesn’t change the value. Going to install the latest dev branch of ardurover again and see if it changes.

2 Likes

@Vincent_Miceli,

I’ve never actually used GPS-for-Yaw yet so I only know what’s written on the GPS-for-yaw wiki page. Hopefully some others can pitch in. Perhaps @tridge can help as well as I think he wrote a lot of the feature.

1 Like

sure. Is there a log to look at?

I will run a mission tomorrow and get a clean up to date log and post it here.

@tridge

log.zip - taken today. When I first started the mission I didn’t have RTK Fixed. When I did get RTK Fixed I restarted the mission and went through a few waypoints. I did notice in mission planner that my “moving base” pointer is indicating my static base station and not the second GPS on the rover, not sure if that indicates a problem with configuration.mower.param (14.8 KB)

1 Like

Bitdog,

Confirm you’re looking at the yaw value under GPS2_RAW? That’s where MAVlink reports GPS yaw. Also, confirm that you’re using MAVlink 2? If I recall correctly, MAVlink 1 doesn’t carry the GPS2_RAW packet.

An error value for GPS yaw is 65535, so you know you’re on the right track when you see that instead of 0 (which means that the parameters are likely set correctly, and you probably have a hardware misconfiguration).

2 Likes

I was looking at GPS2 and GPS hoping to find a YAW value. I really like the MAVLink 1 possibility and will give MAVLink 2 a try if its not already set.

2 Likes

I changed telemetry to MAVLink 2 with the same results after a reboot. I did notice that I get a message for GPS config saved for only one GPS, I would expect a message for each. .

hud

1 Like

@tridge I am currently using the UART & I2C B socket for GPS 2 on a pixhawk 4. Does the ardupilot ublox driver require the use of UART 1 and 2 for GPS for moving base to work? Looking at the code it seems like it might.

I think both need to be on serial ports. I’m using UART 1 and 2. It makes sense that you only got one config message now that you explained your communication setup.

1 Like

@tridge @rmackay9
Yes, for the Pixhawk 4, my UARTS are configured as
SERIAL1 -> UART2 (Telem1) - RFD 900 telemetry
SERIAL2 -> UART3 (Telem2) - FrSky telemetry
SERIAL3 -> UART1 (GPS) - GPS 1
SERIAL4 -> UART4 (GPS2, marked UART/I2CB) - GPS 2
SERIAL5 -> UART6 (spare)
SERIAL6 -> UART7 (spare, debug).

– Update
After researching the code further, it looks like my assumptions are wrong. The UART1 and UART2 I thought referenced the FC actually reference the GPS UART configurations. So I might be back to not knowing why my configuration doesn’t work.

1 Like

I pulled the GPS and set them both back to factory settings. I have been working with them for over a year and it is possible there is a setting on them preventing YAW from working. I will reinstall this weekend and try again.

@tridge I had some interesting results after doing a factory reset of both GPS. Only GPS1 configured automatically. At first I thought it was a cable problem but they checked out fine. I connected -second GPS in the GPS1 port and tested it and the cable and then it configured just fine. I put both GPS back into their correct ports and everything started working and I now get YAW values. Is there anything different in the GPS1 auto config that might also be needed for GPS2?

Now I will get the units out and inject corrections and see how the YAW does.
yeah

Update: Discovered that I had a GPS cable with a BAD TX line from the FC that only presented itself while installed. With faulty cable replaced, I now see “GPS config saved” messages for each GPS and all is good. I am getting close.

2 Likes

Yes! That’s the first sign that things are beginning to work for you. I really wish I had some more advice, but it seems you’re working through things and making progress!

Autoconfigure seems to be a requirement for both GPSs. I’d set it and forget it.

3 Likes

Well Kenny my mower build is starting to move along slowly and I am presently considering how and where to mount my servos. I am also struggling with some control basics related to the servo controlling the hydrulic motor control valve. When the control valve is controlled by control handles it can make the motor go forward or backwards. For instance when you make a true zero turn one motor is going forward and the other one is going in reverse. Does the Ardurover software ever demand a servo to command a valve to go in reverse? I know the software does allow pivot turns, but I think that is just stopping one wheel and driving the other one around (correct me if I am wrong). While under software control if I only need to go forward with my hydraulic motors, I can use the full stroke of the servo to give a finer control of forward movement.
My vision of what this mower is going to look like has changed now that I have learned more and reality has set in. Originally I was going to remove the seat entirely, but now I have decided to leave it on there permanently to allow me more flexibility. I also intend to try and and arrange for the original control arms to be disconnected during software control, but allow for the servos to be disconnected and the arms to be reconnected for manual mowing.
I am also building and elevated platform to be located behind the seat to locate all the antennas and electronics. The pixhawk flight controller will be located in the center above and behind the seat (originally I was planning on putting the electronics where the seat is located like Yuri-Rage had done).
I am also discovering this is a lot of work, when you are starting from scratch with nothing but good intentions.

Steve,
I am sorry to have disappeared for a couple of months. I have been on other projects and just haven’t checked in as I should. You may have all the answers you need by now, but I will comment.

As far as Ardurover driving the servos in the negative direction, it certainly does do that when you are in steering or manual mode. You can manipulate the rover forward or reverse. As for as whether it reverses one of the wheels when it is doing a pivot turn, I am not sure. I have not noticed or looked at logs to see. It does perform a tight pivot turn.

I think your decision to leave the seat will serve you well. I have found it very useful for me.

You are right about these projects being a lot of work but they are very rewarding! Don’t give up.

I am currently getting my mower back going (after the fire!) and hope to have it back going in a couple of days.

1 Like