So in the middle of the night I decided to do some experiments. The robot was already in my car so I headed off for the local Cub grocery store. I had gotten good GPS results before in their parking lot. I pulled in to where I had done testing before. I put the GPS receiver (taped on its single-sided PC board) on top of my car and started logging with a serial terminal program. Here are the results after it ran for 20 minutes.
This has a fairly small spread and I would be real happy if the robot did this well. So I clamped the GPS on the robot and parked the robot a-parking-spot-and-a-half away. It is handy to have Robomagellan orange traffic cones in your car. You can look offical and cordon off your robot. There is also less chance of some idiot running over your robot that way. I turned it on and let it run for 10 minutues.
Now you can see why I think I have problems. I would like to see the same small spread as when the GPS was on the car. Now I need to figure out how to accomlish that. The next thing I tried was to leave the same configuration but I turned off the motors. I have a DIP switch that tells the program to NOT initialize the the PIC-Servo controller at power-up. Therefore there should be no PWM to the motor drivers and there should be no high power switching going on. I ran that for 10 minutes.
There was no real improvement there, maybe even a little worse. It may just be coincidental that it looks slightly worse. So I decided to take a shotgun approach. I unclamped the GPS and associated copper-clad board and placed them on a cardboard box about 3 feet away from the robot. I then unplugged the compass and I unplugged the power to the PIC-Servo controller board. That still leaves the gyroscope and accelerometers powered up. And the OSMC power driver boards still have power, but they shouldn't be switching. I ran that for 10 minutes.
Now the pattern is much improved. The comparison between the laptop and the robot is a little deceptive. The laptop powers up the GPS and it has time to stabilize before I start logging. The robot applies power and immediately starts logging. So the slight splatter in the upper right corner and the resulting tail down towards the central mass is actually the GPS starting up.
So something in my shotgun approach was benifical. Either the physical separation or disabling one of the electrical devices. But I had physically moved the GPS which should have reduced radiated interfence from the robot electronics. But I still had an electrical connection which meant I could still have conducted interference. Another test I could run (if I weren't so lazy) would be to make an extension cable and move the GPS 20 feet away from the robot to reduce the radiated interence even more.
Now I wanted to remove the robot interference completely. So I left the GPS on the box but I plugged it into the laptop and left the robot power turned off. I ran that for 10 minutes.
Now I am back to a nice tight spread. But was the GPS location an issue? I clamped the GPS with its copper-clad back onto the robot where I intend to have it mounted. I left the robot powered off and I logged data with the laptop for 10 minutes.
Now I have a very small spread. Most importantly it didn't get worse which indicates that the location on the robot is not a fundamentally bad choice. (But for some reason the blob is about 8 feet to the left of where it should be.) The fact that this is the smallest spread may again be a coincidence. GPS tends to act differently depending on the time of day and the phase of the moon. ;-)
I didn't think to try one of the most important things. In that last configuration I should have run it again with the robot powered up. There would be no physical connection between the robot and the GPS. If that causes problems then it tends to indicate that my interference is radiated and not conducted.
I now have test cases that are clearly good and bad. If I can get the bad one to look like the good one then I will be much further ahead. I want to try the test case I just mentioned above. Then I want to try variuos grounding situations to see if anything gets better or worse.
At this point the copper-clad is floating and not connected to the robot frame or the GPS module. The GPS module has a ground through the data cable. The frame of the robot is not grounded to the battery. So I am hoping some combination of grounding will show marked improvement.
On to more testing...
Visit Twin Cities Robotics Group
Back to my Home Page http://www.pobox.com/~jsampson
This page is currently maintained by Jeff Sampson