_ArtVehicle.py
Go to the documentation of this file.
00001 """autogenerated by genpy from art_msgs/ArtVehicle.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006 
00007 
00008 class ArtVehicle(genpy.Message):
00009   _md5sum = "b2e608cff82a26a9766518ef8fbfabf9"
00010   _type = "art_msgs/ArtVehicle"
00011   _has_header = False #flag to mark the presence of a Header object
00012   _full_text = """#  ART vehicle dimensions.
00013 #  $Id: ArtVehicle.msg 1832 2011-10-31 22:16:19Z austinrobot $
00014 
00015 #  This class encapsulates constants for the dimensions of the ART
00016 #  autonomous vehicle.  All units are meters or radians, except where
00017 #  noted.  This is not a published message, it defines multi-language
00018 #  constants.
00019 
00020 # ROS frame ID
00021 string frame_id = "vehicle"
00022 
00023 float32 length = 4.8                    # overall length
00024 float32 width = 2.12                    # overall width
00025 float32 height = 1.5                    # overall height (TBD)
00026 float32 halflength = 2.4                # length / 2
00027 float32 halfwidth = 1.06                # width / 2
00028 float32 halfheight = 0.75               # height / 2
00029 float32 wheelbase = 2.33918             # wheelbase
00030 
00031 # egocentric coordinates relative to vehicle origin at center of
00032 # rear axle
00033 float32 front_bumper_px = 3.5           # (approximately)
00034 float32 rear_bumper_px = -1.3           # front_bumper_px - length
00035 float32 front_left_wheel_px = 2.33918   # wheelbase
00036 float32 front_left_wheel_py = 2.4       # halfwidth
00037 float32 front_right_wheel_px = 2.33918  # wheelbase
00038 float32 front_right_wheel_py = -1.06    #-halfwidth
00039 float32 rear_left_wheel_px = 0.0
00040 float32 rear_left_wheel_py = 1.06       # halfwidth
00041 float32 rear_right_wheel_px = 0.0
00042 float32 rear_right_wheel_py = -1.06     #-halfwidth
00043 
00044 # Player geometry, egocentric pose of robot base (the px really
00045 # does need to be positive for some reason)
00046 float32 geom_px = 1.1                   # front_bumper_px - halflength
00047 float32 geom_py = 0.0
00048 float32 geom_pa = 0.0
00049 
00050 float32 velodyne_px = 0.393             # (approximately)
00051 float32 velodyne_py = 0.278             # (approximately)
00052 float32 velodyne_pz = 2.4               # (calibrated)
00053 #float32 velodyne_yaw=-0.0343           # (before remounting)
00054 float32 velodyne_yaw=-0.02155           # (approximately)
00055 float32 velodyne_pitch=0.016353735091186868 # (calculated)
00056 float32 velodyne_roll=0.0062133721370998124 # (calculated)
00057 
00058 float32 front_SICK_px = 3.178
00059 float32 front_SICK_py= 0.0              # (approximately)
00060 float32 front_SICK_pz = 0.7
00061 float32 front_SICK_roll = 0.0           # (approximately)
00062 float32 front_SICK_pitch = 0.0          # (approximately)
00063 float32 front_SICK_yaw = 0.027          # (approximately)
00064 
00065 float32 rear_SICK_px = -1.140
00066 float32 rear_SICK_py = 0.0              # (approximately)
00067 float32 rear_SICK_pz = 0.7
00068 float32 rear_SICK_roll = 0.0            # (approximately)
00069 float32 rear_SICK_pitch = 0.0           # (approximately)
00070 float32 rear_SICK_yaw = 3.1415926535897931160  # (approximately PI)
00071 
00072 float32 center_front_camera_px = 0.548     # velodyne_px + 0.155 (approx)
00073 float32 center_front_camera_py = 0.278    # velodyne_py (approx)
00074 float32 center_front_camera_pz = 2.184    # velodyne_pz-0.216 (approx)
00075 float32 center_front_camera_yaw = -0.052  # (measured)
00076 float32 center_front_camera_pitch = 0.025   # (measured)
00077 float32 center_front_camera_roll = 0.0    # (assumed)
00078 
00079 float32 right_front_camera_px = 0.471    # velodyne_px + 0.078 (= 0.155 * cos 60 deg) (approx)
00080 float32 right_front_camera_py = 0.144   # velodyne_py - 0.1342 (= 0.155 + sin 60 deg) (approx)
00081 float32 right_front_camera_pz = 2.184   # velodyne_pz-0.216 (approx)
00082 #float32 right_front_camera_yaw = -0.4974 # (approx -28.5 deg)
00083 float32 right_front_camera_yaw = -1.035 # (measured)
00084 float32 right_front_camera_pitch = 0.022  # (measured)
00085 float32 right_front_camera_roll = 0.0   # (assumed)
00086 
00087 float32 left_front_camera_px = 0.471     # velodyne_px + 0.078 (= 0.155 * cos 60 deg) (approx)
00088 float32 left_front_camera_py = 0.412    # velodyne_py + 0.1342 (= 0.155 * sin 60 deg) (approx)
00089 float32 left_front_camera_pz = 2.184    # velodyne_pz-0.216 (approx)
00090 #float32 left_front_camera_yaw = 0.4974  # (approx +28.5 deg)
00091 float32 left_front_camera_yaw = 0.97  # (measured)
00092 float32 left_front_camera_pitch = -0.017   # (measured)
00093 float32 left_front_camera_roll = 0.0    # (assumed)
00094 
00095 # Compute vehicle turning radius.  This is the distance from the
00096 # center of curvature to the vehicle origin in the middle of the
00097 # rear axle.  The <art/steering.h> comments describe the steering
00098 # geometry model.  Since max_steer_degrees is considerably less
00099 # than 90 degrees, there is no problem taking its tangent.
00100 
00101 float32 max_steer_degrees = 29.0        # maximum steering angle (degrees)
00102 float32 max_steer_radians = 0.5061455   # maximum steering angle (radians)
00103 
00104 # Due to limitations of the ROS message definition format, these
00105 # values needed to be calculated by hand...
00106 
00107 # ArtVehicle.wheelbase / math.tan(ArtVehicle.max_steer_radians)
00108 float32 turn_radius = 4.2199922597674142
00109 
00110 # math.sqrt(math.pow(ArtVehicle.wheelbase,2)
00111 #           + math.pow(ArtVehicle.turn_radius + ArtVehicle.halfwidth,2))
00112 float32 front_outer_wheel_turn_radius = 5.774952929297676
00113 
00114 # math.sqrt(math.pow(ArtVehicle.wheelbase,2)
00115 #           + math.pow(ArtVehicle.turn_radius - ArtVehicle.halfwidth,2))
00116 float32 front_inner_wheel_turn_radius = 3.9315790916869484
00117 
00118 # ArtVehicle.turn_radius + ArtVehicle.halfwidth
00119 float32 rear_outer_wheel_turn_radius = 5.2799922597674147
00120 
00121 # ArtVehicle.turn_radius - ArtVehicle.halfwidth
00122 float32 rear_inner_wheel_turn_radius = 3.1599922597674142
00123 
00124 # float32 front_outer_bumper_turn_radius = sqrtf(powf(front_bumper_px,2)+powf(turn_radius+halfwidth,2))
00125 #  
00126 # float32 front_inner_bumper_turn_radius = sqrtf(powf(front_bumper_px,2)+ powf(turn_radius-halfwidth,2))
00127 #
00128 # float32 rear_outer_bumper_turn_radius = sqrtf(powf(rear_bumper_px,2)+ powf(turn_radius+halfwidth,2))
00129 #
00130 # float32 rear_inner_bumper_turn_radius = sqrtf(powf(rear_bumper_px,2)+ powf(turn_radius-halfwidth,2))
00131 
00132 """
00133   # Pseudo-constants
00134   frame_id = r'"vehicle"'
00135   length = 4.8
00136   width = 2.12
00137   height = 1.5
00138   halflength = 2.4
00139   halfwidth = 1.06
00140   halfheight = 0.75
00141   wheelbase = 2.33918
00142   front_bumper_px = 3.5
00143   rear_bumper_px = -1.3
00144   front_left_wheel_px = 2.33918
00145   front_left_wheel_py = 2.4
00146   front_right_wheel_px = 2.33918
00147   front_right_wheel_py = -1.06
00148   rear_left_wheel_px = 0.0
00149   rear_left_wheel_py = 1.06
00150   rear_right_wheel_px = 0.0
00151   rear_right_wheel_py = -1.06
00152   geom_px = 1.1
00153   geom_py = 0.0
00154   geom_pa = 0.0
00155   velodyne_px = 0.393
00156   velodyne_py = 0.278
00157   velodyne_pz = 2.4
00158   velodyne_yaw = -0.02155
00159   velodyne_pitch = 0.0163537350912
00160   velodyne_roll = 0.0062133721371
00161   front_SICK_px = 3.178
00162   front_SICK_py = 0.0
00163   front_SICK_pz = 0.7
00164   front_SICK_roll = 0.0
00165   front_SICK_pitch = 0.0
00166   front_SICK_yaw = 0.027
00167   rear_SICK_px = -1.14
00168   rear_SICK_py = 0.0
00169   rear_SICK_pz = 0.7
00170   rear_SICK_roll = 0.0
00171   rear_SICK_pitch = 0.0
00172   rear_SICK_yaw = 3.14159265359
00173   center_front_camera_px = 0.548
00174   center_front_camera_py = 0.278
00175   center_front_camera_pz = 2.184
00176   center_front_camera_yaw = -0.052
00177   center_front_camera_pitch = 0.025
00178   center_front_camera_roll = 0.0
00179   right_front_camera_px = 0.471
00180   right_front_camera_py = 0.144
00181   right_front_camera_pz = 2.184
00182   right_front_camera_yaw = -1.035
00183   right_front_camera_pitch = 0.022
00184   right_front_camera_roll = 0.0
00185   left_front_camera_px = 0.471
00186   left_front_camera_py = 0.412
00187   left_front_camera_pz = 2.184
00188   left_front_camera_yaw = 0.97
00189   left_front_camera_pitch = -0.017
00190   left_front_camera_roll = 0.0
00191   max_steer_degrees = 29.0
00192   max_steer_radians = 0.5061455
00193   turn_radius = 4.21999225977
00194   front_outer_wheel_turn_radius = 5.7749529293
00195   front_inner_wheel_turn_radius = 3.93157909169
00196   rear_outer_wheel_turn_radius = 5.27999225977
00197   rear_inner_wheel_turn_radius = 3.15999225977
00198 
00199   __slots__ = []
00200   _slot_types = []
00201 
00202   def __init__(self, *args, **kwds):
00203     """
00204     Constructor. Any message fields that are implicitly/explicitly
00205     set to None will be assigned a default value. The recommend
00206     use is keyword arguments as this is more robust to future message
00207     changes.  You cannot mix in-order arguments and keyword arguments.
00208 
00209     The available fields are:
00210        
00211 
00212     :param args: complete set of field values, in .msg order
00213     :param kwds: use keyword arguments corresponding to message field names
00214     to set specific fields.
00215     """
00216     if args or kwds:
00217       super(ArtVehicle, self).__init__(*args, **kwds)
00218 
00219   def _get_types(self):
00220     """
00221     internal API method
00222     """
00223     return self._slot_types
00224 
00225   def serialize(self, buff):
00226     """
00227     serialize message into buffer
00228     :param buff: buffer, ``StringIO``
00229     """
00230     try:
00231       pass
00232     except struct.error as se: self._check_types(se)
00233     except TypeError as te: self._check_types(te)
00234 
00235   def deserialize(self, str):
00236     """
00237     unpack serialized message in str into this message instance
00238     :param str: byte array of serialized message, ``str``
00239     """
00240     try:
00241       end = 0
00242       return self
00243     except struct.error as e:
00244       raise genpy.DeserializationError(e) #most likely buffer underfill
00245 
00246 
00247   def serialize_numpy(self, buff, numpy):
00248     """
00249     serialize message with numpy array types into buffer
00250     :param buff: buffer, ``StringIO``
00251     :param numpy: numpy python module
00252     """
00253     try:
00254       pass
00255     except struct.error as se: self._check_types(se)
00256     except TypeError as te: self._check_types(te)
00257 
00258   def deserialize_numpy(self, str, numpy):
00259     """
00260     unpack serialized message in str into this message instance using numpy for array types
00261     :param str: byte array of serialized message, ``str``
00262     :param numpy: numpy python module
00263     """
00264     try:
00265       end = 0
00266       return self
00267     except struct.error as e:
00268       raise genpy.DeserializationError(e) #most likely buffer underfill
00269 
00270 _struct_I = genpy.struct_I
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends


art_msgs
Author(s): Jack O'Quin
autogenerated on Tue Sep 24 2013 10:40:45