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
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
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)
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)
00269
00270 _struct_I = genpy.struct_I