In 2012 I took a AI for Robots program in Udacity. As a result I built a simple simulator that runs in an iPad using Codea, a LUA development environment. It follows very closely the python AI for tobots Udacity course program but added better visualization and interactivity.
In the screen the car moves the wheels and you may see in the steering wheel how it moves them. Also there is a "error" circle and small blue particles that represent the Particle Filter.
The path is computed (green circles), smoothed (yellow circles and red line and followed.
The results are easier to see than just looking at numbers. The code may be found in Code for the Codea LUA program.
The program does planning, smoothes the track and then tries to follow it. You may select just plain GPS (sucks), GPS with a particle filter, a limited 3 directions LIDAR with particle filter and a GPS+LIDAR with particle filter.
The progam allows to change the square and world side, define noises, LIDAR maximum range, select sensors and filter and as it is Codea, record the video.
I decided to write the program to be able to better understand the strong points and limitations of different sensors and algorithms.
Also it is easier to generate new configurations of the world just by touching squares to enable or disable them. No need to mess with 1, 0 arrays.
Case 1: Just raw GPS
With the precision here things are not good :
Case 2: Adding a Particle Filter
When we add a Particle Filter without changing precission situation gets better:
Case 3 : Using LIDAR
An alternative is to use just a LIDAR and particle filter:
Things are very good becasuse the LIDAR has higher precission but what will happen if there are open areas where we may not get a LIDAR reading? Also first localization is fixed and known which is not the real thing.
Case 4: Fusing LIDAR and GPS
So let's fussion LIDAR and GPS :
That's a good result. As good as just the LIDAR one. So why bother with fusion?
Case 5: Only LIDAR with open spaces
Here I reduced LIDAR range and built a big open space. So we gte the following behaviour:
In the screen the car moves the wheels and you may see in the steering wheel how it moves them. Also there is a "error" circle and small blue particles that represent the Particle Filter.
The path is computed (green circles), smoothed (yellow circles and red line and followed.
The results are easier to see than just looking at numbers. The code may be found in Code for the Codea LUA program.
The program does planning, smoothes the track and then tries to follow it. You may select just plain GPS (sucks), GPS with a particle filter, a limited 3 directions LIDAR with particle filter and a GPS+LIDAR with particle filter.
The progam allows to change the square and world side, define noises, LIDAR maximum range, select sensors and filter and as it is Codea, record the video.
I decided to write the program to be able to better understand the strong points and limitations of different sensors and algorithms.
Also it is easier to generate new configurations of the world just by touching squares to enable or disable them. No need to mess with 1, 0 arrays.
Case 1: Just raw GPS
With the precision here things are not good :
Case 2: Adding a Particle Filter
When we add a Particle Filter without changing precission situation gets better:
Case 3 : Using LIDAR
An alternative is to use just a LIDAR and particle filter:
Things are very good becasuse the LIDAR has higher precission but what will happen if there are open areas where we may not get a LIDAR reading? Also first localization is fixed and known which is not the real thing.
Case 4: Fusing LIDAR and GPS
So let's fussion LIDAR and GPS :
That's a good result. As good as just the LIDAR one. So why bother with fusion?
Case 5: Only LIDAR with open spaces
Here I reduced LIDAR range and built a big open space. So we gte the following behaviour:
As s you see, when we go to the open space things degenerate and you see the particles not being centered in on place. Reason is there are no measures becasuse all surfaces are too far away.
Case 6: Just GPS in open spaces and challenging final channel.
So I have enabled GPS, disabled LIDAR and increased a little GPS noise. Well it is reasonable while we are in the open space but the end channel is challenging.
Case 7: Final solution
So finally, we enable LIDAR and GPS maintaining the reduced LIDAR detection distance and the increased noise and the result is :
Here result is optimal. GPS is able to navigate the open space and the LIDAR fine tunes the channel navigation.
Comentaris
Publica un comentari a l'entrada