Hi,
I am working on a project where I have to build a robot (Arduino Zero Board) to follow GPS coordinates. Currently, I have the GPS coordinates (lat, long) obtained using SparkFun GPS-RTK2 Board - ZED-F9P (Qwiic) - GPS-15136 - SparkFun Electronics. But in order to make the robot follow the direction, I would require a digital compass (Read through forums and found this info).
Should I purchase a triple-axis accelerometer, magnetometer, gyroscope LSM 303? Or is there any other ways of making the project work with just GPS coordinates?
Thank you.
No idea but I will be watching with interest.
You need a compass to know which direction the vehicle is headed. A simple magnetometer will work if you keep it level, and if you calibrate it properly. If not level, buy a magnetometer/accelerometer combination and perform tilt compensation.
GPS won't tell you heading, but it will tell you the bearing, which is the direction in which the vehicle should be heading. Heading versus bearing
Don't forget to correct for magnetic versus true North, which depends on where you are.
If you have the room for manouevre and a little trial-and-error, knowing the bearing of the target and the distance to the target, isn't it possible to do away with the compass?
Just thinking aloud.
If your robot moves you can determine the heading (direction of movement) from the difference between the past position and current position. You can then compare the heading (direction of movement) to the bearing (direction to the target) and use that to correct the steering (turning from the heading toward the bearing). When the robot is stopped you stop getting heading information so you should remember the last calculated heading when stopped.
1 Like
a little trial-and-error
Sure, that would work, but I suspect it would be a LOT of trial and error. Remaining distance-to-goal works too.
I've walked around with a GPS, looking at the indicated direction of travel, and it is fairly inconsistent (even indicating while stopped). And of course GPS cannot tell if you have turned in place.
If your robot moves you can determine the heading (direction of movement) from the difference between the past position and current position. You can then compare the heading (direction of movement) to the bearing (direction to the target) and use that to correct the steering (turning from the heading toward the bearing). When the robot is stopped you stop getting heading information so you should remember the last calculated heading when stopped.
Makes sense to me. If you have GPS as you say you do, what exactly ELSE do you have (do you have the robot for example?)
I am working on a project where I have to build a robot (Arduino Zero Board) to follow GPS coordinates. Currently, I have the GPS coordinates
I don't see any mention of you having the robot, so do you have the cart before the horse ?
Shouldn't you first build the robot and verify that it goes where you tell it to (left , right etc) and THEN worry about
the GPS coordinates ?
And if you actually HAVE the robot AND the GPS coordinates, why have you not tried the suggestion above ?
What's the story ?
Depending on how big the robot is you could use 2 GPS receivers to determine direction. We have done this on many of our projects.
Od you could release a swarm of GPS bots that
report back to the queen bot...