I am building a small robot on wheels. The robot will be moving at a small speed in a square area of known dimensions. I need to locate the robot and know its position at any given moment so I can correct its trajectory. I can add parts to the robot, like some sort of flag or lighting object. It's preferable not to put any border around the area, since it would limit the flexibility of the project.
Added Info
- The size of the robot is about 28 x 25 x 11cm. It will go on land and the surface will be ideally flat (but since the friction between the surface and the wheels can vary in different places, I need to know if the robot arrived to the destination or not, and corrections need to be done respectively).
- I can place beacons around the field or any sort of sensors, as long as I can remove them easily and transport them.
- The surface will be about 1.5x1.5m, depending on the range of the sensors, or the method used for localization.
- The robot can start from a determined position.
Some methods
I thought of triangulating the position using two ultrasonic sensors placed at the two edges of the field. Although I am not sure if the US sensors will provide a sufficient angle and range to cover the entire area. I am also concerned about the precision.
Someone pointed to me that I could use two infrared sensors placed at the two edges, and make them turn 90deg both ways and scan the area. As soon as they find something, the position of the object can be found using triangulation. Although I still don't know if these methods work well for a moving object.
If you think that one of the methods that I described is the way to go, please give me more insight on how to implement it in my project.
Here is an illustration of the path that the robot should go along. The basic idea of the project is that the robot should sow seeds at regular intervals, for example every 10cm; this is why I need to know if the robot really covered 10cm after the seed before, and if it has to turn.
I thought of making an imaginary grid: I tell the robot the position that it has to reach, then knowing the position of the robot I can make it turn until it is pointing in the direction of the arriving point and then it covers the distance between it's position and the arriving point.
I am very new to robotics, therefore I would really appreciate a detailed answer.