Σάββατο 27 Σεπτεμβρίου 2014

First week

Blog update #2.
So, the first week into the intenrship was, like all first weeks, an introductory one; administrative stuff, getting to know the people and the workplace. Really nice working environment and very friendly people.
Now, as far as the internship, I sticked to the internship planning and this week was mostly focused on research regarding the general theories of my topic.
The research done could be divided into two main areas:
  1. ROS and the turtlebot simulator
  2. The Dirichlet distribution and its properties

Regarding the first one, I will be given a desktop that has Ubuntu 12.04 as the turtlebot simulator is not yet compatible with the 14.04 Ubuntu due to conflicts on .urdf files. As a result, the machine will be running on ROS hydro as it is the most recent working simulator until a patch on 14.04 and ROS indigo is given.
On a sidenote, I also installed Ubuntyu 12.04  and ROS Hydro on my old laptop but the simulator there is too slow so I will use the company's dekstop for now.
Regarding the ROS simulator, I re-did all the tutorials on the ROS wiki to remember how topics work. Furthermore, I read through the code of the gmapping package, which is the built in tool for 2D-SLAM in ROS in order to have a deeper understanding of how it works and what should be changed to implement my alterations when the time comes.
The basic websites I used are the following:
Finally I plan not to delve too deep into the simulator before I have a tight grasp of what my theoretical task is, as empirical data have shown me that it is very easy to get lost between tasks and underperform when goals are not clear :P

Regarding the second part of my research, I read (a lot of) tutorials regarding the dirichlet distribution and its properties. To validate my initial findings I used a matlab FastSLAM 2.0 implementation and did some experiments on the resampling part of the algorithm.
More specificaly, I created a multinomial dirichlet distribution with a number of states equal to the number of positions that particles exist in this particular instance.
So if particles would exist on the map in positions p1=(1,1), p2=(1,2) , p3=(2,1), the corresponding distribution would then be:
(p1,p2,p3) ~ Dir(a1,a2,a3).
The alpha hyperparameters can also be considered like density parameters and define what the density of the distribution will be that specific state.
In the resampling step I added the weights of all particles that belong to the same position to hypermarameters of the distribution. I then sampled from the distribution (using this technique) to validate if the data sampled from the distribution correspond to the actual positions of the particles.
An example output is the following.


X pos Y pos Weight
6.000011.00000.0677
5.000011.00000.0191
5.000011.00000.0360
5.000010.00000.0282
6.000011.00000.0250
6.000011.00000.0264
6.000010.00000.0469
6.000010.00000.0128
6.000010.00000.0153
6.000010.00000.0155
6.000010.00000.0169
5.000011.00000.0057
6.000011.00000.0585
6.000010.00000.0331
6.000010.00000.0269
5.000010.00000.0296
5.000010.00000.0350
5.000010.00000.0248
6.000010.00000.0243
6.000011.00000.0336
6.000010.00000.0458
6.000010.00000.0643
6.000010.00000.0674
6.000011.00000.0553
5.000010.00000.0454
5.000010.00000.0252
5.000010.00000.0366
6.000010.00000.0201
5.000011.00000.0465
6.000010.00000.0121

The probabilities samples for being on each one of the four different positions where then the following:

Position Probability
5,100.2033
5,110.1829
6,100.2830
6,110.3307
For visualization purposes, the robot is currently on the following position:

So the robot is in a position between all four discrete states, and this is reflected on the dirichlet distribution.
Some problems that arise from this approach would be the followimg:
  • The space is discretized using valuable position information
  • The orientation of the robot is disregarded.
After talking with Anne, he proposed that I research and use the dirichlet process which can takle both these restrictions. As the math are quite abstract and I still don't have a concrete grasp of what are the modifications needed but I'm still on week one, so I still have plenty of research time.
I consider the above experiment as a proof of concept as the particle position distribution was correclty approximated by the dirichlet distribution.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου