Model
Collaboration diagram for Model:
Modules | |
Actuator model | |
Blinkenlight model | |
Blobfinder model | |
Camera model | |
Fiducial detector model | |
Gripper model | |
Laser model | |
Position model | |
Ranger model | |
Wifi model |
Detailed Description
The basic model simulates an object with basic properties; position, size, velocity, 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 ] velocity [ 0.0 0.0 0.0 0.0 ] 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 blob_return 1 laser_return LaserVisible gripper_return 0 gravity_return 0 sticky_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 )
- 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
- velocity [ x:<float> y:<float> z:<float> heading:<float> omega:<float> ]
Specify the initial velocity of the model. Note that if the model hits an obstacle, its velocity will be set to zero.
- velocity_enable int (defaults to 0)
Most models ignore their velocity state. This saves on processing time since most models never have their velocity set to anything but zero. Some subclasses (e.g. ModelPosition) change this default as they are expecting to move. Users can specify a non-zero value here to enable velocity control of this model. This achieves the same as calling Model::VelocityEnable()
- 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
- ranger_return <int>
if 1, this model can be detected by ranger sensors
- blob_return <int>
if 1, this model can be detected in the blob_finder (depending on its color)
- laser_return <int>
if 0, this model is not detected by laser sensors. if 1, the model shows up in a laser sensor with normal (0) reflectance. If 2, it shows up with high (1) reflectance.
- 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
Generated on Tue Oct 20 15:42:05 2009 for Stage by 1.6.1