Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Kinect-AR Robot Navigation and Localization
==========================
Kinect and fiducial-based mobile robot navigation and localization system written using libfreenect, OpenCV, the Player framework, and the ARToolkitPlus library.
Created by Drew Stebbins as part of an independent study with Professor Zack Butler at the Rochester Institute of Technology.
This software enables a mobile robot to perform visual marker-based localization as well as waypoint-based navigation and obstacle avoidance with the Microsoft Kinect sensor.
Localization
------------
ARToolkitPlus is used to generate ID-based planar visual markers and perform camera pose reconstruction based on monocular views of each marker.
The global coordinates of each marker are supplied to the software upon startup in a JSON file along with a set of waypoint descriptions. When the robot identifies a marker,
it combines the marker location information with the relative camera pose reconstruction to construct a strong estimate for the pose of the robot in 2D (and eventually 3D) space.
Using this pose estimate along with odometry information and optionally a floor plan of its environment, a particle filter method is used to produce a running estimate (and
confidence value) for the robot's current pose.
Navigation
----------
The goal of this system is to allow a robot to navigate reliably within an indoor environment for which a map may or may not be available.
To do this, though a floor plan map (outlining all walls and doors) is not required, the user must specify a set of waypoints and their line-of-sight adjacencies.
This enables the robot to perform shortest-path searches on the waypoint graph, and then simply execute "goto"-style subroutines to traverse each waypoint. 
To avoid obstacles when traveling between waypoints, a potential fields approach is implemented using the Kinect sensor's depth camera.
Dependencies
------------
* pthreads
* json-spirit: http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented (and in most package repositories)
* libfreenect: https://github.com/OpenKinect/libfreenect
* OpenCV 2.3+ (probably works with 2.x; untested): http://code.opencv.org/
* player 3.0.2: http://playerstage.sourceforge.net/ 
* Augmented Reality Toolkit Plus: https://launchpad.net/artoolkitplus
Building
--------
In top-level project directory:
mkdir build
cd build
cmake ../
make
sudo make install
Usage
-----
TODO: put instructions for final library API here.
Your Player robot must support odometry via the Position2DProxy object.

About

Kinect and fiducial-based mobile robot navigation and localization system; written using libfreenect, the Player framework, and the Augmented Reality Toolkit Plus.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /