All Projects → MatthewVerbryke → gazebo_terrain

MatthewVerbryke / gazebo_terrain

Licence: BSD-3-Clause license
Terrain model generator for Gazebo

Programming Languages

python
139335 projects - #7 most used programming language
CMake
9771 projects
shell
77523 projects

Labels

Projects that are alternatives of or similar to gazebo terrain

Autonomous-Parking-System
Automatic Parking is an autonomous car maneuvering system (part of ADAS) that moves a vehicle from a traffic lane into a parking spot to perform parallel parking. The automatic parking system aims to enhance the comfort and safety of driving in constrained environments where much attention and experience is required to steer the car. The parking…
Stars: ✭ 39 (+2.63%)
Mutual labels:  gazebo
aws-robomaker-bookstore-world
A bookstore world with shelving and tables for AWS RoboMaker and Gazebo simulations
Stars: ✭ 46 (+21.05%)
Mutual labels:  gazebo
DDPG
End to End Mobile Robot Navigation using DDPG (Continuous Control with Deep Reinforcement Learning) based on Tensorflow + Gazebo
Stars: ✭ 41 (+7.89%)
Mutual labels:  gazebo
ZeroSimROSUnity
Robotic simulation in Unity with ROS integration.
Stars: ✭ 112 (+194.74%)
Mutual labels:  gazebo
iq sim
example gazebo ardupilot simulation package
Stars: ✭ 60 (+57.89%)
Mutual labels:  gazebo
motoman project
Repository for Motoman ROS applications
Stars: ✭ 50 (+31.58%)
Mutual labels:  gazebo
diffbot
DiffBot is an autonomous 2wd differential drive robot using ROS Noetic on a Raspberry Pi 4 B. With its SLAMTEC Lidar and the ROS Control hardware interface it's capable of navigating in an environment using the ROS Navigation stack and making use of SLAM algorithms to create maps of unknown environments.
Stars: ✭ 172 (+352.63%)
Mutual labels:  gazebo
drl grasping
Deep Reinforcement Learning for Robotic Grasping from Octrees
Stars: ✭ 160 (+321.05%)
Mutual labels:  gazebo
pcg gazebo
Procedural Generation for Gazebo
Stars: ✭ 50 (+31.58%)
Mutual labels:  gazebo
human-gazebo
URDF models of humans created to perform human robot interaction experiments.
Stars: ✭ 57 (+50%)
Mutual labels:  gazebo
curio
ROS packages to control a version of Roger Chen's Sawppy Rover.
Stars: ✭ 38 (+0%)
Mutual labels:  gazebo
motion-planner-reinforcement-learning
End to end motion planner using Deep Deterministic Policy Gradient (DDPG) in gazebo
Stars: ✭ 99 (+160.53%)
Mutual labels:  gazebo
ign-sensors
Provides numerous sensor models designed to generate realistic data from simulation environments.
Stars: ✭ 30 (-21.05%)
Mutual labels:  gazebo
pcg gazebo pkgs
[DEPRECATED] Procedural generation library for Gazebo (please refer to https://github.com/boschresearch/pcg_gazebo)
Stars: ✭ 39 (+2.63%)
Mutual labels:  gazebo
aws-robomaker-hospital-world
This Gazebo world is well suited for organizations who are building and testing robot applications in hospitals.
Stars: ✭ 114 (+200%)
Mutual labels:  gazebo
dockerfiles
Dockerfiles I use for development
Stars: ✭ 64 (+68.42%)
Mutual labels:  gazebo
RobotCreator
FreeCAD Workbench for URDF & SDF and Gazebo
Stars: ✭ 43 (+13.16%)
Mutual labels:  gazebo
my ROS mobile robot
Differential drive mobile robot using ROS.
Stars: ✭ 123 (+223.68%)
Mutual labels:  gazebo
arm
Robot arm simulation using Gazebo, ROS Control and MoveIt.
Stars: ✭ 79 (+107.89%)
Mutual labels:  gazebo
gazebo cars
Gazebo Models for different types of cars
Stars: ✭ 31 (-18.42%)
Mutual labels:  gazebo

Automatic Gazebo Terrain Model Generator

Summary

This repository contains a simple python-based program that can generate a Gazebo terrain model from a greyscale PNG image input. The program creates the necessary files for the model based on user input, while also resizing and reformating the given heightmap image to ensure compatability with Gazebo. (Based on this tutorial).

Requirements

The program requires the following to function:

This software was developed and tested using

  • Ubuntu 18.04 LTS
  • ROS Melodic
  • Gazebo 9.0.0
  • Python 3.6.9

Instructions

Installation

Clone the repository into your catkin workspace src directory and then build the workspace using catkin_make.

Heightmap

There are a few requirements for the heightmap image given to the program:

  1. The image must be grayscale with no additional channels (such as an alpha channel)
  2. The heightmap should be a .png
  3. The heightmap image must be square, i.e. The height and width, in number of pixels, must be equal.

Launching the GUI

In order to start the program through the main GUI, use:

    rosrun gazebo_terrain launch_gui.sh

Model Creation

To create a new model, click the Create New Model button. This will allow you to select a heightmap and fill values into the configuration entries. Once a heightmap image is selected using the file dialog, the GUI will display the Gazebo compatable version of it. At minimum, a model name, rescaled side length, side dimension, and terrain height range are required. Once finished inputing data, press Generate Model to create the model, as well as corrosponding Gazebo launch and world files.

NOTE: The rescaled side length must be an integer number in the series l = 2^n+1, n = 1,2,3,.... Appropriate sizes therefore include 3, 5, 9, 17, and so on.

Model Deletion

To delete an existing model click the Delete Existing Model, which will bring up a popup to enter the name of the model you want to delete. Once selected, the program will list the files to be deleted before prompting the user to confirm or cancel the operation.

Testing Models

In order to test a newly generated model use the generated launch file:

    roslaunch gazebo_terrain $YOUR_MODEL_NAME$.launch

The model's world and launch files (in the world directory and launch directory, respectively) can be called by other programs within the same catkin workspace.

Notes

  • I have managed to get up to 8km x 8km terrains to spawn without issue on my computer
  • The image output should be an unsigned 8-bit greyscale image. Conversion from 16-bit to 8-bit images are confirmed to work, but it should work with larger grayscales (this still needs to be tested).
  • Based on issues others have been having, it appears that you need Gazebo 7.9 or higher for heightmap insertion to work (may work with versions as low as 7.7).

License

This program is licensed under the BSD 3-clause license, as presented in the LICENSE file

Program is Copyright (c) University of Cincinnati

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