Labbook Dutch Aibo Team
Started Labbook 2022.
March 8, 2020
- Ran the code on the Gutmann dataset. The plot only shows the true landmarks, no true trajectory is visible. Set the true trajectory to oc-ekf, because the ground-truth of the dataset is not available. Seems that the start location is only out of the plot. No, the whole trajectory is located around (0,0). Removing the scaling of a factor of 10 helps, but plot is still strange. The landmarks are at 10m and 20m, so clearly there it also goes a factor 10 wrong.
- Changing the true landmark locations from decimeters to meters helps in the plot. Still, the robot seems to walk down instead of to the right.
March 6, 2020
- Ran the assignment example code without problems on the dataset until the first mark.
- Yet, the example code didn't have any plotting functionallity. Looking at the project from 2011, and at nice examples of the 2017 solutions.
- The 2018 session also had new_robodata.
- The original Kalman Filter code has some rudimentary plotting.
- Also saw two pictures of uncertainty in the motion and sensor model:
nderaan de lijst omdat ze een geldige reden hadden om niet aanwezig te zijn bij de toetsA
- Should check if October 5 correction is available in my code. No, it isn't (also not in the code snippets of the 2017 students).
- Niels Backer solution at least has a some plot functionallity.
- At nb-dual (ubuntu drive), I saw no EKF code in my Matlab or ProbRob folders. Where did I test in Oct 2017?
- In September 13, 2017 I did a comparible search. Some of my files could be found at my ScanDisk and C:\Programs\MATLAB701, so that sounds like old XPS17 Windows labtop pc-unreal.
- Saw in this solution a nice plotting with quiver.
Seems that this solution has the nicest results, with a good choice of the M-matrix.
- Also this solution shows a nice 8-shaped path (and nice plots).
-
- Looked at how the Victoria Park dataset was loaded by Martin Brossard. An experiment.mat is loaded, with omega_m (1x6969 double), v_m (2x6969 cell), z (3x151x6969) doubles, xR_true (3x6969 doubles), xL_true (2x151x6969 doubles). 151 is the number of landmarks, 6969 the number of timesteps. At initialisation also v_tru and omega_true are set. xR is the robot trajectory. The standard ekf only uses v_m and omega_m in the predict step, the update uses z and R! R is the landmark uncertainty. The first 154 R cells are empty, thereafter they contain the Identity matrix.
- The directory also contains the aa3_dr, aa3_gpsx and time_odo. aa3 contains 61945 speed, steering and time measurements. time_odo only contains 6969 time-steps.
- An explanation is given in original_MATLAB_dataset/info.txt. This directory also contains aa3_lsr2.mat, which can be interpreted by detectTreesl16.m to get the landmarks. The viewLsr code doesn't work anymore, because EraseMode is depreciated and bitcmp no longer gets a integer type name. With 'uint16' instead of 16 viewLsr works again.
- The first 154 timesteps no observations are made, the first measurement is z(:,1,154), which gives 9.645, 14.66, 17. This should be interpreted as dx, dy, landmark_id.
- Finally got it working, but once no landmarks are seen IEKF gets worse than Std-EKF.
- Read the Gutmann dataset with a new loadlogfile.m, which also solves skipping the marks (otherwise you get a (0,0) point at time-step 760. The update_std.m uses eq (39) of the Stable observer, while I have measurements according to eq (4). I should update the measurement_measurement_std.m correctly, because it gives both zhat and H. Yet, our H is 3x3, while a 2x(3+12) is expected. That is the difference between the state x between localization and SLAM :-)
- Should implement my landmark management and F_xj matrix. That is not a task for a night.
March 4, 2020
- The EKF-SLAM assignment of Probabilistic Robotics can still be found here. The Matlab code is also still available.
- The article 'stable observer' contains a simplified Car example, with the same motion model as the Aibo. In addition, it has two observation models, the second (equation 40) equal to our range-and-bearing observation. On section IV.D they show the Jacobians for the EKF model.
- The Jacobian G with respect to the robot location is nearly the same, except the reordering of the state and an additional Identity matrix in the ProbRob code.
- The Jacobian H with respect to the observations is completely different, but Barrau only provides one matrix (of equation 39 it seems).
- The ProbRob code should be an implementation of Table 7.2 of the book.
- Looked in Tobias Labbook: Tobias uses the same G and H as the ProbRob code.
- The difference for the Jacobian G seems to be difference between the velocity model (u = (v ω)) versus the odometry model (u = (v θ)). Yet, Barrau has not included the 2nd θ as suggested in the book.
February 25, 2020
February 24, 2020
- Created a bin/matlab2020a.sh, so that I can run my code in full resolution.
- Looked at A Multifrontal QR Factorization Approach to Distributed Inference Applied to Multirobot Localization and Mapping, which contains a corridor of 32 landmarks. Looking if I can find this dataset somewhere. On dataverse, the oldest robotics dataset is from 2010.
- There is a lot of software available from Frank Dellaert's Borg Lab, but no dataset.
- At the repository there a several matlab examples, but with artificial data.
- This journal article seems to work out the MRF more extensively.
- Looking if the dataset is part of the 2006 SLAM Summer School practicals.
- Frank Dellaert's presentation (second half) explains the rational the factorization approach.
- Paul Newman published a full syllabus of 94 pages as part of his 'talks'.
- Run the MarsLander example (after correcting a break-statement), which does the estimation with EKF (and plots the Innovation Sequence - see Fig 3.3).
- The AckermanPredict shows the growth of the uncertainty ellipses after a few S-curves (see Fig 4.2).
- The EKFLocalizatin shows the build up of a large error (simulated sensor failure) around time 3000, which is corrected (by a loop-closure?) at time 3600 (see Fig 5.3).
- EKFMapping generates Fig. 5.4
- EKFSLAM generates Fig. 5.6
- The Information Filter practical fails in k=2 (converting a double value 18 to a handle in line 548)..
- Just commenting this line out helps (verbose is going step-by-step through the simulation).
January 29, 2020
- On nb-dual, the matlab command was executed from /usr/bin/matlab, which was a symbolic link to /etc/alternatives/matlab. This alternative pointed still to R2018b, so I replaced that with a link to R20202a (also for matlab-mbuild and matlab-mex).
- Tried to run iekf-slam/simulations/main.m, but the code needs the Communication Toolbox for the vec2mat function. Added that package by running sudo ./install from the tmp directory with the unzipped installer.
- Got a lot of warnings on Singular matrices, but after 10 iterations I got my results:
- Singularity occurs at line 184, 204, 233 and 244 of the code. All lines were the NEES is calculated with an inverse. Yet, no problems for RoboCentric (line 220) and standard UKF (line 194). This are precisely the top and bottom performers for NEES.
January 28, 2020
- Deadline is extended to Februari 14th.
- Looked at nb-ros. In my ~/git I have directories from 2018, but that are the rescue-agents folders. My ~/svn contains monarch code.
- The version of Matlab on nb-ros is R2015a. Seems that I was working on nb-udk.
- On the Linux partition of nb-dual there is Matlab R2018b installed. Yet, the RoboCup license is no longer valid and the UvA license cannot access the server (although the vpn is active).
- Luckely, I have multiple licenses. Going to use the R2020a, which is runs until March 31, 2020.
- I also have a Matlab-drive, but there I only have the results of the DeepLearning speedup for my TitanXp.
- In ~/matlab I can find the Matlab code of my thesis. In ~/Documents/MATLAB my experiments with the realsense can be found.
- Installing the R2020a prerelease in /usr/local/MATLAB2020a. Copied my Lab Machines backup to my dual-stick, because 16 packages (of the 65 packages) already costs 16.4 Gb.
- The iekf-slam could already be found in ~/git.
January 9, 2020
Previous Labbook