GithubHelp home page GithubHelp logo

gonzalezsieira / joctomap Goto Github PK

View Code? Open in Web Editor NEW
13.0 4.0 5.0 10.36 MB

Java/Android wrapper for Octomap: an octree-based mapping library

License: Other

Shell 0.57% Java 13.94% CMake 4.76% C 4.53% C++ 75.87% Python 0.33%
octomap android mapping rosjava java java-wrapper library ros robotics map

joctomap's Introduction

Joctomap - A Java wrapper for Octomap

Octomap is a C++ framework to generate, update and manage 3D occupancy maps. These maps are multi-resolution and widely used in mapping and robotic applications, among others.

Joctomap is a wrapper for this mapping library which allows you to use it in Java/Android projects. It provides access to the main functionalities of Octomap, while retaining the structure and philosophy of the mapping library.

Functionalities

It allows using the main functions of Octomap in Java, but it also has several functionalities which might be interesting for planning and navigation problems, like:

  • Check collisions between circles and oriented rectangles and the obstacles in the map
  • Query the resolution, given a position in the map
  • Query which cells are occupied (and retrieve their positions or keys) within a bounding box
  • Build an adjacency map to easily retrieve the adjacent cells to a given one
  • Build an octree given an image in PPM (ASCII) format

Integration with ROS

Since March 26th, 2018, it is possible to serialize and deserialize octomap_msgs/Octomap messages used in ROS. Thus, it is possible to integrate Octomap in ROS applications written in Java and communicate with other nodes using Rosjava.

Image of ROS message

Build status

  • Branch 1.7.X Build Status
  • Branch 1.8.X Build Status
  • Branch 1.9.X Build Status

How do I use it?

Compiling Joctomap

This project depends on spatial-utils, a lightweight library for geometrical operations in cartesian coordinate systems. This library has to be compiled first:

git clone https://github.com/gonzalezsieira/spatial-utils
cd spatial-utils
mvn install

Joctomap is compatible for JDK1.6+. Compile it as follows:

git clone https://github.com/gonzalezsieira/joctomap
cd joctomap
mvn install -DreleaseType=Release -Djdk=$JDK_HOME
  • -DreleaseType can be Release or Debug according to your needs.
  • -Djdk must point to the directory where your JDK is installed. (e.g. /usr/lib/jvm/java-8-oracle)

Maven/Gradle

Afterwards you can import the generated jar file into your project or, if you use maven, add the following dependency:

<dependency>
    <groupId>es.usc.citius.lab</groupId>
    <artifactId>joctomap</artifactId>
</dependency>

For gradle, it would be:

compile 'es.usc.citius.lab:joctomap'

Documentation

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.