Coder Social home page Coder Social logo

gzmaze's Introduction

What is gzmaze?

gzmaze is an attempt at flexing the power of Gazebo The main goal here is to generate a maze in gazebo from a text file.

How it works

There are two components, a GUI overlay plugin and a world plugin.

GUI overlay

Gazebo has a tutorial on simple GUI overlays. I followed that tutorial, and extended it slightly. There are two buttons and a textedit. When the buttons are clicked, a message is published to the topic ~/maze/regenerate

World plugin

This is where the meat of the code is. We subscribe to ~/maze/regenerate and build mazes using gazebo messages. This plugin took example from the gazebo Model editor. Essentially, it uses gazebo messages to construct Collision and Links. There links are then converted to and sdf::ElementPtr via the convenient funtions VisualToSDF and CollisionToSDF.

Requirements

This code user to work with gazebo9, and but I've recently tested it with gazebo 11

cmake 2.8 Gazebo

To get the dependencies, you can probably just install from apt

Building

mkdir build
cd build
cmake .. && make

Running

Be sure to add the following to your .gazebo/gui.ini file

    [overlay_plugins]
    filenames=libregenerate_widget.so
source setup.sh #this will setup the environment variables you need and run gazebo
gazebo --verbose gzmaze.world

The input files

look at sample_maze.mz for an example

gzmaze's People

Contributors

petermitrano 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.