pcg_gazebo.simulation
pcg_gazebo.simulation¶
Simulation interface module, with abstraction classes for all relevant entities that form a simulation in Gazebo.
create_object¶
create_object(tag, **kwargs)
Link subclasses.
Input arguments
tag(type:str): Name identifier of the object classkwargs(type:dict): Input arguments for the object class
Returns
Link: Subclass instance.
get_gazebo_model_folders¶
get_gazebo_model_folders(dir_path)
dir_path.
Input arguments
dir_path(type:str): Path to the search directory.
Returns
dict: Gazebo model paths ordered according to the
Gazebo model names.
load_gazebo_models¶
load_gazebo_models()
.gazebo/models folder
and in the ROS paths.
Returns
dict: Information of all Gazebo models found
get_gazebo_models¶
get_gazebo_models()
.gazebo/models folder and in the catkin workspace as
a dictionary.
get_gazebo_model_names¶
get_gazebo_model_names()
.gazebo/models folders and catkin workspace.
get_gazebo_model_ros_pkg¶
get_gazebo_model_ros_pkg(name)
is_gazebo_model¶
is_gazebo_model(name, include_custom_paths=False)
name is a Gazebo
model that is found in the resources path.
Input arguments
name(type:str): Name identifier of the model
Returns
True if name refers to a Gazebo model.
get_gazebo_model_path¶
get_gazebo_model_path(model_name)
Input arguments
model_name(type:str): Name of the Gazebo model
Returns
str: Path of the Gazebo model folder
get_gazebo_model_sdf¶
get_gazebo_model_sdf(model_name, sdf_file='model.sdf')
pcg_gazebo
SDF instance.
Input arguments
model_name(type:str): Name of the Gazebo model.sdf_file(type:str, default:model.sdf): Name of the SDF file to be parsed.
Returns
pcg_gazebo.parsers.types.XMLBase instance as an SDF element.
Box¶
Box(self, name='box', size=[1, 1, 1])
pcg_gazebo.simulation.Link to
describe a box-shaped link or single-link model.
Input arguments
name(type:str, default:box): Name of the objectsize(type:list, default:[1, 1, 1]): Vector with width, length and height of the box,
collision¶
pcg_gazebo.simulation.properties.Collision:
Return single box-shaped collision model.
size¶
List of float: Size of the box as [width, length, height]
visual¶
pcg_gazebo.simulation.properties.Visual:
Return single box-shaped visual model.
to_sdf¶
Box.to_sdf(type='model',
name='box',
sdf_version='1.6',
resource_prefix='',
model_folder=None,
copy_resources=False)
type input
box: SDF box elementgeometry: SDF geometry element with nested elementcollision: SDF collision elementvisual: SDF visual elementlink: SDF link element with collision and visual propertiesmodel: single-link SDF model elementsdf: SDF file format with a nested model element.
Input arguments
type(type:str): Type of output SDF element, options arecollision,visual,link,model,sdf.name(type:str, default:model): Name of the output objectsdf_version(type:str, default:1.6): Version of the output SDF element
Returns
pcg_gazebo.parsers.types.XMLBase: SDF element instance.
add_inertial¶
Box.add_inertial(mass)
Input arguments
mass(type:float): Mass in kilograms
update_inertial¶
Box.update_inertial(mass=None)
Input arguments
mass(type:float): Mass in kilograms
update_collision¶
Box.update_collision()
size.
update_visual¶
Box.update_visual()
size.
Cylinder¶
Cylinder(self, name='cylinder', length=1, radius=1)
pcg_gazebo.simulation.Link to
describe a cylinder-shaped link or single-link model.
Input arguments
name(type:str, default:cylinder): Name of the object.length(type:float, default:1): Length of the cylinder in meters.radius(type:float, default:1): Radius of the cylinder in meters.
collision¶
pcg_gazebo.simulation.properties.Collision:
Return single cylinder-shaped collision model.
length¶
float: Length of the cylinder in meters
radius¶
float: Radius of the cylinder in meters
visual¶
pcg_gazebo.simulation.properties.Visual:
Return single cylinder-shaped visual model.
to_sdf¶
Cylinder.to_sdf(type='model',
name='cylinder',
sdf_version='1.6',
resource_prefix='',
model_folder=None,
copy_resources=False)
type input
cylinder: SDF cylinder elementgeometry: SDF geometry element with nested elementcollision: SDF collision elementvisual: SDF visual elementlink: SDF link element with collision and visual propertiesmodel: single-link SDF model elementsdf: SDF file format with a nested model element.
Input arguments
type(type:str): Type of output SDF element, options arecollision,visual,link,model,sdf.name(type:str, default:model): Name of the output objectsdf_version(type:str, default:1.6): Version of the output SDF element
Returns
pcg_gazebo.parsers.types.XMLBase: SDF element instance.
update_inertial¶
Cylinder.update_inertial(mass=None)
Input arguments
mass(type:float): Mass in kilograms
update_collision¶
Cylinder.update_collision()
length and radius.
update_visual¶
Cylinder.update_visual()
length and radius.
Joint¶
Joint(self,
name='joint',
parent=None,
child=None,
pose=[0, 0, 0, 0, 0, 0],
joint_type='fixed',
axis_xyz=[0, 0, 1],
damping=0,
friction=0,
spring_reference=0,
spring_stiffness=0,
lower=-1e+16,
upper=1e+16,
velocity=-1,
effort=-1,
use_parent_model_frame=False)
Light¶
Light(self,
name='default',
type='point',
pose=[0, 0, 0, 0, 0, 0],
cast_shadows=True,
inner_angle=None,
outer_angle=None,
falloff=None)
Link¶
Link(self,
name='object',
creation_time=None,
life_timeout=None,
pose=[0, 0, 0, 0, 0, 0],
inertial=None,
static=False,
self_collide=False,
kinematic=False,
gravity=True,
visuals=None,
collisions=None)
link or a single-link model.
Input arguments
name(type:str, value:object): Name of the object.creation_time(type:float, default:None): Timestamp of the creation of the object in Gazebo.life_timeout(type:float, default:None): Timeout in which to remove the object from the simulation (not implemented).
collisions¶
List of pcg_gazebo.simulation.properties.Collision:
List of collision models
creation_time¶
float: Time of creation of this object, if
it represents a single-link model.
gravity¶
bool: Flag to that link is affected by gravity
inertial¶
pcg_gazebo.simulation.properties.Inertial:
Description of the object's moments of inertia.
kinematic¶
bool: Flag to indicate if the model is purely kinematic
life_timeout¶
float: Life timeout timestamp for this object,
if it represents a single-link model
self_collide¶
bool: Self-collision flag
static¶
bool: Flag to indicate if object is static
visuals¶
List of pcg_gazebo.simulation.properties.Visual:
List of visual models
create_link_from_mesh¶
Link.create_link_from_mesh(name='link',
visual_mesh=None,
collision_mesh=None,
use_approximated_collision=False,
approximated_collision_model='box',
visual_mesh_scale=[1, 1, 1],
collision_mesh_scale=[1, 1, 1],
pose=[0, 0, 0, 0, 0, 0],
color=None,
mass=0,
inertia=None,
use_approximated_inertia=True,
approximated_inertia_model='box',
visual_parameters={},
collision_parameters={})
Input arguments
name(type:str, default:link): Name of the link.visual_mesh(type:strortrimesh.Trimesh, default:None): Filename to the visual mesh file or a mesh object.collision_mesh(type:strortrimesh.Trimesh, default:None): Filename to the collision mesh file. If the input isNoneanduse_approximated_collisionisFalse, the visual mesh will be also set as collision mesh.use_approximated_collision(type:bool, default:False): IfTrue, the collision geometry will be approximated from the visual mesh geometry into a model given by theapproximated_collision_modelinput.approximated_collision_model(type:str, default:box): Name of the geometry to which the visual geometry will be approximated to generated the collision mesh, options arebox,cylinderorsphere.visual_mesh_scale(type:list, default:[1, 1, 1]): Scaling factors for the visual mesh in X, Y and Z directions.collision_mesh_scale(type:list, default:[1, 1, 1]): Scaling factors for the collision mesh in X, Y and Z directions.pose(type:list, default:[0, 0, 0, 0, 0, 0]): Link's pose with respect to the model frame.color(type:listorstr, default:None): Color set to the visual mesh. IfNoneis provided, no color is set and the mesh will inherit the material of the mesh file. If the input israndom, a random RGB color is generated. This input can also be set asxkcdfor a randomxkcdcolor name, or a string with the name of a specificxkcdcolor (e.g.,teal). Otherwise, the input can be an RGB vector as alist.mass(type:float, default:0): Mass of the link in kilograms. If the mass is not greater than zero, the link will be set as static.inertia(type:dict, default:None): Moments of inertia of the link. This input can be either a dictionary defined asdict(ixx=0, iyy=0, izz=0, ixy=0, ixz=0, iyz=0)orNone. IfNoneis provided,use_approximated_inertiaisTrueandmassis greater than zero, the moments of inertia will be computed from an approximated visual mesh geometry given by the inputapproximated_inertia_model.use_approximated_inertia(type:bool, default:True): IfTrueandmassis greater tha zero, the moments of inertia of the link will be computed from a approximated visual mesh model described byapproximated_inertia_model.approximated_inertia_model(type:str, default:box): Type of geometry approximation to be applied to the visual geometry. The dimensions of the geometry will then be used to compute the moments of inertia. Options arebox,cylinderorsphere.
Returns
pcg_gazebo.simulation.Link instance.
enable_collision¶
Link.enable_collision()
disable_collision¶
Link.disable_collision()
enable_visual¶
Link.enable_visual()
disable_visual¶
Link.disable_visual()
get_collision_by_name¶
Link.get_collision_by_name(name)
Input arguments
name(type:str): Name of the collision model.
Returns
pcg_gazebo.simulation.properties.Collision, or None
if not collision with the given name is found.
has_collision¶
Link.has_collision(name)
Input arguments
name(type:str): Name of the collision model
Returns
bool: True, if a collision model exists, `False, otherwise.
get_visual_by_name¶
Link.get_visual_by_name(name)
Input arguments
name(type:str): Name of the visual model.
Returns
pcg_gazebo.simulation.properties.Visual, or None
if not visual with the given name is found.
has_visual¶
Link.has_visual(name)
Input arguments
name(type:str): Name of the visual model
Returns
bool: True, if a visual model exists, `False, otherwise.
add_empty_visual¶
Link.add_empty_visual(name='visual')
Input arguments
name(type:str, default:visual): Name of the visual model.
Returns
bool: True if visual model could be created
and added to the object.
False if another visual with the same name already exists.
add_visual¶
Link.add_visual(visual)
_i, i being an integer.
Input arguments
visual(type:pcg_gazebo.simulation.properties.Visual): Visual element
Returns
bool: True, if visual element could be added to object.
add_empty_collision¶
Link.add_empty_collision(name='collision')
Input arguments
name(type:str, default:collision): Name of the collision model.
Returns
bool: True if collision model could be created and
added to the object.
False if another collision with the same name already exists.
add_collision¶
Link.add_collision(collision)
_i, i being an integer.
Input arguments
collision(type:pcg_gazebo.simulation.properties.Collision): Collision element
Returns
bool: True, if collision element could be added to object.
to_sdf¶
Link.to_sdf(type='link',
name='model',
sdf_version='1.6',
resource_prefix='',
model_folder=None,
copy_resources=False)
type input
collision: SDF collision elementvisual: SDF visual elementlink: SDF link element with collision and visual propertiesmodel: single-link SDF model elementsdf: SDF file format with a nested model element.
Input arguments
type(type:str): Type of output SDF element, options arecollision,visual,link,model,sdf.name(type:str, default:model): Name of the output objectsdf_version(type:str, default:1.6): Version of the output SDF element
Returns
pcg_gazebo.parsers.types.XMLBase: SDF element instance.
from_sdf¶
Link.from_sdf(sdf)
pcg_gazebo.simulation.Link instance
from an SDF instance. Only links can be parsed.
Input arguments
sdf(type:pcg_gazebo.parsers.sdf.Link): SDF object
Returns
pcg_gazebo.simulation.Link: Simulation object instance
export_to_gazebo_model¶
Link.export_to_gazebo_model(output_dir,
name='model',
sdf_version='1.6',
version='0.1.0',
author_names=None,
author_emails=None,
description='',
generate_sdf_with_version=False)
model_dir/
model.sdf
model.config
Input arguments
output_dir(type:str): Name of the directory where the model directory will be stored.name(type:str, default:model): Name of the modelsdf_version(type:str, default:1.6): Version of the SDF formatversion(type:str, default:0.1.0): Gazebo model versionauthor_names(type:list, default:None): List of authorsauthor_emails(type:list, default:None): List of e-mailsdescription(type:str): Model descriptiongenerate_sdf_with_version(type:bool, default:False): Parameter description
Returns
bool: True, if Gazebo model files were exported successfully.
add_inertial¶
Link.add_inertial(mass)
update_inertial¶
Link.update_inertial()
update_collision¶
Link.update_collision()
update_visual¶
Link.update_visual()
add_sensor¶
Link.add_sensor(name, sensor)
Input arguments
name(type:str): Name of the sensorsensor(type:pcg_gazebo.simulation.sensors.Sensor): Sensor description
Returns
bool: True, if sensor could be added to link.
to_markers¶
Link.to_markers()
visualization_msgs/Marker instances from the visual and/or
collision entities.
Returns
visualization_msgs/MarkerArray
get_footprint¶
Link.get_footprint(mesh_type='collision',
pose_offset=None,
use_bounding_box=False,
z_limits=None)
shapely._GEOMETRIES.Polygon or
shapely._GEOMETRIES.MultiPolygon that represent the
projection of the visual or collision meshes on the XY
plane.
Input arguments
mesh_type(type:str, default:collision): Origin of the meshes, options arevisualorcollision.pose_offset(type:data_type, default:None): Pose offset to be applied to all meshes before the footprint is computeduse_bounding_box(type:bool, default:False): Use the mesh's bounding box for the footprint calculationz_limits(type:list, default:None): Minimum and maximum limits in the Z direction were the meshes will be sectioned.
Returns
shapely._GEOMETRIES.Polygon or shapely._GEOMETRIES.MultiPolygon
get_meshes¶
Link.get_meshes(mesh_type='collision', pose_offset=None)
Input arguments
mesh_type(type:str, default:collision): Type of mesh to be returned, options arevisualorcollision.pose_offset(type:list, default:None): Pose offset to be applied to all meshes.
Returns
List of trimesh meshes.
get_bounds¶
Link.get_bounds(mesh_type='collision')
Input arguments
mesh_type(type:str, default:collision): Type of mesh, options arevisualorcollision.
Returns
dict: Meshes' bounds
ModelGroup¶
ModelGroup(self,
name='group',
pose=[0, 0, 0, 0, 0, 0],
is_ground_plane=False)
lights¶
dict: Lights
models¶
dict: Models
n_lights¶
int: Number of lights
n_models¶
int: Number of models
reset_models¶
ModelGroup.reset_models()
add_model¶
ModelGroup.add_model(tag, model)
Input arguments
tag(type:str): Model's local name in the world. If a model with the same name already exists, the model will be created with a counter suffix in the format_i,ibeing an integer.model(type:pcg_gazebo.simulation.SimulationModel): Model object
Returns
bool: True, if model could be added to the world.
rm_model¶
ModelGroup.rm_model(tag)
Input arguments
tag(type:str): Local name identifier of the model to be removed.
Returns
bool: True, if model could be removed, False if
no model with name tag could be found in the world.
model_exists¶
ModelGroup.model_exists(tag)
tag exists in the world description.
Input arguments
tag(type:str): Local name identifier of the model.
Returns
bool: True, if model exists, False, otherwise.
add_include¶
ModelGroup.add_include(include)
Input arguments
include(type:pcg_gazebo.parsers.sdf.Include): SDF<include>element
Returns
bool: True, if model directed by the include element
could be parsed and added to the world.
add_light¶
ModelGroup.add_light(tag, light)
Input arguments
tag(type:str): Name identifier for the plugin. If a model with the same name already exists, the model will be created with a counter suffix in the format_i,ibeing an integer.light(type:pcg_gazebo.parsers.sdf.Lightorpcg_gazebo.simulation.properties.Light): Light description
rm_light¶
ModelGroup.rm_light(tag)
Input arguments
tag(type:str): Local name identifier of the light to be removed.
Returns
bool: True, if light could be removed, False if
no light with name tag could be found in the world.
light_exists¶
ModelGroup.light_exists(tag)
tag exists in the world description.
Input arguments
tag(type:str): Local name identifier of the light.
Returns
bool: True, if light exists, False, otherwise.
Plane¶
Plane(self, name='plane', normal=[0, 0, 1], size=[1, 1])
Polyline¶
Polyline(self, name='polyline', height=1, points=[])
SimulationModel¶
SimulationModel(self,
name='model',
parent='world',
is_ground_plane=False,
pose=[0, 0, 0, 0, 0, 0])
Sphere¶
Sphere(self, name='sphere', radius=1)
pcg_gazebo.simulation.Link to
describe a sphere-shaped link or single-link model.
Input arguments
name(type:str, default:sphere): Name of the objectradius(type:float, default:1): Radius of the sphere in meters
collision¶
pcg_gazebo.simulation.properties.Collision:
Return single sphere-shaped collision model.
radius¶
float: Radius of the sphere in meters
visual¶
pcg_gazebo.simulation.properties.Visual:
Return single sphere-shaped visual model.
to_sdf¶
Sphere.to_sdf(type='model',
name='sphere',
sdf_version='1.6',
resource_prefix='',
model_folder=None,
copy_resources=False)
type input
sphere: SDF sphere elementgeometry: SDF geometry element with nested elementcollision: SDF collision elementvisual: SDF visual elementlink: SDF link element with collision and visual propertiesmodel: single-link SDF model elementsdf: SDF file format with a nested model element.
Input arguments
type(type:str): Type of output SDF element, options arecollision,visual,link,model,sdf.name(type:str, default:model): Name of the output objectsdf_version(type:str, default:1.6): Version of the output SDF element
Returns
pcg_gazebo.parsers.types.XMLBase: SDF element instance.
add_inertial¶
Sphere.add_inertial(mass, hollow=False)
Input arguments
mass(type:float): Mass in kilogramshollow(type:bool, default:False): Compute moments of inertia for a hollow sphere, instead of a solid one
update_inertial¶
Sphere.update_inertial(mass=None)
Input arguments
mass(type:float): Mass in kilograms
update_collision¶
Sphere.update_collision()
radius.
update_visual¶
Sphere.update_visual()
radius.
World¶
World(self, name='default', gravity=[0, 0, -9.8], engine='ode')
- physics engine
- models
- lights
- plugins
- gravity
and can be later exported into a .world file that Gazebo
can parse and execute.
Input arguments
name(type:str, value:default): Name of the world.gravity(type:list, default:[0, 0, -9.8]): Acceleration of gravity vector.engine(type:str, default:ode): Name of the default physics engine, options areode,bulletorsimbody.
engine¶
str: Name identifier of the physics engine
gravity¶
list: Acceleration of gravity vector
lights¶
dict: Lights
model_groups¶
dict: Model groups
models¶
dict: Models
physics¶
pcg_gazebo.simulation.physics.Physics: Physics engine instance
reset_physics¶
World.reset_physics(engine='ode', *args, **kwargs)
Input arguments
engine(type:str, default:ode): Name identifier of the physics engine, options areode,bulletorsimbody.
reset_models¶
World.reset_models()
add_include¶
World.add_include(include, group='default')
Input arguments
include(type:pcg_gazebo.parsers.sdf.Include): SDF<include>element
Returns
bool: True, if model directed by the include element
could be parsed and added to the world.
add_model¶
World.add_model(tag, model, group='default')
Input arguments
tag(type:str): Model's local name in the world. If a model with the same name already exists, the model will be created with a counter suffix in the format_i,ibeing an integer.model(type:pcg_gazebo.simulation.SimulationModel): Model object
Returns
bool: True, if model could be added to the world.
rm_model¶
World.rm_model(tag, group='default')
Input arguments
tag(type:str): Local name identifier of the model to be removed.
Returns
bool: True, if model could be removed, False if
no model with name tag could be found in the world.
model_exists¶
World.model_exists(tag, group=None)
tag exists in the world description.
Input arguments
tag(type:str): Local name identifier of the model.
Returns
bool: True, if model exists, False, otherwise.
add_plugin¶
World.add_plugin(tag, plugin)
Input arguments
tag(type:str): Name identifier for the plugin. If a model with the same name already exists, the model will be created with a counter suffix in the format_i,ibeing an integer.plugin(type:pcg_gazebo.parsers.sdf.Pluginorpcg_gazebo.simulation.properties.Plugin): Plugin description.
rm_plugin¶
World.rm_plugin(tag)
Input arguments
tag(type:str): Local name identifier of the plugin to be removed.
Returns
bool: True, if plugin could be removed, False if
no plugin with name tag could be found in the world.
plugin_exists¶
World.plugin_exists(tag)
tag exists in the world description.
Input arguments
tag(type:str): Local name identifier of the plugin.
Returns
bool: True, if plugin exists, False, otherwise.
add_light¶
World.add_light(tag, light, group='default')
Input arguments
tag(type:str): Name identifier for the plugin. If a model with the same name already exists, the model will be created with a counter suffix in the format_i,ibeing an integer.light(type:pcg_gazebo.parsers.sdf.Lightorpcg_gazebo.simulation.properties.Light): Light description
rm_light¶
World.rm_light(tag, group='default')
Input arguments
tag(type:str): Local name identifier of the light to be removed.
Returns
bool: True, if light could be removed, False if
no light with name tag could be found in the world.
light_exists¶
World.light_exists(tag, group='default')
tag exists in the world description.
Input arguments
tag(type:str): Local name identifier of the light.
Returns
bool: True, if light exists, False, otherwise.
to_sdf¶
World.to_sdf(type='world',
with_default_ground_plane=False,
with_default_sun=False,
sdf_version='1.6')
pcg_gazebo SDF
element.
Input arguments
type(type:str, default:world): Type of output SDF element to be generated, options areworldorsdf. It is important to note that to export the world description into a file, it is necessary to have thesdfformat.with_default_ground_plane(type:bool, default:True): Add Gazebo's default ground plane model to the world.with_default_sun(type:bool, default:True): Add Gazebo's default sun model to the world.
Returns
pcg_gazebo.parsers.sdf.SDF with a world element in it or
pcg_gazebo.parsers.sdf.World.
from_sdf¶
World.from_sdf(sdf)
pcg_gazebo.parsers.sdf.World into a
World class.
Input arguments
sdf(type:pcg_gazebo.parsers.sdf.World): SDF world element
Returns
pcg_gazebo.parsers.sdf.World instance.
create_scene¶
World.create_scene(mesh_type='collision',
add_pseudo_color=True,
ignore_models=None,
add_axis=True)
trimesh.Scene with all the world's models.
Input arguments
mesh_type(type:str, default:collision): Type of mesh to be included in the scene, options arecollisionorvisual.add_pseudo_color(type:bool, default:True): IfTrue, set each mesh with a pseudo-color.
plot_footprints¶
World.plot_footprints(fig=None,
ax=None,
fig_width=20,
fig_height=20,
mesh_type='collision',
z_limits=None,
colormap='magma',
grid=True,
ignore_ground_plane=True,
line_width=1,
line_style='solid',
alpha=0.5,
engine='matplotlib',
dpi=200,
ground_plane_models=None)
Input arguments
fig(type:matplotlib.pyplot.Figureorbokeh.plotting.Figure, default:None): Figure object. IfNoneis provided, the figure will be created.ax(type:matplotlib.pyplot.Axes, default:None): Axes object to add the plot. IfNoneis provided, the axes object will be created.fig_width(type:floatorint, default:20): Width of the figure in inches, ifengineismatplotlib, or pixels, ifengineisbokeh.fig_height(type:floatorint, default:20): Height of the figure in inches, ifengineismatplotlib, or pixels, ifengineisbokeh.mesh_type(type:str, default:collision): Type of mesh to consider for the footprint computation, options arecollisionandvisual.z_limits(type:list, default:None): List of minimum and maximum Z-levels to consider when sectioning the meshes.colormap(type:str, default:magma): Name of the colormap to be used. Check this link formatplotlibcolormaps and this link forbokehcolormaps.grid(type:bool, default:True): IfTrue, add grid to the plot.ignore_ground_plane(type:bool, default:True): Ignore the models flagged as ground plane from the plot.line_width(type:float, default:1): Width of the line of each footprint polygon patch.line_style(type:str, default:solid): Style of the line of each footprint polygon patch. Check this link to see all the line style options.alpha(type:float, default:0.5): Alpha channel value for the footprint objects.engine(type:str, default:matplotlib): Engine to use for the generation of the figure, options arebokehandmatplotlib.dpi(type:int, default:200): Image's DPI
Returns
matplotlib.pyplot.Figure or bokeh.plotting.Figure.
export_to_file¶
World.export_to_file(output_dir=None,
filename=None,
with_default_ground_plane=True,
with_default_sun=True,
models_output_dir=None,
overwrite=True,
sdf_version='1.6')
Input arguments
output_dir(type:str, default:None): Path to output directory to store the world file.filename(type:str, default:None): Name of the SDF world filewith_default_ground_plane(type:bool, default:True): Add the default ground plane model to the world before exporting itwith_default_sun(type:bool, default:True): Add the default sun model to the world before exporting it
Returns
Full name of the exported SDF world file as a str