Labbook Dutch Aibo Team
Started Labbook 2020.
October 24, 2018
- Removed aldebaran from my java classpath, now Matlab R2018b starts.
- Running the code in the guttmann directory of github requires the statistics toolbox. I still had the installer zip-file, but it had unzipped a bin-folder in my downloads (and now also in my tmp folder). Yet, installing the additional toolboxes seems to work (when I start bin/glnxa64/install_linux as root).
- Was able to run main as live editor script, but this are the results for the circular simulated world.
October 18, 2018
- Downloaded the production version of Matlab2018b. Also the install crashes on the jvm. Set the JAVA_HOME to the version provided with the install (1.8.0_152), still crashes. Manually set the PATH to minimal (just /usr/bin/;/usr/local/bin. Now install starts.
- Installer suggested only two new Toolboxes, yet selecting them gave a complaint that MATLAB 9.5 was not compatible.
- Selected also MATLAB 9.5, got now the warning that some Toolboxes would be removed, no indication which.
- Installation went well, still problems with java. Installed ibm and oracle jre 1.8.0, but still crashes.
October 16, 2018
- Tried to start matlab2018, but that fails on my java settings. No java enviroment variables are explictly set in my profile, but still matlab conflicts with the java 1.8.0 and the libraries load from /usr/lib/java-8-oracle
- Used sudo update-alternatives --config java. The default was set on /usr/lib/jvm/java-11-openjdk-amd64/bin/java, selected /usr/lib/jvm/java-8-oracle/jre/bin/java instead.
- Java still reports same version. Selected openjdk version "10.0.2" instead, still matlab crash.
- The libraries of oracle-8 are still set. This originates from /etc/profile.d/jdk.sh.
- Removed jdk.sh, still DERBY_HOME is set. Added my preferences in .bash_profile, but got now mix.
- Used sudo update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 and put JDK first in the path, still crashes.
- Tried sudo apt install matlab-support, which results in a different crash.
- Tried matlab -nosplash and got error message:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.mathworks.mde.desk.MLDesktop (file:/usr/local/MATLAB/R2018b/java/jar/mde.jar) to field sun.awt.X11.XToolkit.awtAppClassName
Currently I had problems X11, so I changed to ubuntu:GNOME, so that could be the problem. Checked, but loginctl show-session 2 -p Type indicates that I still use X11, not Wayland.
- The command matlab -nojvm -nodisplay -nosplash works. Also matlab -nojvm works.
September 28, 2018
- With some effort, I committed the previous attempt to read the Victoria Park logfiles.
- Now I am going to read the mprt version.
- The file out.txt contains the result of list timestamps, which are 2415 entries. The poses contains the same number of entries, so I assume that the timestamp are equal for all measurements.
- This also means that I have to find another procedure to read in.
- The first approach is to read the timestamp from out.txt. If the second word is CObservation2DRangeScan, replace the logline with the line from victoria_park_dataset.
- Strange enough, the timestamp of the logfile is never read (commented out), which was done in revision 2128 (finally get the Mapping Challenge working). That was April 7, 2010).
- Trying to read the victoria_park_dataset_poses.txt file, but this file always contains the same pose: [3.780000 0.500000 1.000000 0.000000 0.000000 0.000000].
- Switched off reading the other sensors, only the LaserSensor should receive updates. Message is sent, but WSM doesn't get active.
- Message was sent for a laser called "Scanner1", but the P3AT had a laser mounted with name "lms200". With the correct name the LaserRangeSensor starts to process the data (and fails on Range).
- Problem was a trailing space, which a removed with trim. Now WSM starts working, although it has some problems with 0.0 instead of MaxRange:
For every three laserscans WSM complains that the Covariance threshold is exceeded.
- The Sick LMS200 can be configured on four MaxRange distances: 8m, 16m, 32m, 80m (page 28): . In UvARescue we used 19.8F, 31.8F, 79.8F, and 40% of 79.8F (to reduce clutter). The original datafile had many values at 81.91. Could select the long range by using the hummer robot.
- Selected the Hummer and replaced every 0.0 with 81.91m, WSM still has problems (with QuadRootNode complaining that it cannot insert NaN points):
The position is reset from 3.780000 0.500000 1.000000 to 0,0,0, without any further process, which is the same for ICP (including the use of QuadRootNodes)
- Comitted rev. 2299.
- Start position was a string without comma's. With a correct start the ICP starts moving (but not localizing). WSM finds no correspondences and doesn't move.
- SLAM and the ScanMatching algorithms are not aware of MaxLenght, so if we have only a few non-MaxLength elements that should be handled in the Load of LaserScanData. A point by point copy is made, so it would be easy to copy only the non-MaxLength elements. Arrays can be resized with Redim Preserve, according to documentation. Even more dynamic are Collections.
- Maybe something like: Finding all indexes of a string in array.
- The code Dim result() As Integer = Enumerable.Range(0, dists.Length).Where(Function(f) (Double.Parse(dists(f)) < Me.MaxRange AndAlso Double.Parse(dists(f)) > Me.MinRange)).ToArray works fine, for the first scan this results the index of the 23 scans which are non-MaxRange.
- Yet, the angles are not calculated yet. This is done in Patch, including a Filter to only add the non-MaxRange elements.
- Still, when I check the Call-Stack IcpScanMatcher.MatchPoints it is called with two Patches of 361 points from RelatePatches. IcpScanMatcher.MatchPoints has access to both Filters, but those are also not applied.
- RelatePatches calls New Patch, which only copies Scan. The filter is applied in Patch.Extend, which calculates the angles with filter.
September 20, 2018
- Made the code that could read VictoriaPark into UvARescue, but ParseVictoriaPark freezes on LASER.txt. The documentation says that it contains a timestamp and 361 ranges per line, but actually it is a file with only one. The values only seem ranges, couldn't find timestamps.
- This site contains a rawdata_log, which according to the readme could be converted to a xxx_LASER.txt and ODO.txt. Only need to install Mobile Robot Programming Toolkit (MRPT).
- Inspected the dataset with rawlog-edit --info -i victoria_park_dataset.rawlog, created laser.txt with rawlog-edit --export-2d-scans-txt -i victoria_park_dataset.rawlog. Timestamps are in a separate file.
- Running RawLogViewer failed on 'GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported'. This is a known problem, related with opencv.
- Removed libgtk-3-0, which deinstalled a lot of packages (including mrpt-apps). Installing mrpt-apps again reinstalled libgtk-3-0, and many others:
libgtk-3-0 libgtk-3-bin libmrpt-hmtslam1.9 libmrpt-hwdrivers1.9
libmrpt-slam1.9 libmrpt-vision1.9 libopencv-calib3d3.2 libopencv-contrib3.2
libopencv-features2d3.2 libopencv-highgui3.2 libopencv-objdetect3.2
libopencv-stitching3.2 libopencv-videostab3.2 mrpt-apps
- Did rawlog-edit --list-timestamps -i victoria_park_dataset.rawlog, but all observations were of class CObservation2DRangeScan. Yet, strings showed that the file also contains CActionCollection, CActionRobotMovement2D and CPose2D.
September 19, 2018
- The authors have published their IEKF code on github.
- The code is based on An EKF-SLAM algorithm with consistency properties.
- Running simulations/main.m gives the scenario from Fig. 1: a robot driving a circular path. The plots of Fig. 2 and 3 are also reproduced, although the simulation continues for a longer time, and slightly different patterns are visible in Fig 2 and 3b. Receive many warnings for (nearly) singular matrices.
- Victoria_park also has a main, which loads experiment.mat. This file contains 151 landmarks, 6969 timesteps, observations z (3x151x6969). GroundTruth (x,y) are in xR_true(1,:) and xR_true(2,:), plot in Yellow. The Kalman filter Motion Model is fed with v_m(:,k) (2x6969) and omega_m (1x6969). The Sensor model is fed with z(:,:,k+1).
- The result is only one figure, which reproduces partly Fig. 10b of Invariant Kalman Filtering.
- Looked at Victoria Park in 2012, but had troubles to interpret the data.
- Never run Victoria Park, although a lot of indoor datasets were tried in 2007.
- The Victoria Park dataset is still available
- The dataset contains the raw laser measurements and DetecTrees.m to get the landmarks form the laser data.
- The dataset contains slightly more datapoints (7249).
- Running viewLsr failed on an Error using bitcmp (must be integer) in line 32. Repaired it with 'uint16' instead of 16. Still, plot('erasemode') is also no longer supported. Instead, the documentation suggests to use drawnow.
- Looked at UvARescue. LineParsers.vb contains a ParseMatlabDataLine, where a a single line hold a pose estimate and a range scan, seperated by spaces. Found in baslamet/scanmatchers experiments a scan?.dat with two lines, seperated by commas.
- Downloaded the ASCII files from Victoria Park. Yet, that are four separate files, which should be read together. I have done that before in UvARescue, should look for the right format. Yet, the motion updates are Velocity (m/s) Steering (rads), the scans LASER (rad, 361 points).
- In the logdriver 4 different files can be read, with While (logtime > sonartime OrElse logtime > instime OrElse logtime > camtime). Yet, 2011-Release didn't compile, so I should check other versions (experimental?). No, 2011 contains the latest commits.
- Last commit seems to be Kurt3D on April 2014 and the GETSTARTPOSES request March 2015
- Commiting of 2011, works, when specifying manually the order (first agent, than UsarCommander).
- Contains the Sensor_management.txt file the measurements of the Watson Unit (3 accel / 3 gyros / 2 inclinometers) or the information of the vehicle (Gear?)
- This site contains a nice collection of datasets, including quite a few from Malaga.
September 17, 2018
- With Iris you could find all relevant literature based on an abstract.
- Searching for literature related to Comparison of Mapping Methods
didn't gave interesting results.
- Instead, searching for literature related to Invariant Kalman Filters
gave some suggestions, such as:
- To my own publication, only self-reference and two Spanish citations.
September 12, 2018
Previous Labbook