Tuesday, January 20, 2009

Further improvements

Right now the project is at the state "prove of concept". So there is a lot of improvements to the project. We have listed a couple of the important ones.

Autonomic steering, calculation
At this state the robot car can not drive around on it own and find where it's is. It need to be manuel guided around and told when to run the MCL algorithm. The autonomic steering and calculation needs to be implemented, so it's possibly to plant the robot car some random place on the map, and it will go to a certain destination on it's own.

Layer-based car architecture
With a layer-based architecture it would be possible to implement threads with higher priority then the localization thread. Example the thread with highest priority could be "Do not pass the Boarder", so it would overrule the localization thread.

Better/other/more sensors
The sensors used in the project is very dependent the surroundings, as the light, the magnetic interference. They must be recalibrated if the light is changing. Instead of the light sensors there could be used laser sensors. Maybe there should be added some more sensors to get some more measurements to the MCL algorithm.

Cameras could be used and etc. the sensors depends on which environment the robot car has to navigate in.

Without compass
It could be a nice improvement of the algorithm to get rid off the compass. This would transform the MCL2D algorithm to an 3D algorithm. The localization would be rather more difficult and more sensors are needed. If there is a lot of magnetic interference, the compass will completely mess up the measurements. We saw that in the tests.

Adding a better belief function
The actual belief represents just the average of all samples. If the robot is place on a ambiguous map then the average is approximately in the middle of the both clusters. It could be a nice feature to implement a clustering algorithm like k-means to get better beliefs of the real robot position on ambiguous maps.

Comparison to other algorithms
We has only worked with the MCL algorithm, and do not know if it is the best. It would be a good idea to compare the MCL with other algorithms, such as Markov, Kalman and Weiβ algorithm

No comments: