Giter Club home page Giter Club logo

conorhennessy / slam-course-solutions Goto Github PK

View Code? Open in Web Editor NEW
72.0 2.0 18.0 191.98 MB

Solutions to assignments for Robot Mapping / SLAM Course WS 2013/14, Uni of Freiburg. Please see to linked website and README for YouTube videos & further resources.

Home Page: http://ais.informatik.uni-freiburg.de/teaching/ws13/mapping/index_en.php

License: GNU General Public License v3.0

MATLAB 100.00%
slam robot-mapping slam-algorithms slam-problem lecture mobile-robotics

slam-course-solutions's Introduction

slam-course-solutions's People

Contributors

conorhennessy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

slam-course-solutions's Issues

s4_ekf_slam. The Jacobian in the prediction step is wrong.

mu(1, 1) = mu(1) + (u.t * cos(mu(3) + u.r1));
mu(2, 1) = mu(2) + (u.t * sin(mu(3) + u.r1));
mu(3, 1) = mu(3) + (u.r1 + u.r2);
mu(3, 1) = normalize_angle(mu(3, 1));

% Compute the 3x3 Jacobian Gx of the motion model
Gx = eye(3, 3);
Gx(1, 3) = -u.t * cos(mu(3) + u.r1);
Gx(2, 3) = u.t * sin(mu(3) + u.r1);

Jacobian should be

Gx = eye(3, 3);
Gx(1, 3) = -u.t * sin(mu(3) + u.r1);
Gx(2, 3) = u.t * cos(mu(3) + u.r1);

Problems with reading data for `s10_graph_based_slam`

Data in s10_graph_based_slam seems to have some problems, I can not load in Matlab.

Error using load
Unknown text on line number 1 of ASCII file ../data/simulation-pose-pose.dat
"MATLAB".

Error in lsSLAM (line 11)
load('../data/simulation-pose-pose.dat')

Thank you

Errors in `motion_command.m` and `main.m` for `s1_octave_tutorial`

In s1_octave_tutorial,

  1. When I run motion_command.m, I get the following error:
>> motion_command
Not enough input arguments.

Error in motion_command (line 8)
x(1) = x(1) + u.t * cos(normalize_angle(x(3)) + u.r1);
  1. I edited the main.m script since one for loop end wasn't defined.
    When I tried running, I got the following error:
>> main
File: read_world.m Line: 19 Column: 11
Invalid use of operator.

Error in main (line 15)
landmarks = read_world('../data/world.dat');

Possible FastSLAM bug in the correction step - importance weight

Hi! Thanks for posting these solutions. Absolutely fantastic to see these alongside the course. I have a question with regards to the importance weight for a particle in FastSLAM. Specifically in your correction_step.m file:

% TODO: compute the likelihood of this observation, multiply with the former weight
%       to account for observing several features in one time step
% Weight, this corresponds to line 13 of slide 44 of FAST SLAM lecture (12)
particles(i).weight = 1/sqrt(det(2 * pi * Q)) * exp(-0.5 * (Z_diff)' * inv(Q) * Z_diff);

The note specifically mentions multiplying with the former weight. You are not doing that here. I believe this should be:

particles(i).weight = particles(i).weight * 1/sqrt(det(2 * pi * Q)) * exp(-0.5 * (Z_diff)' * inv(Q) * Z_diff);

If not, can you explain why this is not so? As a reference, @kiran-mohan's reference implementation does do this: https://github.com/kiran-mohan/SLAM-Algorithms-Octave/blob/master/6_FastSLAM/octave/correction_step.m#L73

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.