Coder Social home page Coder Social logo

slamtb's Introduction

SLAM Toolbox for Matlab.
========================

This git repository provides EKF-SLAM and graph-SLAM toolboxes.


I. Copyright and license.
=========================
(c) 2007, 2008, 2009, 2010  Joan Sola  @ LAAS-CNRS; 
(c) 2010, 2011, 2012, 2013  Joan Sola
(c) 2014, 2015, 2016--2018  Joan Sola  @ IRI-UPC-CSIC; 
(c) 2009  Joan Sola, David Marquez, Jean Marie Codol,
          Aurelien Gonzalez and Teresa Vidal-Calleja, @ LAAS-CNRS;
(c) 2018  Marija Popovic @ ETH, thanks for the ellipse drawing in graph SLAM 

Maintained by Joan Sola
Please write feedback, suggestions and bugs to:

    [email protected]

or use the GitHub web tools.

Published under GPL license. See COPYING.txt. 


II. Giving credit
=================

In addition to the GPL license, users should consider, in their scientific 
communications :

A. acknowledging the use of this toolbox.

B. citing one of the papers of the authors: 

  - SOLA-ETAL-IJCV-11 "Impact of landmark parametrization on monocular EKF-SLAM with points and lines"
  - SOLA-ETAL-IROS-09 "Undelayed initialization of line segments in monocular SLAM"
  - SOLA-ETAL-TRO-08  "Fusing monocular information in multi-camera SLAM"
  - SOLA-ETAL-IROS-05 "Undelayed initialization in bearing only SLAM" 

appearing in the References section in the documentation.


III. Installation and quick usage.
==================================

To make it work, (1) open a terminal (for example, a linux terminal) and (2) start Matlab. Then follow these steps:

To use EKF-SLAM
-------------------

A. In the [Linux / MacOSX] terminal: 

  A.1. Get the source code,

        git clone git://github.com/joansola/slamtb.git

  A.2. Go to the toolbox 
        
        cd slamtb

  A.3. Select the EKF-SLAM project.

        git checkout ekf

B. In the Matlab command window:  

  B.1. Go to the toolbox 
        
        >> cd slamtb

  B.2. Add all subdirectories in slamtb/ to your Matlab path using the provided script: 
        
        >> slamrc

  B.3. Edit user data file, and enter the data of your experiment.

        >> edit userData.m.

  B.4. Run the main script
        
        >> slamtb.

  B.5. To develop methods, read first slamToolbox.pdf and guidelines.pdf. 


To use graph-SLAM
-------------------

A. In the [Linux / MacOSX] terminal: 

  A.1. Get the source code,

        git clone git://github.com/joansola/slamtb.git

  A.2. Go to the toolbox 
        
        cd slamtb

  A.3. Select the graph-SLAM project.

        git checkout graph

B. In the Matlab prompt:  

  B.1. Go to the toolbox 
        
        >> cd slamtb

  B.2. Add all subdirectories in slamtb/ to your Matlab path using the provided script: 
        
        >> slamrc

  B.3. Edit user data file, and enter the data of your experiment.

        >> edit userDataGraph.m

  B.4. Run the main script

        >> slamtb_graph

  B.5. To develop methods, read first slamToolbox.pdf and guidelines.pdf. 
     For graph-SLAM, read also courseSLAM.pdf.

Enjoy!

slamtb's People

Contributors

ellon avatar jmecodol avatar joansola 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slamtb's Issues

problems on double robots in graph

I am working on this program recent days, and I want to do some research on the graph slam. When I add a robot and also add a sonser on it, then I try to run slamtb_graph.m, it comes out a error which said

In solveGraphQR (line 60)
In solveGraph (line 16)
In slamtb_graph (line 236)
Warning: The matrix is singularly working with precision.
Wrong use atan2
The input must be a real number.
Error q2au (line 21)
         a = 2*atan2(n,s);
Error q2v (line 17)
     [a,u,A_q,U_q] = q2au(q);
Error qpose2vpose (line 14)
[v, V_q] = q2v(qp(4:7));
Error computeError (line 36)
         [Fac.err.z, Z_pq] = qpose2vpose(pq);
Error computeResidual (line 31)
     [Fac(fac), e, W] =
     computeError(Rob(rob),Sen(sen),Lmk(lmk),Obs(sen,lmk),Frm(frames),Fac(fac));
     Error solveGraphQR (line 75)
     [res, err_max] =
     computeResidual(Rob,Sen,Lmk,Obs,Frm,Fac);
Error solveGraph (line 16)
         [Rob,Sen,Lmk,Obs,Frm,Fac] =
         solveGraphQR(Rob,Sen,Lmk,Obs,Frm,Fac,Opt.solver);
         Error slamtb_graph (line 236)
         [Rob,Sen,Lmk,Obs,Frm,Fac] =
         solveGraph(Rob,Sen,Lmk,Obs,Frm,Fac,Opt);

I want to know why this happened?Thank you!

error in createLandmarks.m --Opt.map.lmkDSize

when I Run the main script >>slamtb
some error occured , in createLandmarks.m --line 23 : Lmk(lmk).state.dsize = Opt.map.lmkDSize;
but in userData.m --line 185 : Opt.map has no lmkDSize,
so is there a minor mistake? thanks : )

Check R2e

change pitch by this

e(1) = atan2(-_R(2,0), sqrt(_R(0,0)*_R(0,0) + _R(1,0)*_R(1,0)));

indices are 012 not 123

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.