Skip to content

Using a shell script, creates various configurations of an Agility Lab world in Gazebo SDF depending on selections.

Notifications You must be signed in to change notification settings

usnistgov/gzaprsworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gazebo World Setup


This document gives a brief overview of how the worlds were built and then how to configure the World SDF file for Gazebo. Various models of the APRS laboratory are available, with configurable selections for versions, kitting models, robots, flags and the like.

Requirements

Working with this system setup:

  • Gazebo 7
  • Ros
  • Ubuntu 16.04

Installing

Clone the github repository. There is no build.

Running

Using the existing bash script, agilitylab.bash, which

cd bin
./agilitylab.bash

You should see a gnome terminalwith the following two terminals:

ROS Xterm

and

Gazebo XTerm

Gazebo will load slowly and eventually you will see the Agility Lab:

Gazebo Scene

CAD Modeling of the World

The very first step before creating SDF files was to create all the meshes to be used in our APRS virtual environment. As you know, STL encodes geometry information only, as triangle meshes and does not include material specification. On the other hand, COLLADA can encode 3D geometry as well as physics, shaders, kinematics, etc which was the reason that it was a great choice if we wanted custom material properties such as textures besides geometry. For our APRS simulation, our choice was mainly COLLADA format and we have pretty much used the meshes in the following link for our environment: http://data.nvision2.eecs.yorku.ca/3DGEMS/

For the walls and doors, we have created them in SketchUp and exported them as COLLADA file. For the camera sensor, we have used Gazebo’s built-in camera sensor model for capturing images. We had to set the pose of the sensor accordingly with respect to our camera model,

e.g.  <pose>0 -0.06 0 0 0 0</pose> 

in which the last three digits are for orientation. Then, we created SDF file in which we incorporated a sensor model and added the following code in the world file:

<model name="motoman_camera">
        <include>
            <static>true</static>
            <uri>model://motoman_camera_test</uri>
        </include>
    <pose frame=' ' >0.061138  -0.719002  2.005010  0  0  0</pose> 
</model>

Last step was to create SDF files in Gazebo database for these virtual world items so that they could be spawned once the world file is launched.

Configuration

To configure the Gazebo world, navigate to the ./World folder. You should see the following APRS lab world SDF definitions, as well as the configuration bash script world_setup.bash.

Figure3

Double lick on the world_setup.bash file or invoke the world_setup.bash scriptfrom the command line. Once invoked you will get an simple yad GUI as shownin the figure below to configure the aprs-lab.world file used by the gzaprsros application.

Figure4

The breakdown of the various configuration variable in shown in the table below.

Variable
Description
Physics Engine
This selects the physics engine Gazebo will use. Its default is ODE, but other options are available but have been removed as they did not improve performance.
Version
There are 6 versions of the APRS lab to select from. Version 2 is a simple lightweight robot and kitting object model to lighten the simulation load on Gazebo. Version 6 can contain furniture, safety system, cameras, as part of the Gazebo world file.
Debug
The debug flag set to True will cause the Gazebo plugins to emit debugging messages.
Motoman
If True, the Motoman robot and assisted kitting models will be part of the world.
Fanuc
If True, the Fanuc robot and assisted kitting models will be part of the world.
Safety
If true, the safety curtain will be displayed.
Camera
If True, the cameras
Conveyor
If True, the conveyor model will be included in the model.
Furniture
If True, all the APRS lab furniture, PCs, monitors, etc. models will be included in the SDF world.
ROS Plugins
If true the gazebo-ros plugins for the conveyor, camera and safety system will be incorporated as part of the world SDF file.
Gz Vision Sim
If True, the vision simulator plugin will run which emits the Gazebo model for all kitting models on a given socket port (typically port 5002 but configurable).

About

Using a shell script, creates various configurations of an Agility Lab world in Gazebo SDF depending on selections.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published