Giter VIP home page Giter VIP logo

ptamrosbinaryfeaturerelocalization's Introduction

PTAM-GPL with ROS Integration and Binary Feature Relocalization

This project adds two features to the original PTAM-GPL (https://github.com/Oxford-PTAM/PTAM-GPL.git) release:

  • Integration of a fast relocalization mechanism based on binary features as described in the following paper: Fast Relocalization For Visual Odometry Using Binary Features (Julian Straub, Sebastian Hilsenbeck, Georg Schroth, Robert Huitl, Andreas Möller, Eckehard Steinbach), In IEEE International Conference on Image Processing (ICIP), 2013. Download from http://www.jstraub.de/download/straub2013fastRelocalization.pdf
  • Integration with the Robot Operating System (ROS) http://www.ros.org/. This among other features allows replaying of recorded videos as rosbags.

What is PTAM

PTAM is a monocular SLAM (Simultaneous Localization and Mapping) system useful for real-time 6-DOF camera tracking in small scenes. It was originally developed as a research system in the Active Vision Laboratory of the University of Oxford, as described in the following papers:

  • Georg Klein and David Murray, "Parallel Tracking and Mapping for Small AR Workspaces", Proc. ISMAR 2007
  • Georg Klein and David Murray, "Improving the Agility of Keyframe-based SLAM", Proc. ECCV 2008

PTAM (Parallel Tracking and Mapping) released under GPLv3 and was obtain from https://github.com/Oxford-PTAM/PTAM-GPL.git see http://www.robots.ox.ac.uk/~gk/PTAM/ for version history (this code uses the GPL release of version v1.0-r114)

Installation of Necessary 3rd-party Code

Compiling PTAM-GPL with ROS Integration

  • export NAVVIS_WORKSPACE=/path/to/parent/folder/ to point to the parent folder of ptamBriefRelocalizeStandalone and 3rdparty
  • Compile the roswrapper:
    cd PTAM; 
    ./makeRos.sh; 
    cd ../
    
  • Compile PTAM itself:
    cd PTAM/build; 
    cmake ..; 
    make install; 
    cd ../../;
    
  • see ./CompilationNotes.txt for more information about compiling PTAM

Running PTAM-GPL with Binary Feature Relocalization

  • set the LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NAVVIS_WORKSPACE/3rdparty/libcvd:$NAVVIS_WORKSPACE/3rdparty/gvars3
    
  • use the script ./launchROS_PTAM.sh to run PTAM with relocalization on a rosbag (see ./launchROS_PTAM.sh -h for all options)
  • PTAM-GPL-ROS listens to ros topic 'camera/image_raw'

ptamrosbinaryfeaturerelocalization's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

ptamrosbinaryfeaturerelocalization's Issues

Couldnt open one of the logfiles!

Hi, @jstraub ,

I followed the steps in README, but it didn't work out.

I'v installed the 3rd-party and compiled the ptam ros wrapper/ library and PTAM

I changed PTAM-GPL-ROS listened to ros topic 'usb_cam/image_raw'

Here comes the result:

Welcome to PTAM


Parallel tracking and mapping for Small AR workspaces
Copyright (C) Isis Innovation Limited 2008

Parsing settings.cfg ....


first argument: number of frames to skip until next one is handed to PTAM
second argument: number of frames to between forced relocalization
third argument: last frame that will be fed into PTAM


Skipping 0 frames before one is used.
Forcing relocalization every 0 frames using relocalization-mechanism 0
and I am waiting 0ms after relocalisation has been completed, before tracking is resumed
Last Frame: 9999
CV_SSE2 defined
ros_init called
subscribeToCam called
end testing
Couldnt open one of the logfiles!

Thanks a lot for the help,

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.