This video shows a robot I have built that is driving between two waypoints using GPS.
I built this robot last summer, about a year ago. Back then, I never really managed to the software part of the robot working. The weather became worse outside as the fall came, and a lost interest in this project and started working on other things instead.
I wave written all the code myself, apart from the functions used to calculate course and distance between GPS waypoints. I used functions from the TinyGPS library for that. The code runs on an Arduino Due, the robot is using PID control to steer towards the waypoints. The robot uses a combination of GPS-course and integrating the signal from a yaw-gyro to determine its current course. The robot also has a compass, but it does not seem to work very reliably, therefore I do not use it. The robot also has sonar and other sensors, but they are not used in this video. Expect more videos and info about this robot in the near future.
What is the accuracy in reaching the waypoint ?
I haw set the radius to 2 meters in the code I think. A waypoint is considered reached when the robot is within 2 meters. The accuracy of a normal GPS is not better than this, so I think it is a good distance.
Love the project. Have done something similar recently and was just looking around for similar projects. Was hoping to be able to run my Arduino GPS waypoint UGV at full speed, but I’m not really able to get the PID gains right? Any tips for tuning? (Was originally hoping I could create a plant model of my system to theoretically compute these, but am still working on this). Anyways, good luck on your future projects.
I dont have mush experience with tuning steering PID high speed ground wehicles. But my advise is just to try diffrent values and experiment. You only need the P-term to make it work. I and D terms are just to make the truns faster and more precise, and minimize overshoot. Try changing only one parameter at a time and see what happens.