Coder Social home page Coder Social logo

aruco_gazebo_gen's Introduction

ArUco generator for Gazebo

A small utility that converts an aruco_pose-compatible map to a Gazebo world, creating all required ArUco models in the process.

Usage

Clone this repository, then run

python3 ./generator.py <path/to/your/map.txt>

in the repository folder.

The script will generate all required ArUco marker models and place them in their respective folders (for example, ArUco marker 42 will be placed in aruco_42 folder). Additionally, the script will generate the aruco_world.world file with references to the newly created models.

Move the marker folders to your ${HOME}/.gazebo/models folder (create it if it's missing), then run

gazebo ./aruco_world.world

Hacking

If you wish to add ArUco models to an existing .world file, copy your .world file to templates/world_template.world, open it in a text editor and add

    $model_inclusions

where you wish the model inclusions to be placed. A good example would be after the <world> tag:

  <world name="default">
    $model_inclusions
    <include>
      <uri>model://sun</uri>
    </include>
    <!-- more descriptions -->

Shortcomings

Since this is a quick and dirty way to generate worlds, there are multiple issues with it:

  • Currently the generator expects to be executed from the source checkout directory;
  • The generator is hardcoded to use the DICT_4X4_1000 ArUco dictionary;
  • The generator has no way of specifying the output directory for markers and .world files;
  • The generator does not validate the map; as such, you can generate worlds from incorrect maps (with duplicate markers, for instance);
  • In fact, if you try to generate several markers with the same ID but different sizes, only the marker with the last specified size will be generated;
  • There are probably a lot more bugs here.

Consider this software a "proof of concept" quality.

aruco_gazebo_gen's People

Contributors

sfalexrog avatar

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.