$search
00001 """autogenerated by genmsg_py from FilterJointTrajectoryRequest.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import trajectory_msgs.msg 00006 import arm_navigation_msgs.msg 00007 import roslib.rostime 00008 import geometry_msgs.msg 00009 import sensor_msgs.msg 00010 import std_msgs.msg 00011 00012 class FilterJointTrajectoryRequest(roslib.message.Message): 00013 _md5sum = "ab323cbf1c60ab841b012481156f47ba" 00014 _type = "arm_navigation_msgs/FilterJointTrajectoryRequest" 00015 _has_header = False #flag to mark the presence of a Header object 00016 _full_text = """ 00017 trajectory_msgs/JointTrajectory trajectory 00018 00019 00020 00021 00022 arm_navigation_msgs/RobotState start_state 00023 00024 00025 00026 00027 arm_navigation_msgs/JointLimits[] limits 00028 00029 00030 duration allowed_time 00031 00032 ================================================================================ 00033 MSG: trajectory_msgs/JointTrajectory 00034 Header header 00035 string[] joint_names 00036 JointTrajectoryPoint[] points 00037 ================================================================================ 00038 MSG: std_msgs/Header 00039 # Standard metadata for higher-level stamped data types. 00040 # This is generally used to communicate timestamped data 00041 # in a particular coordinate frame. 00042 # 00043 # sequence ID: consecutively increasing ID 00044 uint32 seq 00045 #Two-integer timestamp that is expressed as: 00046 # * stamp.secs: seconds (stamp_secs) since epoch 00047 # * stamp.nsecs: nanoseconds since stamp_secs 00048 # time-handling sugar is provided by the client library 00049 time stamp 00050 #Frame this data is associated with 00051 # 0: no frame 00052 # 1: global frame 00053 string frame_id 00054 00055 ================================================================================ 00056 MSG: trajectory_msgs/JointTrajectoryPoint 00057 float64[] positions 00058 float64[] velocities 00059 float64[] accelerations 00060 duration time_from_start 00061 ================================================================================ 00062 MSG: arm_navigation_msgs/RobotState 00063 # This message contains information about the robot state, i.e. the positions of its joints and links 00064 sensor_msgs/JointState joint_state 00065 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state 00066 00067 ================================================================================ 00068 MSG: sensor_msgs/JointState 00069 # This is a message that holds data to describe the state of a set of torque controlled joints. 00070 # 00071 # The state of each joint (revolute or prismatic) is defined by: 00072 # * the position of the joint (rad or m), 00073 # * the velocity of the joint (rad/s or m/s) and 00074 # * the effort that is applied in the joint (Nm or N). 00075 # 00076 # Each joint is uniquely identified by its name 00077 # The header specifies the time at which the joint states were recorded. All the joint states 00078 # in one message have to be recorded at the same time. 00079 # 00080 # This message consists of a multiple arrays, one for each part of the joint state. 00081 # The goal is to make each of the fields optional. When e.g. your joints have no 00082 # effort associated with them, you can leave the effort array empty. 00083 # 00084 # All arrays in this message should have the same size, or be empty. 00085 # This is the only way to uniquely associate the joint name with the correct 00086 # states. 00087 00088 00089 Header header 00090 00091 string[] name 00092 float64[] position 00093 float64[] velocity 00094 float64[] effort 00095 00096 ================================================================================ 00097 MSG: arm_navigation_msgs/MultiDOFJointState 00098 #A representation of a multi-dof joint state 00099 time stamp 00100 string[] joint_names 00101 string[] frame_ids 00102 string[] child_frame_ids 00103 geometry_msgs/Pose[] poses 00104 00105 ================================================================================ 00106 MSG: geometry_msgs/Pose 00107 # A representation of pose in free space, composed of postion and orientation. 00108 Point position 00109 Quaternion orientation 00110 00111 ================================================================================ 00112 MSG: geometry_msgs/Point 00113 # This contains the position of a point in free space 00114 float64 x 00115 float64 y 00116 float64 z 00117 00118 ================================================================================ 00119 MSG: geometry_msgs/Quaternion 00120 # This represents an orientation in free space in quaternion form. 00121 00122 float64 x 00123 float64 y 00124 float64 z 00125 float64 w 00126 00127 ================================================================================ 00128 MSG: arm_navigation_msgs/JointLimits 00129 # This message contains information about limits of a particular joint (or control dimension) 00130 string joint_name 00131 00132 # true if the joint has position limits 00133 bool has_position_limits 00134 00135 # min and max position limits 00136 float64 min_position 00137 float64 max_position 00138 00139 # true if joint has velocity limits 00140 bool has_velocity_limits 00141 00142 # max velocity limit 00143 float64 max_velocity 00144 # min_velocity is assumed to be -max_velocity 00145 00146 # true if joint has acceleration limits 00147 bool has_acceleration_limits 00148 # max acceleration limit 00149 float64 max_acceleration 00150 # min_acceleration is assumed to be -max_acceleration 00151 00152 """ 00153 __slots__ = ['trajectory','start_state','limits','allowed_time'] 00154 _slot_types = ['trajectory_msgs/JointTrajectory','arm_navigation_msgs/RobotState','arm_navigation_msgs/JointLimits[]','duration'] 00155 00156 def __init__(self, *args, **kwds): 00157 """ 00158 Constructor. Any message fields that are implicitly/explicitly 00159 set to None will be assigned a default value. The recommend 00160 use is keyword arguments as this is more robust to future message 00161 changes. You cannot mix in-order arguments and keyword arguments. 00162 00163 The available fields are: 00164 trajectory,start_state,limits,allowed_time 00165 00166 @param args: complete set of field values, in .msg order 00167 @param kwds: use keyword arguments corresponding to message field names 00168 to set specific fields. 00169 """ 00170 if args or kwds: 00171 super(FilterJointTrajectoryRequest, self).__init__(*args, **kwds) 00172 #message fields cannot be None, assign default values for those that are 00173 if self.trajectory is None: 00174 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00175 if self.start_state is None: 00176 self.start_state = arm_navigation_msgs.msg.RobotState() 00177 if self.limits is None: 00178 self.limits = [] 00179 if self.allowed_time is None: 00180 self.allowed_time = roslib.rostime.Duration() 00181 else: 00182 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00183 self.start_state = arm_navigation_msgs.msg.RobotState() 00184 self.limits = [] 00185 self.allowed_time = roslib.rostime.Duration() 00186 00187 def _get_types(self): 00188 """ 00189 internal API method 00190 """ 00191 return self._slot_types 00192 00193 def serialize(self, buff): 00194 """ 00195 serialize message into buffer 00196 @param buff: buffer 00197 @type buff: StringIO 00198 """ 00199 try: 00200 _x = self 00201 buff.write(_struct_3I.pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) 00202 _x = self.trajectory.header.frame_id 00203 length = len(_x) 00204 buff.write(struct.pack('<I%ss'%length, length, _x)) 00205 length = len(self.trajectory.joint_names) 00206 buff.write(_struct_I.pack(length)) 00207 for val1 in self.trajectory.joint_names: 00208 length = len(val1) 00209 buff.write(struct.pack('<I%ss'%length, length, val1)) 00210 length = len(self.trajectory.points) 00211 buff.write(_struct_I.pack(length)) 00212 for val1 in self.trajectory.points: 00213 length = len(val1.positions) 00214 buff.write(_struct_I.pack(length)) 00215 pattern = '<%sd'%length 00216 buff.write(struct.pack(pattern, *val1.positions)) 00217 length = len(val1.velocities) 00218 buff.write(_struct_I.pack(length)) 00219 pattern = '<%sd'%length 00220 buff.write(struct.pack(pattern, *val1.velocities)) 00221 length = len(val1.accelerations) 00222 buff.write(_struct_I.pack(length)) 00223 pattern = '<%sd'%length 00224 buff.write(struct.pack(pattern, *val1.accelerations)) 00225 _v1 = val1.time_from_start 00226 _x = _v1 00227 buff.write(_struct_2i.pack(_x.secs, _x.nsecs)) 00228 _x = self 00229 buff.write(_struct_3I.pack(_x.start_state.joint_state.header.seq, _x.start_state.joint_state.header.stamp.secs, _x.start_state.joint_state.header.stamp.nsecs)) 00230 _x = self.start_state.joint_state.header.frame_id 00231 length = len(_x) 00232 buff.write(struct.pack('<I%ss'%length, length, _x)) 00233 length = len(self.start_state.joint_state.name) 00234 buff.write(_struct_I.pack(length)) 00235 for val1 in self.start_state.joint_state.name: 00236 length = len(val1) 00237 buff.write(struct.pack('<I%ss'%length, length, val1)) 00238 length = len(self.start_state.joint_state.position) 00239 buff.write(_struct_I.pack(length)) 00240 pattern = '<%sd'%length 00241 buff.write(struct.pack(pattern, *self.start_state.joint_state.position)) 00242 length = len(self.start_state.joint_state.velocity) 00243 buff.write(_struct_I.pack(length)) 00244 pattern = '<%sd'%length 00245 buff.write(struct.pack(pattern, *self.start_state.joint_state.velocity)) 00246 length = len(self.start_state.joint_state.effort) 00247 buff.write(_struct_I.pack(length)) 00248 pattern = '<%sd'%length 00249 buff.write(struct.pack(pattern, *self.start_state.joint_state.effort)) 00250 _x = self 00251 buff.write(_struct_2I.pack(_x.start_state.multi_dof_joint_state.stamp.secs, _x.start_state.multi_dof_joint_state.stamp.nsecs)) 00252 length = len(self.start_state.multi_dof_joint_state.joint_names) 00253 buff.write(_struct_I.pack(length)) 00254 for val1 in self.start_state.multi_dof_joint_state.joint_names: 00255 length = len(val1) 00256 buff.write(struct.pack('<I%ss'%length, length, val1)) 00257 length = len(self.start_state.multi_dof_joint_state.frame_ids) 00258 buff.write(_struct_I.pack(length)) 00259 for val1 in self.start_state.multi_dof_joint_state.frame_ids: 00260 length = len(val1) 00261 buff.write(struct.pack('<I%ss'%length, length, val1)) 00262 length = len(self.start_state.multi_dof_joint_state.child_frame_ids) 00263 buff.write(_struct_I.pack(length)) 00264 for val1 in self.start_state.multi_dof_joint_state.child_frame_ids: 00265 length = len(val1) 00266 buff.write(struct.pack('<I%ss'%length, length, val1)) 00267 length = len(self.start_state.multi_dof_joint_state.poses) 00268 buff.write(_struct_I.pack(length)) 00269 for val1 in self.start_state.multi_dof_joint_state.poses: 00270 _v2 = val1.position 00271 _x = _v2 00272 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00273 _v3 = val1.orientation 00274 _x = _v3 00275 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00276 length = len(self.limits) 00277 buff.write(_struct_I.pack(length)) 00278 for val1 in self.limits: 00279 _x = val1.joint_name 00280 length = len(_x) 00281 buff.write(struct.pack('<I%ss'%length, length, _x)) 00282 _x = val1 00283 buff.write(_struct_B2dBdBd.pack(_x.has_position_limits, _x.min_position, _x.max_position, _x.has_velocity_limits, _x.max_velocity, _x.has_acceleration_limits, _x.max_acceleration)) 00284 _x = self 00285 buff.write(_struct_2i.pack(_x.allowed_time.secs, _x.allowed_time.nsecs)) 00286 except struct.error as se: self._check_types(se) 00287 except TypeError as te: self._check_types(te) 00288 00289 def deserialize(self, str): 00290 """ 00291 unpack serialized message in str into this message instance 00292 @param str: byte array of serialized message 00293 @type str: str 00294 """ 00295 try: 00296 if self.trajectory is None: 00297 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00298 if self.start_state is None: 00299 self.start_state = arm_navigation_msgs.msg.RobotState() 00300 if self.allowed_time is None: 00301 self.allowed_time = roslib.rostime.Duration() 00302 end = 0 00303 _x = self 00304 start = end 00305 end += 12 00306 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00307 start = end 00308 end += 4 00309 (length,) = _struct_I.unpack(str[start:end]) 00310 start = end 00311 end += length 00312 self.trajectory.header.frame_id = str[start:end] 00313 start = end 00314 end += 4 00315 (length,) = _struct_I.unpack(str[start:end]) 00316 self.trajectory.joint_names = [] 00317 for i in range(0, length): 00318 start = end 00319 end += 4 00320 (length,) = _struct_I.unpack(str[start:end]) 00321 start = end 00322 end += length 00323 val1 = str[start:end] 00324 self.trajectory.joint_names.append(val1) 00325 start = end 00326 end += 4 00327 (length,) = _struct_I.unpack(str[start:end]) 00328 self.trajectory.points = [] 00329 for i in range(0, length): 00330 val1 = trajectory_msgs.msg.JointTrajectoryPoint() 00331 start = end 00332 end += 4 00333 (length,) = _struct_I.unpack(str[start:end]) 00334 pattern = '<%sd'%length 00335 start = end 00336 end += struct.calcsize(pattern) 00337 val1.positions = struct.unpack(pattern, str[start:end]) 00338 start = end 00339 end += 4 00340 (length,) = _struct_I.unpack(str[start:end]) 00341 pattern = '<%sd'%length 00342 start = end 00343 end += struct.calcsize(pattern) 00344 val1.velocities = struct.unpack(pattern, str[start:end]) 00345 start = end 00346 end += 4 00347 (length,) = _struct_I.unpack(str[start:end]) 00348 pattern = '<%sd'%length 00349 start = end 00350 end += struct.calcsize(pattern) 00351 val1.accelerations = struct.unpack(pattern, str[start:end]) 00352 _v4 = val1.time_from_start 00353 _x = _v4 00354 start = end 00355 end += 8 00356 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end]) 00357 self.trajectory.points.append(val1) 00358 _x = self 00359 start = end 00360 end += 12 00361 (_x.start_state.joint_state.header.seq, _x.start_state.joint_state.header.stamp.secs, _x.start_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00362 start = end 00363 end += 4 00364 (length,) = _struct_I.unpack(str[start:end]) 00365 start = end 00366 end += length 00367 self.start_state.joint_state.header.frame_id = str[start:end] 00368 start = end 00369 end += 4 00370 (length,) = _struct_I.unpack(str[start:end]) 00371 self.start_state.joint_state.name = [] 00372 for i in range(0, length): 00373 start = end 00374 end += 4 00375 (length,) = _struct_I.unpack(str[start:end]) 00376 start = end 00377 end += length 00378 val1 = str[start:end] 00379 self.start_state.joint_state.name.append(val1) 00380 start = end 00381 end += 4 00382 (length,) = _struct_I.unpack(str[start:end]) 00383 pattern = '<%sd'%length 00384 start = end 00385 end += struct.calcsize(pattern) 00386 self.start_state.joint_state.position = struct.unpack(pattern, str[start:end]) 00387 start = end 00388 end += 4 00389 (length,) = _struct_I.unpack(str[start:end]) 00390 pattern = '<%sd'%length 00391 start = end 00392 end += struct.calcsize(pattern) 00393 self.start_state.joint_state.velocity = struct.unpack(pattern, str[start:end]) 00394 start = end 00395 end += 4 00396 (length,) = _struct_I.unpack(str[start:end]) 00397 pattern = '<%sd'%length 00398 start = end 00399 end += struct.calcsize(pattern) 00400 self.start_state.joint_state.effort = struct.unpack(pattern, str[start:end]) 00401 _x = self 00402 start = end 00403 end += 8 00404 (_x.start_state.multi_dof_joint_state.stamp.secs, _x.start_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00405 start = end 00406 end += 4 00407 (length,) = _struct_I.unpack(str[start:end]) 00408 self.start_state.multi_dof_joint_state.joint_names = [] 00409 for i in range(0, length): 00410 start = end 00411 end += 4 00412 (length,) = _struct_I.unpack(str[start:end]) 00413 start = end 00414 end += length 00415 val1 = str[start:end] 00416 self.start_state.multi_dof_joint_state.joint_names.append(val1) 00417 start = end 00418 end += 4 00419 (length,) = _struct_I.unpack(str[start:end]) 00420 self.start_state.multi_dof_joint_state.frame_ids = [] 00421 for i in range(0, length): 00422 start = end 00423 end += 4 00424 (length,) = _struct_I.unpack(str[start:end]) 00425 start = end 00426 end += length 00427 val1 = str[start:end] 00428 self.start_state.multi_dof_joint_state.frame_ids.append(val1) 00429 start = end 00430 end += 4 00431 (length,) = _struct_I.unpack(str[start:end]) 00432 self.start_state.multi_dof_joint_state.child_frame_ids = [] 00433 for i in range(0, length): 00434 start = end 00435 end += 4 00436 (length,) = _struct_I.unpack(str[start:end]) 00437 start = end 00438 end += length 00439 val1 = str[start:end] 00440 self.start_state.multi_dof_joint_state.child_frame_ids.append(val1) 00441 start = end 00442 end += 4 00443 (length,) = _struct_I.unpack(str[start:end]) 00444 self.start_state.multi_dof_joint_state.poses = [] 00445 for i in range(0, length): 00446 val1 = geometry_msgs.msg.Pose() 00447 _v5 = val1.position 00448 _x = _v5 00449 start = end 00450 end += 24 00451 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00452 _v6 = val1.orientation 00453 _x = _v6 00454 start = end 00455 end += 32 00456 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00457 self.start_state.multi_dof_joint_state.poses.append(val1) 00458 start = end 00459 end += 4 00460 (length,) = _struct_I.unpack(str[start:end]) 00461 self.limits = [] 00462 for i in range(0, length): 00463 val1 = arm_navigation_msgs.msg.JointLimits() 00464 start = end 00465 end += 4 00466 (length,) = _struct_I.unpack(str[start:end]) 00467 start = end 00468 end += length 00469 val1.joint_name = str[start:end] 00470 _x = val1 00471 start = end 00472 end += 35 00473 (_x.has_position_limits, _x.min_position, _x.max_position, _x.has_velocity_limits, _x.max_velocity, _x.has_acceleration_limits, _x.max_acceleration,) = _struct_B2dBdBd.unpack(str[start:end]) 00474 val1.has_position_limits = bool(val1.has_position_limits) 00475 val1.has_velocity_limits = bool(val1.has_velocity_limits) 00476 val1.has_acceleration_limits = bool(val1.has_acceleration_limits) 00477 self.limits.append(val1) 00478 _x = self 00479 start = end 00480 end += 8 00481 (_x.allowed_time.secs, _x.allowed_time.nsecs,) = _struct_2i.unpack(str[start:end]) 00482 self.allowed_time.canon() 00483 return self 00484 except struct.error as e: 00485 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00486 00487 00488 def serialize_numpy(self, buff, numpy): 00489 """ 00490 serialize message with numpy array types into buffer 00491 @param buff: buffer 00492 @type buff: StringIO 00493 @param numpy: numpy python module 00494 @type numpy module 00495 """ 00496 try: 00497 _x = self 00498 buff.write(_struct_3I.pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) 00499 _x = self.trajectory.header.frame_id 00500 length = len(_x) 00501 buff.write(struct.pack('<I%ss'%length, length, _x)) 00502 length = len(self.trajectory.joint_names) 00503 buff.write(_struct_I.pack(length)) 00504 for val1 in self.trajectory.joint_names: 00505 length = len(val1) 00506 buff.write(struct.pack('<I%ss'%length, length, val1)) 00507 length = len(self.trajectory.points) 00508 buff.write(_struct_I.pack(length)) 00509 for val1 in self.trajectory.points: 00510 length = len(val1.positions) 00511 buff.write(_struct_I.pack(length)) 00512 pattern = '<%sd'%length 00513 buff.write(val1.positions.tostring()) 00514 length = len(val1.velocities) 00515 buff.write(_struct_I.pack(length)) 00516 pattern = '<%sd'%length 00517 buff.write(val1.velocities.tostring()) 00518 length = len(val1.accelerations) 00519 buff.write(_struct_I.pack(length)) 00520 pattern = '<%sd'%length 00521 buff.write(val1.accelerations.tostring()) 00522 _v7 = val1.time_from_start 00523 _x = _v7 00524 buff.write(_struct_2i.pack(_x.secs, _x.nsecs)) 00525 _x = self 00526 buff.write(_struct_3I.pack(_x.start_state.joint_state.header.seq, _x.start_state.joint_state.header.stamp.secs, _x.start_state.joint_state.header.stamp.nsecs)) 00527 _x = self.start_state.joint_state.header.frame_id 00528 length = len(_x) 00529 buff.write(struct.pack('<I%ss'%length, length, _x)) 00530 length = len(self.start_state.joint_state.name) 00531 buff.write(_struct_I.pack(length)) 00532 for val1 in self.start_state.joint_state.name: 00533 length = len(val1) 00534 buff.write(struct.pack('<I%ss'%length, length, val1)) 00535 length = len(self.start_state.joint_state.position) 00536 buff.write(_struct_I.pack(length)) 00537 pattern = '<%sd'%length 00538 buff.write(self.start_state.joint_state.position.tostring()) 00539 length = len(self.start_state.joint_state.velocity) 00540 buff.write(_struct_I.pack(length)) 00541 pattern = '<%sd'%length 00542 buff.write(self.start_state.joint_state.velocity.tostring()) 00543 length = len(self.start_state.joint_state.effort) 00544 buff.write(_struct_I.pack(length)) 00545 pattern = '<%sd'%length 00546 buff.write(self.start_state.joint_state.effort.tostring()) 00547 _x = self 00548 buff.write(_struct_2I.pack(_x.start_state.multi_dof_joint_state.stamp.secs, _x.start_state.multi_dof_joint_state.stamp.nsecs)) 00549 length = len(self.start_state.multi_dof_joint_state.joint_names) 00550 buff.write(_struct_I.pack(length)) 00551 for val1 in self.start_state.multi_dof_joint_state.joint_names: 00552 length = len(val1) 00553 buff.write(struct.pack('<I%ss'%length, length, val1)) 00554 length = len(self.start_state.multi_dof_joint_state.frame_ids) 00555 buff.write(_struct_I.pack(length)) 00556 for val1 in self.start_state.multi_dof_joint_state.frame_ids: 00557 length = len(val1) 00558 buff.write(struct.pack('<I%ss'%length, length, val1)) 00559 length = len(self.start_state.multi_dof_joint_state.child_frame_ids) 00560 buff.write(_struct_I.pack(length)) 00561 for val1 in self.start_state.multi_dof_joint_state.child_frame_ids: 00562 length = len(val1) 00563 buff.write(struct.pack('<I%ss'%length, length, val1)) 00564 length = len(self.start_state.multi_dof_joint_state.poses) 00565 buff.write(_struct_I.pack(length)) 00566 for val1 in self.start_state.multi_dof_joint_state.poses: 00567 _v8 = val1.position 00568 _x = _v8 00569 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00570 _v9 = val1.orientation 00571 _x = _v9 00572 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00573 length = len(self.limits) 00574 buff.write(_struct_I.pack(length)) 00575 for val1 in self.limits: 00576 _x = val1.joint_name 00577 length = len(_x) 00578 buff.write(struct.pack('<I%ss'%length, length, _x)) 00579 _x = val1 00580 buff.write(_struct_B2dBdBd.pack(_x.has_position_limits, _x.min_position, _x.max_position, _x.has_velocity_limits, _x.max_velocity, _x.has_acceleration_limits, _x.max_acceleration)) 00581 _x = self 00582 buff.write(_struct_2i.pack(_x.allowed_time.secs, _x.allowed_time.nsecs)) 00583 except struct.error as se: self._check_types(se) 00584 except TypeError as te: self._check_types(te) 00585 00586 def deserialize_numpy(self, str, numpy): 00587 """ 00588 unpack serialized message in str into this message instance using numpy for array types 00589 @param str: byte array of serialized message 00590 @type str: str 00591 @param numpy: numpy python module 00592 @type numpy: module 00593 """ 00594 try: 00595 if self.trajectory is None: 00596 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00597 if self.start_state is None: 00598 self.start_state = arm_navigation_msgs.msg.RobotState() 00599 if self.allowed_time is None: 00600 self.allowed_time = roslib.rostime.Duration() 00601 end = 0 00602 _x = self 00603 start = end 00604 end += 12 00605 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00606 start = end 00607 end += 4 00608 (length,) = _struct_I.unpack(str[start:end]) 00609 start = end 00610 end += length 00611 self.trajectory.header.frame_id = str[start:end] 00612 start = end 00613 end += 4 00614 (length,) = _struct_I.unpack(str[start:end]) 00615 self.trajectory.joint_names = [] 00616 for i in range(0, length): 00617 start = end 00618 end += 4 00619 (length,) = _struct_I.unpack(str[start:end]) 00620 start = end 00621 end += length 00622 val1 = str[start:end] 00623 self.trajectory.joint_names.append(val1) 00624 start = end 00625 end += 4 00626 (length,) = _struct_I.unpack(str[start:end]) 00627 self.trajectory.points = [] 00628 for i in range(0, length): 00629 val1 = trajectory_msgs.msg.JointTrajectoryPoint() 00630 start = end 00631 end += 4 00632 (length,) = _struct_I.unpack(str[start:end]) 00633 pattern = '<%sd'%length 00634 start = end 00635 end += struct.calcsize(pattern) 00636 val1.positions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00637 start = end 00638 end += 4 00639 (length,) = _struct_I.unpack(str[start:end]) 00640 pattern = '<%sd'%length 00641 start = end 00642 end += struct.calcsize(pattern) 00643 val1.velocities = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00644 start = end 00645 end += 4 00646 (length,) = _struct_I.unpack(str[start:end]) 00647 pattern = '<%sd'%length 00648 start = end 00649 end += struct.calcsize(pattern) 00650 val1.accelerations = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00651 _v10 = val1.time_from_start 00652 _x = _v10 00653 start = end 00654 end += 8 00655 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end]) 00656 self.trajectory.points.append(val1) 00657 _x = self 00658 start = end 00659 end += 12 00660 (_x.start_state.joint_state.header.seq, _x.start_state.joint_state.header.stamp.secs, _x.start_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00661 start = end 00662 end += 4 00663 (length,) = _struct_I.unpack(str[start:end]) 00664 start = end 00665 end += length 00666 self.start_state.joint_state.header.frame_id = str[start:end] 00667 start = end 00668 end += 4 00669 (length,) = _struct_I.unpack(str[start:end]) 00670 self.start_state.joint_state.name = [] 00671 for i in range(0, length): 00672 start = end 00673 end += 4 00674 (length,) = _struct_I.unpack(str[start:end]) 00675 start = end 00676 end += length 00677 val1 = str[start:end] 00678 self.start_state.joint_state.name.append(val1) 00679 start = end 00680 end += 4 00681 (length,) = _struct_I.unpack(str[start:end]) 00682 pattern = '<%sd'%length 00683 start = end 00684 end += struct.calcsize(pattern) 00685 self.start_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00686 start = end 00687 end += 4 00688 (length,) = _struct_I.unpack(str[start:end]) 00689 pattern = '<%sd'%length 00690 start = end 00691 end += struct.calcsize(pattern) 00692 self.start_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00693 start = end 00694 end += 4 00695 (length,) = _struct_I.unpack(str[start:end]) 00696 pattern = '<%sd'%length 00697 start = end 00698 end += struct.calcsize(pattern) 00699 self.start_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00700 _x = self 00701 start = end 00702 end += 8 00703 (_x.start_state.multi_dof_joint_state.stamp.secs, _x.start_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00704 start = end 00705 end += 4 00706 (length,) = _struct_I.unpack(str[start:end]) 00707 self.start_state.multi_dof_joint_state.joint_names = [] 00708 for i in range(0, length): 00709 start = end 00710 end += 4 00711 (length,) = _struct_I.unpack(str[start:end]) 00712 start = end 00713 end += length 00714 val1 = str[start:end] 00715 self.start_state.multi_dof_joint_state.joint_names.append(val1) 00716 start = end 00717 end += 4 00718 (length,) = _struct_I.unpack(str[start:end]) 00719 self.start_state.multi_dof_joint_state.frame_ids = [] 00720 for i in range(0, length): 00721 start = end 00722 end += 4 00723 (length,) = _struct_I.unpack(str[start:end]) 00724 start = end 00725 end += length 00726 val1 = str[start:end] 00727 self.start_state.multi_dof_joint_state.frame_ids.append(val1) 00728 start = end 00729 end += 4 00730 (length,) = _struct_I.unpack(str[start:end]) 00731 self.start_state.multi_dof_joint_state.child_frame_ids = [] 00732 for i in range(0, length): 00733 start = end 00734 end += 4 00735 (length,) = _struct_I.unpack(str[start:end]) 00736 start = end 00737 end += length 00738 val1 = str[start:end] 00739 self.start_state.multi_dof_joint_state.child_frame_ids.append(val1) 00740 start = end 00741 end += 4 00742 (length,) = _struct_I.unpack(str[start:end]) 00743 self.start_state.multi_dof_joint_state.poses = [] 00744 for i in range(0, length): 00745 val1 = geometry_msgs.msg.Pose() 00746 _v11 = val1.position 00747 _x = _v11 00748 start = end 00749 end += 24 00750 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00751 _v12 = val1.orientation 00752 _x = _v12 00753 start = end 00754 end += 32 00755 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00756 self.start_state.multi_dof_joint_state.poses.append(val1) 00757 start = end 00758 end += 4 00759 (length,) = _struct_I.unpack(str[start:end]) 00760 self.limits = [] 00761 for i in range(0, length): 00762 val1 = arm_navigation_msgs.msg.JointLimits() 00763 start = end 00764 end += 4 00765 (length,) = _struct_I.unpack(str[start:end]) 00766 start = end 00767 end += length 00768 val1.joint_name = str[start:end] 00769 _x = val1 00770 start = end 00771 end += 35 00772 (_x.has_position_limits, _x.min_position, _x.max_position, _x.has_velocity_limits, _x.max_velocity, _x.has_acceleration_limits, _x.max_acceleration,) = _struct_B2dBdBd.unpack(str[start:end]) 00773 val1.has_position_limits = bool(val1.has_position_limits) 00774 val1.has_velocity_limits = bool(val1.has_velocity_limits) 00775 val1.has_acceleration_limits = bool(val1.has_acceleration_limits) 00776 self.limits.append(val1) 00777 _x = self 00778 start = end 00779 end += 8 00780 (_x.allowed_time.secs, _x.allowed_time.nsecs,) = _struct_2i.unpack(str[start:end]) 00781 self.allowed_time.canon() 00782 return self 00783 except struct.error as e: 00784 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00785 00786 _struct_I = roslib.message.struct_I 00787 _struct_B2dBdBd = struct.Struct("<B2dBdBd") 00788 _struct_2I = struct.Struct("<2I") 00789 _struct_3I = struct.Struct("<3I") 00790 _struct_4d = struct.Struct("<4d") 00791 _struct_2i = struct.Struct("<2i") 00792 _struct_3d = struct.Struct("<3d") 00793 """autogenerated by genmsg_py from FilterJointTrajectoryResponse.msg. Do not edit.""" 00794 import roslib.message 00795 import struct 00796 00797 import trajectory_msgs.msg 00798 import arm_navigation_msgs.msg 00799 import roslib.rostime 00800 import std_msgs.msg 00801 00802 class FilterJointTrajectoryResponse(roslib.message.Message): 00803 _md5sum = "5b4da90f4032f9ac3da9abfb05f766cc" 00804 _type = "arm_navigation_msgs/FilterJointTrajectoryResponse" 00805 _has_header = False #flag to mark the presence of a Header object 00806 _full_text = """trajectory_msgs/JointTrajectory trajectory 00807 ArmNavigationErrorCodes error_code 00808 00809 00810 ================================================================================ 00811 MSG: trajectory_msgs/JointTrajectory 00812 Header header 00813 string[] joint_names 00814 JointTrajectoryPoint[] points 00815 ================================================================================ 00816 MSG: std_msgs/Header 00817 # Standard metadata for higher-level stamped data types. 00818 # This is generally used to communicate timestamped data 00819 # in a particular coordinate frame. 00820 # 00821 # sequence ID: consecutively increasing ID 00822 uint32 seq 00823 #Two-integer timestamp that is expressed as: 00824 # * stamp.secs: seconds (stamp_secs) since epoch 00825 # * stamp.nsecs: nanoseconds since stamp_secs 00826 # time-handling sugar is provided by the client library 00827 time stamp 00828 #Frame this data is associated with 00829 # 0: no frame 00830 # 1: global frame 00831 string frame_id 00832 00833 ================================================================================ 00834 MSG: trajectory_msgs/JointTrajectoryPoint 00835 float64[] positions 00836 float64[] velocities 00837 float64[] accelerations 00838 duration time_from_start 00839 ================================================================================ 00840 MSG: arm_navigation_msgs/ArmNavigationErrorCodes 00841 int32 val 00842 00843 # overall behavior 00844 int32 PLANNING_FAILED=-1 00845 int32 SUCCESS=1 00846 int32 TIMED_OUT=-2 00847 00848 # start state errors 00849 int32 START_STATE_IN_COLLISION=-3 00850 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4 00851 00852 # goal errors 00853 int32 GOAL_IN_COLLISION=-5 00854 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6 00855 00856 # robot state 00857 int32 INVALID_ROBOT_STATE=-7 00858 int32 INCOMPLETE_ROBOT_STATE=-8 00859 00860 # planning request errors 00861 int32 INVALID_PLANNER_ID=-9 00862 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10 00863 int32 INVALID_ALLOWED_PLANNING_TIME=-11 00864 int32 INVALID_GROUP_NAME=-12 00865 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13 00866 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14 00867 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15 00868 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16 00869 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17 00870 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18 00871 00872 # state/trajectory monitor errors 00873 int32 INVALID_TRAJECTORY=-19 00874 int32 INVALID_INDEX=-20 00875 int32 JOINT_LIMITS_VIOLATED=-21 00876 int32 PATH_CONSTRAINTS_VIOLATED=-22 00877 int32 COLLISION_CONSTRAINTS_VIOLATED=-23 00878 int32 GOAL_CONSTRAINTS_VIOLATED=-24 00879 int32 JOINTS_NOT_MOVING=-25 00880 int32 TRAJECTORY_CONTROLLER_FAILED=-26 00881 00882 # system errors 00883 int32 FRAME_TRANSFORM_FAILURE=-27 00884 int32 COLLISION_CHECKING_UNAVAILABLE=-28 00885 int32 ROBOT_STATE_STALE=-29 00886 int32 SENSOR_INFO_STALE=-30 00887 00888 # kinematics errors 00889 int32 NO_IK_SOLUTION=-31 00890 int32 INVALID_LINK_NAME=-32 00891 int32 IK_LINK_IN_COLLISION=-33 00892 int32 NO_FK_SOLUTION=-34 00893 int32 KINEMATICS_STATE_IN_COLLISION=-35 00894 00895 # general errors 00896 int32 INVALID_TIMEOUT=-36 00897 00898 00899 """ 00900 __slots__ = ['trajectory','error_code'] 00901 _slot_types = ['trajectory_msgs/JointTrajectory','arm_navigation_msgs/ArmNavigationErrorCodes'] 00902 00903 def __init__(self, *args, **kwds): 00904 """ 00905 Constructor. Any message fields that are implicitly/explicitly 00906 set to None will be assigned a default value. The recommend 00907 use is keyword arguments as this is more robust to future message 00908 changes. You cannot mix in-order arguments and keyword arguments. 00909 00910 The available fields are: 00911 trajectory,error_code 00912 00913 @param args: complete set of field values, in .msg order 00914 @param kwds: use keyword arguments corresponding to message field names 00915 to set specific fields. 00916 """ 00917 if args or kwds: 00918 super(FilterJointTrajectoryResponse, self).__init__(*args, **kwds) 00919 #message fields cannot be None, assign default values for those that are 00920 if self.trajectory is None: 00921 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00922 if self.error_code is None: 00923 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes() 00924 else: 00925 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00926 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes() 00927 00928 def _get_types(self): 00929 """ 00930 internal API method 00931 """ 00932 return self._slot_types 00933 00934 def serialize(self, buff): 00935 """ 00936 serialize message into buffer 00937 @param buff: buffer 00938 @type buff: StringIO 00939 """ 00940 try: 00941 _x = self 00942 buff.write(_struct_3I.pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) 00943 _x = self.trajectory.header.frame_id 00944 length = len(_x) 00945 buff.write(struct.pack('<I%ss'%length, length, _x)) 00946 length = len(self.trajectory.joint_names) 00947 buff.write(_struct_I.pack(length)) 00948 for val1 in self.trajectory.joint_names: 00949 length = len(val1) 00950 buff.write(struct.pack('<I%ss'%length, length, val1)) 00951 length = len(self.trajectory.points) 00952 buff.write(_struct_I.pack(length)) 00953 for val1 in self.trajectory.points: 00954 length = len(val1.positions) 00955 buff.write(_struct_I.pack(length)) 00956 pattern = '<%sd'%length 00957 buff.write(struct.pack(pattern, *val1.positions)) 00958 length = len(val1.velocities) 00959 buff.write(_struct_I.pack(length)) 00960 pattern = '<%sd'%length 00961 buff.write(struct.pack(pattern, *val1.velocities)) 00962 length = len(val1.accelerations) 00963 buff.write(_struct_I.pack(length)) 00964 pattern = '<%sd'%length 00965 buff.write(struct.pack(pattern, *val1.accelerations)) 00966 _v13 = val1.time_from_start 00967 _x = _v13 00968 buff.write(_struct_2i.pack(_x.secs, _x.nsecs)) 00969 buff.write(_struct_i.pack(self.error_code.val)) 00970 except struct.error as se: self._check_types(se) 00971 except TypeError as te: self._check_types(te) 00972 00973 def deserialize(self, str): 00974 """ 00975 unpack serialized message in str into this message instance 00976 @param str: byte array of serialized message 00977 @type str: str 00978 """ 00979 try: 00980 if self.trajectory is None: 00981 self.trajectory = trajectory_msgs.msg.JointTrajectory() 00982 if self.error_code is None: 00983 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes() 00984 end = 0 00985 _x = self 00986 start = end 00987 end += 12 00988 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00989 start = end 00990 end += 4 00991 (length,) = _struct_I.unpack(str[start:end]) 00992 start = end 00993 end += length 00994 self.trajectory.header.frame_id = str[start:end] 00995 start = end 00996 end += 4 00997 (length,) = _struct_I.unpack(str[start:end]) 00998 self.trajectory.joint_names = [] 00999 for i in range(0, length): 01000 start = end 01001 end += 4 01002 (length,) = _struct_I.unpack(str[start:end]) 01003 start = end 01004 end += length 01005 val1 = str[start:end] 01006 self.trajectory.joint_names.append(val1) 01007 start = end 01008 end += 4 01009 (length,) = _struct_I.unpack(str[start:end]) 01010 self.trajectory.points = [] 01011 for i in range(0, length): 01012 val1 = trajectory_msgs.msg.JointTrajectoryPoint() 01013 start = end 01014 end += 4 01015 (length,) = _struct_I.unpack(str[start:end]) 01016 pattern = '<%sd'%length 01017 start = end 01018 end += struct.calcsize(pattern) 01019 val1.positions = struct.unpack(pattern, str[start:end]) 01020 start = end 01021 end += 4 01022 (length,) = _struct_I.unpack(str[start:end]) 01023 pattern = '<%sd'%length 01024 start = end 01025 end += struct.calcsize(pattern) 01026 val1.velocities = struct.unpack(pattern, str[start:end]) 01027 start = end 01028 end += 4 01029 (length,) = _struct_I.unpack(str[start:end]) 01030 pattern = '<%sd'%length 01031 start = end 01032 end += struct.calcsize(pattern) 01033 val1.accelerations = struct.unpack(pattern, str[start:end]) 01034 _v14 = val1.time_from_start 01035 _x = _v14 01036 start = end 01037 end += 8 01038 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end]) 01039 self.trajectory.points.append(val1) 01040 start = end 01041 end += 4 01042 (self.error_code.val,) = _struct_i.unpack(str[start:end]) 01043 return self 01044 except struct.error as e: 01045 raise roslib.message.DeserializationError(e) #most likely buffer underfill 01046 01047 01048 def serialize_numpy(self, buff, numpy): 01049 """ 01050 serialize message with numpy array types into buffer 01051 @param buff: buffer 01052 @type buff: StringIO 01053 @param numpy: numpy python module 01054 @type numpy module 01055 """ 01056 try: 01057 _x = self 01058 buff.write(_struct_3I.pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) 01059 _x = self.trajectory.header.frame_id 01060 length = len(_x) 01061 buff.write(struct.pack('<I%ss'%length, length, _x)) 01062 length = len(self.trajectory.joint_names) 01063 buff.write(_struct_I.pack(length)) 01064 for val1 in self.trajectory.joint_names: 01065 length = len(val1) 01066 buff.write(struct.pack('<I%ss'%length, length, val1)) 01067 length = len(self.trajectory.points) 01068 buff.write(_struct_I.pack(length)) 01069 for val1 in self.trajectory.points: 01070 length = len(val1.positions) 01071 buff.write(_struct_I.pack(length)) 01072 pattern = '<%sd'%length 01073 buff.write(val1.positions.tostring()) 01074 length = len(val1.velocities) 01075 buff.write(_struct_I.pack(length)) 01076 pattern = '<%sd'%length 01077 buff.write(val1.velocities.tostring()) 01078 length = len(val1.accelerations) 01079 buff.write(_struct_I.pack(length)) 01080 pattern = '<%sd'%length 01081 buff.write(val1.accelerations.tostring()) 01082 _v15 = val1.time_from_start 01083 _x = _v15 01084 buff.write(_struct_2i.pack(_x.secs, _x.nsecs)) 01085 buff.write(_struct_i.pack(self.error_code.val)) 01086 except struct.error as se: self._check_types(se) 01087 except TypeError as te: self._check_types(te) 01088 01089 def deserialize_numpy(self, str, numpy): 01090 """ 01091 unpack serialized message in str into this message instance using numpy for array types 01092 @param str: byte array of serialized message 01093 @type str: str 01094 @param numpy: numpy python module 01095 @type numpy: module 01096 """ 01097 try: 01098 if self.trajectory is None: 01099 self.trajectory = trajectory_msgs.msg.JointTrajectory() 01100 if self.error_code is None: 01101 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes() 01102 end = 0 01103 _x = self 01104 start = end 01105 end += 12 01106 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 01107 start = end 01108 end += 4 01109 (length,) = _struct_I.unpack(str[start:end]) 01110 start = end 01111 end += length 01112 self.trajectory.header.frame_id = str[start:end] 01113 start = end 01114 end += 4 01115 (length,) = _struct_I.unpack(str[start:end]) 01116 self.trajectory.joint_names = [] 01117 for i in range(0, length): 01118 start = end 01119 end += 4 01120 (length,) = _struct_I.unpack(str[start:end]) 01121 start = end 01122 end += length 01123 val1 = str[start:end] 01124 self.trajectory.joint_names.append(val1) 01125 start = end 01126 end += 4 01127 (length,) = _struct_I.unpack(str[start:end]) 01128 self.trajectory.points = [] 01129 for i in range(0, length): 01130 val1 = trajectory_msgs.msg.JointTrajectoryPoint() 01131 start = end 01132 end += 4 01133 (length,) = _struct_I.unpack(str[start:end]) 01134 pattern = '<%sd'%length 01135 start = end 01136 end += struct.calcsize(pattern) 01137 val1.positions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01138 start = end 01139 end += 4 01140 (length,) = _struct_I.unpack(str[start:end]) 01141 pattern = '<%sd'%length 01142 start = end 01143 end += struct.calcsize(pattern) 01144 val1.velocities = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01145 start = end 01146 end += 4 01147 (length,) = _struct_I.unpack(str[start:end]) 01148 pattern = '<%sd'%length 01149 start = end 01150 end += struct.calcsize(pattern) 01151 val1.accelerations = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01152 _v16 = val1.time_from_start 01153 _x = _v16 01154 start = end 01155 end += 8 01156 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end]) 01157 self.trajectory.points.append(val1) 01158 start = end 01159 end += 4 01160 (self.error_code.val,) = _struct_i.unpack(str[start:end]) 01161 return self 01162 except struct.error as e: 01163 raise roslib.message.DeserializationError(e) #most likely buffer underfill 01164 01165 _struct_I = roslib.message.struct_I 01166 _struct_i = struct.Struct("<i") 01167 _struct_3I = struct.Struct("<3I") 01168 _struct_2i = struct.Struct("<2i") 01169 class FilterJointTrajectory(roslib.message.ServiceDefinition): 01170 _type = 'arm_navigation_msgs/FilterJointTrajectory' 01171 _md5sum = '18a1c6fa9ab739ec5af11210c0fd79d1' 01172 _request_class = FilterJointTrajectoryRequest 01173 _response_class = FilterJointTrajectoryResponse