cz.cuni.amis.pogamut.usar2004.communication.messages.usarinfomessages
Class GeometryMessage

Package class diagram package GeometryMessage
java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.usar2004.communication.messages.GBEvent
          extended by cz.cuni.amis.pogamut.usar2004.communication.messages.usarinfomessages.GeometryMessage
All Implemented Interfaces:
cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent, cz.cuni.amis.pogamut.base.communication.translator.event.IWorldEventWrapper, cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent, IGBWorldEvent, cz.cuni.amis.utils.listener.Event

public class GeometryMessage
extends GBEvent
implements cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent, cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent

Geometry message reports the robot's Geometry information. Please note that the robot Geometry message parameters depend on the type of robot that you are driving. For example, a robot of type “GroundVehicle” will not have the same Geometry message as a robot of type “AerialVehicle.” Corresponding GameBots message is GEO. NOTE: An effecter can implement more than one opcode and the CONF message returns the configuration information for all effecters on the robotic platform. Therefore the segment with the name value pair indicates a new effecter and the opcode name value pair indicates the opcode the effecter specified in by name implements. NOTE: For revolute joints, if the MinRange parameter is greater than the MaxRange parameter, the joint does not have any constraints.


Field Summary
protected  javax.vecmath.Point3d CenterOfGravity
           
protected  javax.vecmath.Vector3d Dimensions
           
protected  List<Integer> Links
           
protected  List<cz.cuni.amis.pogamut.base3d.worldview.object.Location> Locations
           
protected  String Name
           
protected  List<cz.cuni.amis.pogamut.base3d.worldview.object.Rotation> Orientations
           
protected  List<Integer> ParentLinks
           
static String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  List<SensorMount> SenEffGeo
           
protected  String Type
           
protected  double WheelBase
           
protected  double WheelRadius
           
protected  double WheelSeparation
           
 
Constructor Summary
GeometryMessage()
          Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
GeometryMessage(GeometryMessage original)
          Cloning constructor.
GeometryMessage(String Type, String Name, double WheelBase, double WheelRadius, double WheelSeparation, javax.vecmath.Point3d COG, javax.vecmath.Vector3d Dimensions)
           
 
Method Summary
 javax.vecmath.Point3d getCenterOfGravity()
          COG(x,y,z) ?x’, ?y’, and ?z’ identify the position of the center of gravity, in meters, calculated from the chassis origin.
 javax.vecmath.Vector3d getDimensions()
          Dimension (x,y,z) ?x’ defines the robot’s length, ?y’ defines the robot’s width, and ?z’ describes the robot’s height.
 List<Integer> getLinks()
          For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot.
 List<cz.cuni.amis.pogamut.base3d.worldview.object.Location> getLocations()
          For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot.
 String getName()
          Name of the subject that this geometry message concerns.
 List<cz.cuni.amis.pogamut.base3d.worldview.object.Rotation> getOrientations()
          For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot.
 List<Integer> getParentLinks()
          For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot.
 List<SensorMount> getSenEffGeo()
          Camera, Sensor and effecter mounts are composed from Name, Location, Orientaion and Mount name.
 long getSimTime()
           
 String getType()
          Type describes the vehicle type.
 double getWheelBase()
          The value is the wheel base, in meters.
 double getWheelRadius()
          The value is the radius of the robot’s wheels, in meters
 double getWheelSeparation()
          The value is the wheel separation, in meters.
 String toHtmlString()
          Gets all properties and values to create a HTML formated string;
 String toString()
           
 
Methods inherited from class cz.cuni.amis.pogamut.usar2004.communication.messages.GBEvent
getWorldEvent
 
Methods inherited from class cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
toJsonLiteral
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROTOTYPE

public static final String PROTOTYPE
Example how the message looks like - used during parser tests.

See Also:
Constant Field Values

Type

protected String Type

Name

protected String Name

Dimensions

protected javax.vecmath.Vector3d Dimensions

CenterOfGravity

protected javax.vecmath.Point3d CenterOfGravity

WheelRadius

protected double WheelRadius

WheelSeparation

protected double WheelSeparation

WheelBase

protected double WheelBase

SenEffGeo

protected List<SensorMount> SenEffGeo

Links

protected List<Integer> Links

ParentLinks

protected List<Integer> ParentLinks

Locations

protected List<cz.cuni.amis.pogamut.base3d.worldview.object.Location> Locations

Orientations

protected List<cz.cuni.amis.pogamut.base3d.worldview.object.Rotation> Orientations
Constructor Detail

GeometryMessage

public GeometryMessage(String Type,
                       String Name,
                       double WheelBase,
                       double WheelRadius,
                       double WheelSeparation,
                       javax.vecmath.Point3d COG,
                       javax.vecmath.Vector3d Dimensions)

GeometryMessage

public GeometryMessage(GeometryMessage original)
Cloning constructor.


GeometryMessage

public GeometryMessage()
Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).

Method Detail

getType

public String getType()
Type describes the vehicle type. It will be one of the following values: "GroundVehicle”, “LeggedRobot”, “NauticVehicle”, or “AerialVehicle” of "Camera" or some kind of sensor or effecter or "MisPkg".

Returns:
Returns type of the geometry message.

getName

public String getName()
Name of the subject that this geometry message concerns.

Returns:
Returns the name of the Geometry item.

getDimensions

public javax.vecmath.Vector3d getDimensions()
Dimension (x,y,z) ?x’ defines the robot’s length, ?y’ defines the robot’s width, and ?z’ describes the robot’s height. Please note that these values are in meters.

Returns:
Returns Dimension of the robot.

getCenterOfGravity

public javax.vecmath.Point3d getCenterOfGravity()
COG(x,y,z) ?x’, ?y’, and ?z’ identify the position of the center of gravity, in meters, calculated from the chassis origin.

Returns:
Returns center of gravity of the robot

getWheelRadius

public double getWheelRadius()
The value is the radius of the robot’s wheels, in meters

Returns:
Returns wheel radius of the robot.

getWheelSeparation

public double getWheelSeparation()
The value is the wheel separation, in meters. The wheel separation defines the distance between two wheels along the length (x axis) of the robot’s chassis.

Returns:
Returns wheel separation of the robot.

getWheelBase

public double getWheelBase()
The value is the wheel base, in meters. The wheel base defines the distance between two wheels along the width (y axis) of the robot’s chassis

Returns:
Retursn wheel base of the robot.

getSenEffGeo

public List<SensorMount> getSenEffGeo()
Camera, Sensor and effecter mounts are composed from Name, Location, Orientaion and Mount name. Example: GEO {Type Camera} {Name Camera Location 0.0820,0.0002,0.0613 Orientation 0.0000,-0.0000,0.0000 Mount CameraTilt}

Returns:
Returns a collection of sensor mounts.

getLinks

public List<Integer> getLinks()
For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot. Example: GEO {Type MisPkg} {Name CameraPanTilt} {Link 1} {ParentLink -1} {Location 0.1239,0.0000,-0.2036} {Orientation 3.1415,0.0000,0.0000} {Link 2} {ParentLink 1} {Location 0.0000,0.0000,0.0599} {Orientation 1.5707,0.0000,0.0000}

Returns:
Returns List of links.

getParentLinks

public List<Integer> getParentLinks()
For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot. Example: GEO {Type MisPkg} {Name CameraPanTilt} {Link 1} {ParentLink -1} {Location 0.1239,0.0000,-0.2036} {Orientation 3.1415,0.0000,0.0000} {Link 2} {ParentLink 1} {Location 0.0000,0.0000,0.0599} {Orientation 1.5707,0.0000,0.0000}

Returns:
Returns list of parent links.

getLocations

public List<cz.cuni.amis.pogamut.base3d.worldview.object.Location> getLocations()
For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot. Example: GEO {Type MisPkg} {Name CameraPanTilt} {Link 1} {ParentLink -1} {Location 0.1239,0.0000,-0.2036} {Orientation 3.1415,0.0000,0.0000} {Link 2} {ParentLink 1} {Location 0.0000,0.0000,0.0599} {Orientation 1.5707,0.0000,0.0000}

Returns:
Return list of Locations.

getOrientations

public List<cz.cuni.amis.pogamut.base3d.worldview.object.Rotation> getOrientations()
For a mission package, the geometry message is expressed in the following format to tell us how the mission package and its elements are ?installed’ together to the robot. Example: GEO {Type MisPkg} {Name CameraPanTilt} {Link 1} {ParentLink -1} {Location 0.1239,0.0000,-0.2036} {Orientation 3.1415,0.0000,0.0000} {Link 2} {ParentLink 1} {Location 0.0000,0.0000,0.0599} {Orientation 1.5707,0.0000,0.0000}

Returns:
Returns list of Orientations.

toString

public String toString()
Overrides:
toString in class cz.cuni.amis.pogamut.base.communication.messages.InfoMessage

toHtmlString

public String toHtmlString()
Gets all properties and values to create a HTML formated string;

Returns:
Returns all properties in HTML format

getSimTime

public long getSimTime()
Specified by:
getSimTime in interface cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent
Specified by:
getSimTime in interface cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent
Overrides:
getSimTime in class GBEvent


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.