All Projects → gonzalezsieira → Joctomap

gonzalezsieira / Joctomap

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

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Joctomap

Evo
Python package for the evaluation of odometry and SLAM
Stars: ✭ 1,373 (+12381.82%)
Mutual labels:  robotics, ros, mapping
Elevation mapping
Robot-centric elevation mapping for rough terrain navigation
Stars: ✭ 520 (+4627.27%)
Mutual labels:  robotics, ros, mapping
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+16954.55%)
Mutual labels:  robotics, ros, mapping
direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (+1736.36%)
Mutual labels:  robotics, mapping, ros
Autorally
Software for the AutoRally platform
Stars: ✭ 595 (+5309.09%)
Mutual labels:  robotics, ros
Iclient Javascript
Modern GIS Web Client for JavaScript, based on Leaflet\OpenLayers\MapboxGL-JS\Classic(iClient8C), enhanced with ECharts\D3\MapV etc. Contributed by SuperMap & community.
Stars: ✭ 593 (+5290.91%)
Mutual labels:  mapping, map
Voxblox
A library for flexible voxel-based mapping, mainly focusing on truncated and Euclidean signed distance fields.
Stars: ✭ 623 (+5563.64%)
Mutual labels:  robotics, mapping
Ardupilot
ArduPlane, ArduCopter, ArduRover, ArduSub source
Stars: ✭ 6,637 (+60236.36%)
Mutual labels:  robotics, ros
Cartographer
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Stars: ✭ 5,754 (+52209.09%)
Mutual labels:  robotics, mapping
Mapserver
Source code of the MapServer project. Please submit pull requests to the 'main' branch.
Stars: ✭ 693 (+6200%)
Mutual labels:  mapping, map
Ros best practices
Best practices, conventions, and tricks for ROS. Do you want to become a robotics master? Then consider graduating or working at the Robotics Systems Lab at ETH in Zürich!
Stars: ✭ 799 (+7163.64%)
Mutual labels:  robotics, ros
Roborts
An open source software stack for Real-Time Strategy research on mobile robots
Stars: ✭ 592 (+5281.82%)
Mutual labels:  robotics, ros
Champ
𓃡 Quadruped Robot based on MIT Cheetah I
Stars: ✭ 526 (+4681.82%)
Mutual labels:  robotics, ros
Linorobot
Autonomous ground robots (2WD, 4WD, Ackermann Steering, Mecanum Drive)
Stars: ✭ 598 (+5336.36%)
Mutual labels:  robotics, ros
Ros comm
ROS communications-related packages, including core client libraries (roscpp, rospy, roslisp) and graph introspection tools (rostopic, rosnode, rosservice, rosparam).
Stars: ✭ 525 (+4672.73%)
Mutual labels:  robotics, ros
Gibsonenv
Gibson Environments: Real-World Perception for Embodied Agents
Stars: ✭ 666 (+5954.55%)
Mutual labels:  robotics, ros
Behaviortree.cpp
Behavior Trees Library in C++. Batteries included.
Stars: ✭ 793 (+7109.09%)
Mutual labels:  robotics, ros
Fourth robot pkg
4号機(KIT-C4)用リポジトリ
Stars: ✭ 7 (-36.36%)
Mutual labels:  robotics, ros
Champ setup assistant
CHAMP Package Config Generator
Stars: ✭ 24 (+118.18%)
Mutual labels:  robotics, ros
Mapsui
Mapsui is a .NET Map component for WPF, Xamarin.Forms, Xamarin.Android, Xamarin.iOS and UWP
Stars: ✭ 447 (+3963.64%)
Mutual labels:  mapping, map

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].