Detailed Description
$Rev$
The basic model simulates an object with basic properties; position, size, color, visibility to various sensors, etc. The basic model also has a body made up of a list of lines. Internally, the basic model is used as the base class for all other model types. You can use the basic model to simulate environmental objects.
API: Stg::Model
Worldfile properties
- Summary and default values
model
(
pose [ 0.0 0.0 0.0 0.0 ]
size [ 0.1 0.1 0.1 ]
origin [ 0.0 0.0 0.0 0.0 ]
update_interval 100
color "red"
color_rgba [ 0.0 0.0 0.0 1.0 ]
bitmap ""
ctrl ""
# determine how the model appears in various sensors
fiducial_return 0
fiducial_key 0
obstacle_return 1
ranger_return 1.0
blob_return 1
ranger_return 1.0
gripper_return 0
# GUI properties
gui_nose 0
gui_grid 0
gui_outline 1
gui_move 0 (1 if the model has no parents);
boundary 0
mass 10.0
map_resolution 0.1
say ""
alwayson 0
stack_children 1
)
- Details
- pose [ x:<float> y:<float> z:<float> heading:<float> ]
specify the pose of the model in its parent's coordinate system
- size [ x:<float> y:<float> z:<float> ]
specify the size of the model in each dimension
- origin [ x:<float> y:<float> z:<float> heading:<float> ]
specify the position of the object's center, relative to its pose
- update_interval int (defaults to 100) The amount of simulated time in milliseconds between calls to Model::Update(). Controls the frequency with which this model's data is generated.
- color <string>
specify the color of the object using a color name from the X11 database (rgb.txt)
- bitmap filename:<string>
Draw the model by interpreting the lines in a bitmap (bmp, jpeg, gif, png supported). The file is opened and parsed into a set of lines. The lines are scaled to fit inside the rectangle defined by the model's current size.
- ctrl <string>
Specify the controller module for the model, and its argument string. For example, the string "foo bar bash" will load libfoo.so, which will have its Init() function called with the entire string as an argument (including the library name). It is up to the controller to parse the string if it needs arguments."
- fiducial_return fiducial_id:<int>
if non-zero, this model is detected by fiducialfinder sensors. The value is used as the fiducial ID.
- fiducial_key <int> models are only detected by fiducialfinders if the fiducial_key values of model and fiducialfinder match. This allows you to have several independent types of fiducial in the same environment, each type only showing up in fiducialfinders that are "tuned" for it.
- obstacle_return <int>
if 1, this model can collide with other models that have this property set
- blob_return <int>
if 1, this model can be detected in the blob_finder (depending on its color)
- ranger_return <float>
This model is detected with this reflectance value by ranger_model sensors. If negative, this model is invisible to ranger sensors, and does not block propogation of range-sensing rays. This models an idealized reflectance sensor, and replaces the normal/bright reflectance of deprecated laser model. Defaults to 1.0.
- gripper_return <int>
iff 1, this model can be gripped by a gripper and can be pushed around by collisions with anything that has a non-zero obstacle_return.
- gui_nose <int>
if 1, draw a nose on the model showing its heading (positive X axis)
- gui_grid <int>
if 1, draw a scaling grid over the model
- gui_outline <int>
if 1, draw a bounding box around the model, indicating its size
- gui_move <int>
if 1, the model can be moved by the mouse in the GUI window
- stack_children <int>
If non-zero (the default), the coordinate system of child models is offset in z so that its origin is on _top_ of this model, making it easy to stack models together. If zero, the child coordinate system is not offset in z, making it easy to define objects in a single local coordinate system.