In Robot benchmark "wall following" example, the robot is following left wall.
[login to view URL]
1- Enahnce the robot ability (of the left wall following) by activating all the needed robot sesnors,
2- After the robot is following the left wall for 30 sec. program the agent that the robot will do right wall following
How to improve the performance?
The controller (in Python) is based on the value received by the sonar sensors of the robot.
The basic controller is extremely simplistic and only uses 2 of the sensors available on the robot. Because of this, and because of how sonar sensors work (see below), it is very bad at handling sharp turns, and will basically only work as long as the wall is almost straight.
A first simple improvement would be to consider the orientation of the robot with respect to the wall, for example if you are too far from the wall, but the robot is already heading towards the wall, you don't need to turn any further. In order to do this you can use the fact that the robot has 2 sensors on each side, and use the difference between the two to estimate the orientation.
In a second time, you need to consider the values of the front sensors, otherwise the robot won't be able to detect a sharper angle in the wall, and will most likely bump into it.
It could also be useful to detect when the robot has hit the wall, and make the robot go backward when it happens.
The sensors of the Pioneer 3-DX have the following configuration:
There is an angle of 20° between adjacent sensors, except for the side sensors (so0, so7, so8 and so15), which have a 40° angle. The maximum range of the sensors is 5m.
Because the sensors of the Pioneer 3-DX are sonars, they can only detect an obstacle within their angle of incidence, which is 22.5° in this case. In other words, sonar rays which lie outside the reflexion cone of aperture 45° are not picked up by the sonar which causes the obstacle to be "invisible" to this particular sensor.
1 freelance fait une offre moyenne de $40 pour ce travail
hello sir.✋ I have just read your job description and your project is really interesting to me. The Items you raised are similar to what I have already done in practice and I think you can do it in a short time if you Plus