Ejemplo n.º 1
0
 def setupMessage(self, constraints, endPoseName="", nominalPoseName="", seedPoseName="", additionalTimeSamples=None):
   poses = ikconstraintencoder.getPlanPoses(constraints, self.ikPlanner)
   poses.update(self.poses)
   msg = lcmdrc.exotica_planner_request_t()
   msg.utime = getUtime()
   msg.poses = json.dumps(poses)
   msg.constraints = ikconstraintencoder.encodeConstraints(constraints)
   msg.seed_pose = seedPoseName
   msg.nominal_pose = nominalPoseName
   msg.end_pose = endPoseName
   msg.joint_names = json.dumps(list(self.ikPlanner.jointController.jointNames))
   msg.affordances = self.processAffordances()
   opt=ikplanner.getIkOptions()._properties
   if additionalTimeSamples:
     opt.update({'timeSamples':additionalTimeSamples})
   opt['jointLimits']=self.jointLimits
   msg.options = json.dumps(opt)
   return msg
Ejemplo n.º 2
0
  def setupMessage(self, fields):

    # todo, exotica should migrate to new style option names.
    # for backward compatibility, override the options field here
    # and insert jointLimits to options list
    options = OrderedDict(self.ikPlanner.getIkOptions()._properties)
    options['jointLimits'] = fields.jointLimits

    import drc as lcmdrc

    msg = lcmdrc.exotica_planner_request_t()
    msg.utime = fields.utime
    msg.poses = json.dumps(fields.poses)
    msg.constraints = ikconstraintencoder.encodeConstraints(fields.constraints)
    msg.seed_pose = fields.seedPose
    msg.nominal_pose = fields.nominalPose
    msg.end_pose = fields.endPose
    msg.joint_names = json.dumps(fields.jointNames)
    msg.affordances = fields.affordances
    msg.options = json.dumps(options)

    return msg
Ejemplo n.º 3
0
 def setupMessage(self,
                  constraints,
                  endPoseName="",
                  nominalPoseName="",
                  seedPoseName="",
                  additionalTimeSamples=None):
     poses = ikconstraintencoder.getPlanPoses(constraints, self.ikPlanner)
     poses.update(self.poses)
     msg = lcmdrc.exotica_planner_request_t()
     msg.utime = getUtime()
     msg.poses = json.dumps(poses)
     msg.constraints = ikconstraintencoder.encodeConstraints(constraints)
     msg.seed_pose = seedPoseName
     msg.nominal_pose = nominalPoseName
     msg.end_pose = endPoseName
     msg.joint_names = json.dumps(
         list(self.ikPlanner.jointController.jointNames))
     msg.affordances = self.processAffordances()
     opt = ikplanner.getIkOptions()._properties
     if additionalTimeSamples:
         opt.update({'timeSamples': additionalTimeSamples})
     opt['jointLimits'] = self.jointLimits
     msg.options = json.dumps(opt)
     return msg