This class is autogenerated. More detailed documentation can be found in the SDFormat spec.

class v18.model.Model(static=False, self_collide=False, allow_auto_disable=True, include=<factory>, model=<factory>, enable_wind=False, frame=<factory>, pose=None, link=<factory>, joint=<factory>, plugin=<factory>, gripper=<factory>, name=None, canonical_link=None, placement_frame=None)

The model element defines a complete robot or any other physical object.

static: If set to true, the model is immovable; i.e., a dynamics

engine will not update its position. This will also overwrite this model’s @canonical_link and instead attach the model’s implicit frame to the world’s implicit frame. This holds even if this model is nested (or included) by another model instead of being a direct child of //world.

self_collide: If set to true, all links in the model will collide

with each other (except those connected by a joint). Can be overridden by the link or collision element self_collide property. Two links within a model will collide if link1.self_collide OR link2.self_collide. Links connected by a joint will never collide.

allow_auto_disable: Allows a model to auto-disable, which is means

the physics engine can skip updating the model when the model is at rest. This parameter is only used by models with no joints.

include: Include resources from a URI. This can be used to nest

models. The included resource can only contain one ‘model’ element. The URI can point to a directory or a file. If the URI is a directory, it must conform to the model database structure (see /tutorials?tut=composition&amp;cat=specification&amp;#defining- models-in-separate-files).

model: A nested model element
enable_wind: If set to true, all links in the model will be affected

by the wind. Can be overriden by the link wind property.

frame: A frame of reference in which poses may be expressed.
pose: A position (x,y,z) and orientation (roll, pitch yaw) with

respect to the frame named in the relative_to attribute.

link: A physical link with inertia, collision, and visual

properties. A link must be a child of a model, and any number of links may exist in a model.

joint: A joint connects two links with kinematic and dynamic

properties. By default, the pose of a joint is expressed in the child link frame.

plugin: A plugin is a dynamically loaded chunk of code. It can exist

as a child of world, model, and sensor.

name: The name of the model and its implicit frame. This name must

be unique among all elements defining frames within the same scope, i.e., it must not match another //model, //frame, //joint, or //link within the same scope.

canonical_link: The name of the model’s canonical link, to which the

model’s implicit coordinate frame is attached. If unset or set to an empty string, the first /link listed as a direct child of this model is chosen as the canonical link. If the model has no direct /link children, it will instead be attached to the first nested (or included) model’s implicit frame.

placement_frame: The frame inside this model whose pose will be set

by the pose element of the model. i.e, the pose element specifies the pose of this frame instead of the model frame.

Nested Elements

Note that only complex elements are listed here. Elements that resolve to simple types (int, str, bool) are inlined.

v18.model.Model.Frame([pose, name, attached_to])

A frame of reference in which poses may be expressed.

v18.model.Model.Gripper(grasp_check, ...)

v18.model.Model.Include([uri, name, static, ...])

Include resources from a URI.

v18.model.Model.Plugin([any_element, name, ...])

A plugin is a dynamically loaded chunk of code.

v18.model.Model.Pose([value, relative_to])