Help Solving a problem before I have it.
Going to have a problem. I know its coming and hope you all can lend a hand.
I am doing a project using an FPGA controller and several stamps. Basically FPGA controller will take over all decision making for "drone" stamp powered bots. These drones will have bluetooth connectivity and GPS locators. They will each be given a unique id, similar to a MAC address, just in binary and they will be using something similar to encapsulation to communicate all their info. Other than the ability to do simple movements, run a object detection system, and communicate, the drone robots will have no decision making ability. The FPGA will do that.
My problem is, without adding any additional equipment, how can I tell what direction the drone is pointing? Lets say the drone is stopped. The FPGA controller wants it go to a point in the opposite direction. How can I convince it is pointing in the wrong direction? Or lets say it has stopped and performed many little tasks, rotating left and right. How can I get it to remember the direction it is pointing in, so that when the FPGA controller tells it to go to a point, it will know which way to turn?
Any help will be appreciated.
Thanks
I am doing a project using an FPGA controller and several stamps. Basically FPGA controller will take over all decision making for "drone" stamp powered bots. These drones will have bluetooth connectivity and GPS locators. They will each be given a unique id, similar to a MAC address, just in binary and they will be using something similar to encapsulation to communicate all their info. Other than the ability to do simple movements, run a object detection system, and communicate, the drone robots will have no decision making ability. The FPGA will do that.
My problem is, without adding any additional equipment, how can I tell what direction the drone is pointing? Lets say the drone is stopped. The FPGA controller wants it go to a point in the opposite direction. How can I convince it is pointing in the wrong direction? Or lets say it has stopped and performed many little tasks, rotating left and right. How can I get it to remember the direction it is pointing in, so that when the FPGA controller tells it to go to a point, it will know which way to turn?
Any help will be appreciated.
Thanks
Comments
If I understand the situation correctlly, the drones will be equipped with GPS. If they know where they are now, and where they were at the last waypoint, they'll therefore know their own last direction of travel. If the FPGA keeps track of that as will both will have the same information. The last direction of travel will dictate their present heading.
Regards,
Bruce Bates
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas, TX· USA
The GPS will not help with #1. While a GPS will put out a "compass" heading, it is only valid while in motion, and only over an averaged period of time. Once you stop, or slow sufficiently, the compass information is meaningless.
A GPS could solve problem #2 as long as the distances traveled are sufficient for the accuracy of the GPS. If you want to travel 4 feet in a specific direction, commonly available GPS units won't be accurate enough to do so. You would need high end commercial grade units which are far more accurate, and expensive.
Jim
For example, lets say it travels to a waypoint stops performs various rotations while performing a task.· The GPS won't change as the actual location hasn't changed.· But now the drone could be pointing any of 365 different directions.·
How do I get around that?· I am thinking of using an encoder on the steering wheel and the movement wheels and using them to calculate the direction, but not 100% sure that will work flawlessly.· Slip in the wheels would cause errors.
Jon's suggestion of the compass would be your best bet if it's in your price range.
If that's out of your price range, then maybe you could come up with some coarser but effective options. What is your arena/working area like?
Can you place various colored lights around the arena? If that's an option, you could use 3 photocells (very cheap) facing the same direction, each with a red, yellow, and blue filter in front of it. Place a red, yellow, and blue light (also cheap) at 90 degree angles with respect to your arena. When you need to determine which direction they're facing, check the photocells. The photocells will read different intensities depending on which light they're facing. A low reading on all 3 photocells means it's facing the unlighted 4th direction. This would require some testing and calibration, and wouldn't work if the arena was outside or in a very bright room.
Some more info about your "arena" and rule/requirements would be helpful.
Hope that helps,
Dave
My arena is not fixed. I mean theoretically this project should work anywhere anytime, but probably for the demonstration it will be on an enclosed arena.
Would it be possible to do something with an old normal compass and some infared emitters and recievers?
Rick
On first post, idea #2 requires 1 end of needle to be black.
Possible idea killer: Local magnetic fields, ferrous metal objects.
Rick
What would be cheap enough for you? How about $13 a sensor?
http://www.dinsmoresensors.com/
Their digital sensor outputs 8 directions: N, NE, E, SE, S, SW, W, and NW. Is that enough resolution for you? There's probably other compass/sensors out there, but that's the first one I came accross.
Also, if you do decide to go with the phototransistor idea, just get 3 mounted at 120 deg apart, with the north side of the compass painted black and the south painted white. You can determine direction by calculating how much black and white is exposed to each photocell.
Dave