hpp-gepetto-viewer  4.13.0
Display of hpp robots and obstacles in gepetto-viewer
gepetto.viewer.Viewer Class Reference
Inheritance diagram for gepetto.viewer.Viewer:
Collaboration diagram for gepetto.viewer.Viewer:

Public Member Functions

def __init__ (self, problemSolver, viewerClient=None, ghost=False, collisionURDF=False, displayName=None, displayArrows=False, displayCoM=False)
 
def createWindowAndScene (self, viewerClient, name)
 
def addCallback (self, cb)
 
def buildRobotBodies (self)
 
def addLandmark (self, linkname, size)
 
def displayPathMap (self, nameRoadmap, pathID, radiusSphere=0.03, sizeAxis=0.09, colorNode=[1, colorEdge=[1, joint=None)
 
def displayRoadmap (self, nameRoadmap, radiusSphere=0.01, sizeAxis=0.03, colorNode=[1.0, colorEdge=[0.85, joint=None)
 
def solveAndDisplay (self, nameRoadmap, numberIt, radiusSphere=0.01, sizeAxis=0.03, colorNode=[1.0, colorEdge=[0.85, joint=None)
 
def loadObstacleModel (self, filename, prefix, guiOnly=False)
 
def loadPolyhedronObstacleModel (self, name, filename, guiOnly=False)
 
def moveObstacle (self, name, position, guiOnly=False)
 
def computeObjectPosition (self)
 
def publishRobots (self)
 
def __call__ (self, args)
 
def startCapture (self, filename, extension)
 
def stopCapture (self)
 
def captureFrame (self, filename)
 
def toggleVisual (self, visual)
 
def drawRobotAABB (self)
 

Public Attributes

 problemSolver
 
 robot
 
 collisionURDF
 
 color
 
 client
 
 callbacks
 
 displayName
 
 displayArrows
 
 colorVelocity
 
 colorAcceleration
 
 arrowRadius
 
 arrowMinSize
 
 arrowMaxSize
 
 amax
 
 vmax
 
 displayCoM
 
 windowName
 
 windowId
 
 sceneName
 
 robotBodies
 
 guiObjectNames
 
 hppObjectNames
 
 robotConfig
 

Static Public Attributes

string sceneName = "0_scene_hpp_"
 
bool removeLightSources = True
 

Detailed Description

Simultaneous control of hppcorbaserver and gepetto-viewer-server

This class implements clients to both
\\li hppcorbaserver through hpp.corbaserver.problem_solver.ProblemSolver
    python class,
\\li gepetto-viewer-server through gepetto.corbaserver.Client python class.

Operation that need to be synchronized between hppcorbaserver internal
model and graphical user interface should be implemented by this class.

Constructor & Destructor Documentation

◆ __init__()

def gepetto.viewer.Viewer.__init__ (   self,
  problemSolver,
  viewerClient = None,
  ghost = False,
  collisionURDF = False,
  displayName = None,
  displayArrows = False,
  displayCoM = False 
)
Constructor
\\param problemSolver object of type ProblemSolver
\\param viewerClient if not provided, a new client to
       gepetto-viewer-server is created.
\\param displayArrow if True, the publish method will display 2 arrows
             representing the velocity (green) and acceleration
             (red) of the root.
   This parameter can only be used if the robot have at least 6
   extraDOF storing the velocity and acceleration of the root.
\\param displayCoM if True, the publish method will also display a small red
           sphere representing the position of the CoM for the
           published configuration.

The robot loaded in hppcorbaserver is loaded into gepetto-viewer-server.

Member Function Documentation

◆ __call__()

def gepetto.viewer.Viewer.__call__ (   self,
  args 
)

◆ addCallback()

def gepetto.viewer.Viewer.addCallback (   self,
  cb 
)
\\param cb Callable object, whose arguments are this object
and a robot configuration.

◆ addLandmark()

def gepetto.viewer.Viewer.addLandmark (   self,
  linkname,
  size 
)
 Add a landmark
\\sa gepetto::corbaserver::GraphicalInterface::addLandmark

◆ buildRobotBodies()

def gepetto.viewer.Viewer.buildRobotBodies (   self)

◆ captureFrame()

def gepetto.viewer.Viewer.captureFrame (   self,
  filename 
)
Save current scene to image.
\\sa gepetto::corbaserver::GraphicalInterface::captureFrame

◆ computeObjectPosition()

def gepetto.viewer.Viewer.computeObjectPosition (   self)
Synchronize object positions in gepetto-viewer-server

Get position of objects from hppcorbaserver and forward to
gepetto-viewer-server.

◆ createWindowAndScene()

def gepetto.viewer.Viewer.createWindowAndScene (   self,
  viewerClient,
  name 
)

◆ displayPathMap()

def gepetto.viewer.Viewer.displayPathMap (   self,
  nameRoadmap,
  pathID,
  radiusSphere = 0.03,
  sizeAxis = 0.09,
  colorNode = [1,
  colorEdge = [1,
  joint = None 
)
Display the part of the roadmap used by the solution path
\\param nameRoadmap : the name of the osgNode added to the scene
\\param pathID : the id of the path we want to display
\\param radiusSphere : the radius of the node
\\param sizeAxis : size of axes (proportionnaly to the radius of the sphere)
           0 = only sphere
\\param colorNode : the color of the sphere for the nodes (default value : red)
\\param colorEdge : the color of the edges (default value : light red)
\\param joint : the link we want to display the configuration
        (by defaut, root link of the robot)
BE CAREFULL : in the .py file wich init the robot, you must define a valid
        tf_root (this is the displayed joint by default)
notes : the edges are always straight lines and doesn't represent the real
path beetwen the configurations of the nodes

◆ displayRoadmap()

def gepetto.viewer.Viewer.displayRoadmap (   self,
  nameRoadmap,
  radiusSphere = 0.01,
  sizeAxis = 0.03,
  colorNode = [1.0,
  colorEdge = [0.85,
  joint = None 
)
Display the roadmap created by problem.solve()
\\param radiusSphere : the radius of the node
\\param sizeAxis : size of axes (proportionnaly to the radius of the sphere)
          0 = only sphere
\\param colorNode : the color of the sphere for the nodes
            (default value : white)
\\param colorEdge : the color of the edges (default value : yellow)
\\param joint : the link we want to display the configuration
       (by defaut, root link of the robot)
BE CAREFULL : in the .py file wich init the robot, you must define a valid
      tf_root (this is the displayed joint by default)
notes : the edges are always straight lines and doesn't represent the real
path beetwen the configurations of the nodes

◆ drawRobotAABB()

def gepetto.viewer.Viewer.drawRobotAABB (   self)

◆ loadObstacleModel()

def gepetto.viewer.Viewer.loadObstacleModel (   self,
  filename,
  prefix,
  guiOnly = False 
)
Load obstacles from a urdf file

\\param filename name of the urdf file, may contain "package://"
\\param prefix prefix added to object names in case the same file
       is loaded several times,
\\param guiOnly whether to control only gepetto-viewer-server

◆ loadPolyhedronObstacleModel()

def gepetto.viewer.Viewer.loadPolyhedronObstacleModel (   self,
  name,
  filename,
  guiOnly = False 
)
Load polyhedron from a 3D mesh file

\\param filename name of the 3D mesh file, may contain "package://"
\\param name name of the object,
\\param guiOnly whether to control only gepetto-viewer-server

◆ moveObstacle()

def gepetto.viewer.Viewer.moveObstacle (   self,
  name,
  position,
  guiOnly = False 
)
Move Obstacle

\\param name Name of the object
\\param position Position of the object as a 7-d vector
       (translation-quaternion)
\\param guiOnly whether to control only gepetto-viewer-server

◆ publishRobots()

def gepetto.viewer.Viewer.publishRobots (   self)

◆ solveAndDisplay()

def gepetto.viewer.Viewer.solveAndDisplay (   self,
  nameRoadmap,
  numberIt,
  radiusSphere = 0.01,
  sizeAxis = 0.03,
  colorNode = [1.0,
  colorEdge = [0.85,
  joint = None 
)
build the roadmap and diplay it during construction
(delete existing roadmap if problem already solved )
\\param nameRoadmap : name of the new roadmap
\\param numberIt : number of iteration beetwen to refresh of the roadmap
(be careful, if numberIt is too low it can crash gepetto-viewer-server)
\\param radiusSphere : the radius of the node
\\param sizeAxis : size of axes (proportionnaly to the radius of the sphere)
            0 = only sphere
\\param colorNode : the color of the sphere for the nodes
            (default value : white)
\\param colorEdge : the color of the edges (default value : yellow)
\\param joint : the link we want to display the configuration
        (by defaut, root link of the robot)

◆ startCapture()

def gepetto.viewer.Viewer.startCapture (   self,
  filename,
  extension 
)
Start a screen capture
\\sa gepetto::corbaserver::GraphicalInterface::startCapture

◆ stopCapture()

def gepetto.viewer.Viewer.stopCapture (   self)
Stop a screen capture
\\sa gepetto::corbaserver::GraphicalInterface::stopCapture

◆ toggleVisual()

def gepetto.viewer.Viewer.toggleVisual (   self,
  visual 
)

Member Data Documentation

◆ amax

gepetto.viewer.Viewer.amax

◆ arrowMaxSize

gepetto.viewer.Viewer.arrowMaxSize

◆ arrowMinSize

gepetto.viewer.Viewer.arrowMinSize

◆ arrowRadius

gepetto.viewer.Viewer.arrowRadius

◆ callbacks

gepetto.viewer.Viewer.callbacks

◆ client

gepetto.viewer.Viewer.client

◆ collisionURDF

gepetto.viewer.Viewer.collisionURDF

◆ color

gepetto.viewer.Viewer.color

◆ colorAcceleration

gepetto.viewer.Viewer.colorAcceleration

◆ colorVelocity

gepetto.viewer.Viewer.colorVelocity

◆ displayArrows

gepetto.viewer.Viewer.displayArrows

◆ displayCoM

gepetto.viewer.Viewer.displayCoM

◆ displayName

gepetto.viewer.Viewer.displayName

◆ guiObjectNames

gepetto.viewer.Viewer.guiObjectNames

◆ hppObjectNames

gepetto.viewer.Viewer.hppObjectNames

◆ problemSolver

gepetto.viewer.Viewer.problemSolver

◆ removeLightSources

bool gepetto.viewer.Viewer.removeLightSources = True
static

◆ robot

gepetto.viewer.Viewer.robot

◆ robotBodies

gepetto.viewer.Viewer.robotBodies

◆ robotConfig

gepetto.viewer.Viewer.robotConfig

◆ sceneName [1/2]

string gepetto.viewer.Viewer.sceneName = "0_scene_hpp_"
static

◆ sceneName [2/2]

gepetto.viewer.Viewer.sceneName

◆ vmax

gepetto.viewer.Viewer.vmax

◆ windowId

gepetto.viewer.Viewer.windowId

◆ windowName

gepetto.viewer.Viewer.windowName

The documentation for this class was generated from the following file: