Wishlist
- Next year, the last two weeks in the robolab (but not at the same time for both groups).
- SetWalkingVelocity is depreciated since NAOqi 1.22. Should use MoveTo instead.
Started Labbook 2019.
November 13, 2018
- Strange enough, my from naoqi import ALProxy doesn't work anymore (even with the bash-commands as proposed). Installed yesterday pip2 install qi, so maybe this is the origin of the problem (yesterday I didn't execute the bash-commands). Moved all aldebaran qi libraries to tmp, that doesn't help. Could reproduce the error in python2. Without the tmp I get a core-dump, with I get an error in python2.7/dist-packages/qi/__init__.py. First import qi works, adding pynaoqi to the path, and importing naoqi gave again a core-dump.
- The dataset recorded by Caitlin et al can be found here
October 14, 2018
- Jerome and Arend indicated that only 54% of the measurements have rho is smaller than 2, but that if the decay is quite slow. To use 80% of the measurements a rho as large as 33 is needed. They switched the validation gate off.
October 11, 2018
- Removed movies that are in my ProbabilisticRobotics directory from Presentations\Videos. Still have RoleBasedExploration3 both in Videos and Videos\dehoog.
October 9, 2018
October 8, 2018
- Displayed the captured image with:
import matplotlib.pyplot as plt
RGB_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
plt.imshow(RGB_image);
plt.show()
October 21, 2018
- Jana Kosecka's continues in her 2018 course after Chapter 5 from Siegwart to Thrun. No Probabilistic Robotics homework anymore.
- The first exercise of the locomotion homework of Freiburg 2017 is very illustrative, should include it in next year locomotion lecture.
October 7, 2018
October 6, 2018
- The commmand start_proxyies worked:
video_device, capture_device = create_video_connection(IP, PORT, 1)
motion_proxy, posture_proxy, memory_proxy = start_proxies()
- The command dict = load_motion("wave") because No such file or directory: 'animations/wave.json'.
- The command motion_proxy.post.rest() works.
- Trying to save the image, but get the error: cannot reshape array of size 230400 into shape (480,640,3). Reshaping (240,320,3) works, unfortunately it is the bottom camera:
- Changed the parameter from create_video_connection(IP, PORT, 0) from 1 to 0, which gave the image from the top-camera:
October 5, 2018
- Followed the instructions from ipython and installed a python2 kernel with the commands sudo python2 -m pip install ipykernel;
python2 -m ipykernel install --user. Now in the File menu the option for a new Python2 and Python3 are available. Created an empty Python2 notebook and checked the version with command import sys;print (sys.version). Received the answer:
2.7.15rc1 (default, Apr 15 2018, 21:51:34)
[GCC 7.3.0]:
Hope that it is no problem that this is not 32bits.
- Downloaded the 64bits Python NAOqi SDK (version 2.1.4.13).
October 4, 2018
- The following code works to create Fx with numpy:
n_landmarks = 6
Fx = np.zeros((3, 2*n_landmarks))
Fx[0:3,0:3] = np.eye(3)
print(Fx)
xs=np.arange(3)
print(xs)
print(xs[np.newaxis, :].T)
ux = Fx.T @ xs[np.newaxis, :].T
print(ux.T)
- On the page of 60 year DARPA, I saw prototype of single chip LiDAR on a drone.
October 3, 2018
- The GraphSLAM presentation crashed on the video's, probably because the Windows Player was using the Graphical card for the external display. I had tested before the lecture, and that was running OK (even when I connected the external display halfway).
- Jerome indicated that delta T is not in the provided code, while the timesteps in the logfile are not constant. In Table 7.2 the delta T is used in line 4 (matrix V_t) and line 6.
- Renzo had a question on Table 10.1, line 3. The transpose of F_x doesn't give the right dimension to get a vector again. Checked it in the Matlab code, and it seems that there is no error in Table 10.1:
Fx = zeros(3,dim)
Fx(1:3,1:3) = eye(3)
x_ = x_ + Fx' * matrix(1,3).
- Found out that numpy used matrix.T for a transpose, but that it keeps a vector the same with vector.T. A change in vector-dimension has to be explicitly requested.
- Finished Exercise 1a-1e from Using Python for research, to enhance my numpy skills. Unfortunately Exercise 1a-1e was about dictonaries. Should have watched the 8 minutes video about dictonaries.
October 2, 2018
- Added a summary of what happens in the four steps the SEIF algorithm into the slides. Now I used the full 40 minutes.
September 30, 2018
- The Particle filters where introduced by Kevin Murphy at NIPS. Could look if I can make an exam question from his paper. In his paper he uses as map a small grid with four labels (closed doors, open doors, walls and free space).
- Searched at Juan Nieto's page for the vic-nege.avi video, but I could not find it on the ASL playlist.
- Checked Jose Guivant's page. Several old video's on YouTube channel, but not FastSLAM. Nice is SLAM CEKF VictoriaPark.
- Looked further at the Handbook of Robotics video's.
- Usefull for EKF-SLAM is MIT court.
September 25, 2018
- The visualization of the fifthmark dataset is better, although the turn from mark four (-1000,0) to mark five (-1000,500) is not seen:
- The visualization of the seventhmark dataset I had to increase the scale to 20x20m:
- Tried start at third mark and sixth mark, but that was still a mess:
-
- Looked at solutions from last year. Luca and Fabrizio tried both a velocity and an odometry model. The odometry model brought considerable improvements with relation to the stability. Yet, velocity with M is 10^-3 gave the best trajectory.
- According to Jonas and Tim the Aibo is back at (0,0) at t=1460 and t=2400. They implemented also an odometry model and code for initialization of the landmarks.
- Nedko and Athanasios spent a lot of time to find the optimal M. They found that the optimal M was 0.3 \delta_trans (even for rot_1 and rot_2).
-
- Jerome had the remark that in the current implementation the observed landmarks were averaged with the predictions of the non-observed landmarks.
- Looked at the ekf_std of Silvere Bonnabel.
- Emiel asked for the odometry model. According to him the Jacobian is equal to the Velocity model.
September 24, 2018
- Reading in the full dataset with python failed, because there is somewhere an empty line (which I couldn't find - also not with /^$).
- The visualization of the full dataset is awefull:
September 23, 2018
- Wolfram updated his slides considerably from the ones of Stanford 2009. Much more details about the two Grid update rules.
- Found the Freiburg Building 106 video at Cyrill Stachniss video page.
September 18, 2018
- The article A Probabilistic Online Mapping Algorithmfor Teams of Mobile Robots is very nice, because it shows the rational behind the Particle Filters. The method uses likelihood fields for scan matching by following the gradient, but uses the gradient along the different proposals of the location to do loop closure.
- In this article Particle Filter is still a new concept, which is compared with the condensation algorithm in computer vision. It is cited 2K6 times.
- Another high-impact article Kernel-Based Object Tracking, refers to the condensation algorithm with [31] in the following way: "The most general
class of filters is represented by particle filters [45], also
called bootstrap filters [31], which are based on Monte Carlo
integration methods."
- Wrong numbering, the condensation algorithm is [40]: "Particle filtering
was first introduced, in vision, as the Condensation algorithm
by Isard and Blake [40]."
- Ref. [31] is N. Gordon, D. Salmond, and A. Smith, “A Novel Approach to Non-Linear and Non-Gaussian Bayesian State Estimation,”
IEE Proc.-F, vol. 140, pp. 107-113, 1993.
- Ref. [45] is G. Kitagawa, “Non-Gaussian State-Space Modeling of Nonstationary Time Series”, J. Am. Statistical Assoc., vol. 82, pp. 1032- 1063, 1987. This article is cited 1224x. Kitagawa modelled the shocks of a mini-earthquake at Hokkaido, Japan.
- Still, Kitagawa is not the origin that Sebastian Thrun claims:
D.B. Rubin, "Using the SIR Algorithm to simulate posterior distributions", in Bayesian Statistics 3, Oxford University Press, 1988. Couldn't find the article, but it is 745x cited.
September 17, 2018
- Made new Motion Model lecture from Stanford CS226. Nothing happens with the animation of Scan Matching based on the likelihood field. Looking at Sebastian Thrun's video page if I can find that movie.
- The video seems to be the general mapping videos from General Mapping. The recording from Wean's hall is not described in Monte carlo localization with mixture proposal distribution. Better entrance is A Probabilistic Online Mapping Algorithmfor Teams of Mobile Robots, which also covers the likelihood fields.
- In the paper, Thrun points to Russell and Norvig for Probabilistic Inference, which is covered in Chapter 13 and 14.
- Found not only the map of CMU's Wean Hall, but also the dataset (as part of Warm-Up assignment) recorded by Michael Montemerlo.
- Project Tango is now part of ARCore, which has an UnReal plugin, to create an augmented world for your phone (Huawei P20 Pro is supported).
- Made this 3D map of the RoboLab with ARCore:
- Project Tango is stopped in March 2018, the old website is available via the Wayback machine. Project Tango worked only with a Developer Tablet, with an additional wide-angle camera and depth sensing camera.
September 12, 2018
- Reused some of Siegwart's slides from 2010 (stored in C:\onderwijs\AutonomousMobileRobots\ETHZ\AMR_lecture_slides.zip).
September 12, 2018
- I didn't needed the full two hours for the two presentations of Chapter 4. For the discrete filter I expected that, for the particle filter I expected that I needed 45-60, but I only used 30.
- The image on slide 4 and slide 49 point to the movie sonar-floor-global.avi, with is equal to sca80a0. Unfortunatelly, Microsoft doesn't support the codec, so it can only be shown with vlc. Same is truth for slide 59, which is Sampling2.avi. The movie at slide 72 is sca80e1.avi. All video's are available from Sebastian Thrun; section Monte Carlo Localization.
- In the 2nd assignment R is given as [[0,0],[0,1]], but this means that RI = np.linalg.inv(R) doesn't work because R is singular. A solution is a small a_11, but we had this problem also last year.
- Some students also go astray with a state vector including the acceleration.
September 11, 2018
- Had yesterday a question about using higher order Taylor expansions. Question was answered before on stack exchange. Quick answer, "you no longer have Gaussian statistics, so some of the standard Kalman filter equations (which are derived using Gaussianity) no longer hold strictly true.you no longer have Gaussian statistics, so some of the standard Kalman filter equations (which are derived using Gaussianity) no longer hold strictly true."
- Added some video's to Xavier. I am looking for a good picture of the topologic map. Sebastian Thrun worked on Xavier, but he created (in 1997) a Explanation-Based Neural Net which outperformed a backpropagation-based neural net .
September 6, 2018
September 5, 2018
- Good question today about the Kalman gain. It is not only a weight, it also contains the transformation from observation space to state space. If matrix C has dimension nxk, the Kalman Gain has dimension kxn (see also Swarthmore).
The nominator is dimension nxn * nxk, the denominator is dimension (kxn * nxn * nxk + kxk) is k*k, so it is clearly a matrix, no scalar.
- Gave this Explanation of the Exercise at the practical:
- With Assignment 2.8.4, most students try to solve P(z) by integrating. I give them the hint to use Bayes rule (p(x|z)p(z) = p(z|x)p(x)). Another hint I gave was to get p(z) you have to rewrite the exponent so that you get (z-f(x_init), while p(x|z) has to be rewriten as (x - f(x_init,z)).
September 2, 2018
- My home-computer can still read Freecom, so I made a backup at staff. Directory also contains personal information and solutions, so moved it from my public web-directory.
August 27, 2018
- From 2.8.1-2.8.3 I have the solutions, nice to make it Jupyter notebook for week 1.
- Couldn't find a recording of FastSLAM from Wolfram or Cyrill.
August 23, 2018
- The following Basics of Classes mainly repeats the previous lesson. Prowd on my a super(ElectricCar, self).__init__(model,color,mpg) solution.
August 22, 2018
- Finished Introduction to Classes, next we will work with the class Car.
- The first Perception class of 2018 is given by Marina Kollmitz, a PhD-student. The one of 2017 is not recorded, the one of 2016 is given by Michael Ruhnke or Bastian Steder. Yet, in 2015 the same lecturer seems to be Diego Tipaldi. In 2014 the lecture is given by Wolfram, but first half is still motion models. In 2013 Cyrill can do it in one take.
- The 2018 lecture on Kalman Filters is given by Lukas Luft. The 2016 version is given by Wolfram.
August 21, 2018
- First installed jupyter-core, later followed by jupyter-notebook at the Ubuntu 18.04 partition of nb-dual. Tried the first assignment, but code failed on missing matplotlib library.
- Installed pip, followed by sudo -H python3 -mpip install -U pip, and the packages -U matplotlib, -U scipy, -U numpy. Now the assignment runs.
- Finished Advanced Topics in Python, next is the introduction to Classes.
August 17, 2018
August 16, 2018
- Installed python at my bash on nb-dual. Followed instructions and added the pip-module to python.
- With pip, I followed instructions (but not the Anaconda recommendation) and installed jupyter (both for python2 and python3).
- jupyter notebook doesn't work together with elinks, so downloaded VcXsrv (version 1.20).
- Followed suggestions and installed google-chrome.
August 15, 2018
- Dieter Fox is on partial leave with NVidia research. Not clear when this partial leave is finished. Anyway, no new probabilistic robotics class since 2016.
- Giorgio Grisitti has given the course also in Rome, with a number of video I should check. This is first page.
- Giorgio also has a gitlab with C++ and Octave exercises.
- No update available from Choregraphe 2.8.2.15-linux64 from Aldebaran resources. That is the same version available at the RoboCup in Montreal, last June.
- I was on 75% with CodeAcademy. Next is chapter 10 (Advanced Topics).
- Now I am at 80%, next topic is Bitwise Operators.
June 27, 2018
Previous Labbooks