As you might have seen the page tree in the menu has been growing a lot as the documentation has been added and became quite hard to navigate in. Therefore I took it away and replaced it with a smaller menu and hyperlinks within the pages.
Archive for December, 2011
Page menu structure
Wednesday, December 7th, 2011Single is not double
Tuesday, December 6th, 2011We set out yesterday to tune the system but it was more difficult than we first had expected. It turned out that the initial poor performance was not a matter of parameter settings but rather of numerical problems.
It showed out that the system worked perfectly (apart from some small bugs which were discovered in the process) when compiled for double precision (64-bits floats) but hade problems when compiled for single precision (32-bits floats). It worked fine with single precision for some old data that we used when initially coding the system. However, when run with the new data, recorded from the current system, the covariance values went bananas. The main difference is that the new data come in at 819[Hz] in comparison with 250[Hz] for the old data. The process noise scale with f^-2, where f is the frequency, while we do not scale the measurement noise with time. This means that the ratio between process noise and measurement noise decreased with roughly a factor 10. For some reason this made the system unhappy running on single precision.
Unfortunately we can only make hardware floating point operations with single precision so the fact that it worked fine with double precision did not help much. We have started the work to pin down the numerical problems but this far still without luck. However, tweeking the parameter values we could still make the system run just fine. Here’s a sample of what the system can do this far
The plot is of me (JO) taking a turn in the corridors of our department building. The plot was displayed in real-time on the laptop used to receive and record the system position estimates.
First trajectory
Friday, December 2nd, 2011Of cause, after having the fist OpenShoe unit assembled, we were eager to try it out. Our special made shoes are currently at the shoemaker for some minor repair but fortunately we hade some old trashed experiment boots which we could fit the unit in. Below you see that first (real-time) plot produced by the system during the first walk by JO around the lab:
The axis are in meter and the position output was only 4[Hz]. As you can see the first plot was a real lucky shot, almost the exact same start and stop positions. The following longer walks gave varying performance. However, we have only roughly tuned the system parameters with visual inspections of the output of the system on the desktop, so after all we were very satisfied.
Foto of the placement of the OpenShoe unit in the trashed experiment boots
First full assembly
Friday, December 2nd, 2011Yesterday evening we finally got the casings. There were some minor issues with tolerances but after some hours with a file and some soldering of cables we finally got the first two full OpenShoe units assembled:
The box is (including lid) 27.5x40.5x32[mm].
Really the assembly is not complete yet. As you can see there is no screws in the lid. Those, together with insets which will go in the holes in the box, we will hopefully get tomorrow. Currently we are solving the problem with some tape around the box.
Matlab repo
Thursday, December 1st, 2011A Matlab script repository has been added under our SorceForge account. This is for easy interfacing and testing of OpenShoe. Currently there is only a single script for recording data to a binary file but as soon as we have time to clean up and comment all other scripts that we have (e.g. for real time plotting of position), we will move them over to the repo.