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