예제 #1
0
 def display(self, q):
     if 'viewer' not in self.__dict__:
         return
     # Update the robot geometry.
     se3.geometry(self.model, self.data, q)
     # Iteratively place the moving robot bodies.
     for i in range(1, self.model.nbody):
         if self.model.hasVisual[i]:
             M = self.data.oMi[i]
             pinocchioConf = utils.se3ToXYZQUAT(M)
             viewerConf = utils.XYZQUATToViewerConfiguration(pinocchioConf)
             self.viewer.gui.applyConfiguration(self.viewerNodeNames(i),
                                                viewerConf)
     # Iteratively place the fixed robot bodies.
     for i in range(self.model.nFixBody):
         if self.model.fix_hasVisual[i]:
             index_last_movable = self.model.fix_lastMovingParent[i]
             oMlmp = self.data.oMi[index_last_movable]
             lmpMi = self.model.fix_lmpMi[i]
             M = oMlmp * lmpMi
             pinocchioConf = utils.se3ToXYZQUAT(M)
             viewerConf = utils.XYZQUATToViewerConfiguration(pinocchioConf)
             self.viewer.gui.applyConfiguration(
                 self.viewerFixedNodeNames(i), viewerConf)
     self.viewer.gui.refresh()
예제 #2
0
 def display(self,q): 
     if 'viewer' not in self.__dict__: return
     # Update the robot geometry.
     se3.geometry(self.model,self.data,q)
     # Iteratively place the moving robot bodies.
     for i in range(1,self.model.nbody):
         if self.model.hasVisual[i]:
             M = self.data.oMi[i]
             pinocchioConf = utils.se3ToXYZQUAT(M)
             viewerConf = utils.XYZQUATToViewerConfiguration(pinocchioConf)
             self.viewer.gui.applyConfiguration(self.viewerNodeNames(i),
                                                viewerConf)
     # Iteratively place the fixed robot bodies.                                                   
     for i in range(0,self.model.nFixBody):
         if self.model.fix_hasVisual[i]:
             index_last_movable=self.model.fix_lastMovingParent[i]
             oMlmp = self.data.oMi[index_last_movable]
             lmpMi = self.model.fix_lmpMi[i]
             M     =  oMlmp * lmpMi
             pinocchioConf = utils.se3ToXYZQUAT(M)
             viewerConf = utils.XYZQUATToViewerConfiguration(pinocchioConf)
             self.viewer.gui.applyConfiguration(self.viewerFixedNodeNames(i),viewerConf)
     self.viewer.gui.refresh()
예제 #3
0
    def position(self,q,index, update_geometry = True):
        if update_geometry:
            se3.geometry(self.model,self.data,q)

        return self.data.oMi[index]
예제 #4
0
 def geometry(self,q):
     se3.geometry(self.model, self.data, q)