hpp-gepetto-viewer  4.9.0
Display of hpp robots and obstacles in gepetto-viewer
gepetto.viewer.Viewer Class Reference

Simultaneous control of hppcorbaserver and gepetto-viewer-server. More...

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)
 Constructor. More...
 
def createWindowAndScene (self, viewerClient, name)
 
def addCallback (self, cb)
 
def buildRobotBodies (self)
 
def addLandmark (self, linkname, size)
 Add a landmark. More...
 
def 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. More...
 
def displayRoadmap (self, nameRoadmap, radiusSphere=0.01, sizeAxis=0.03, colorNode=[1.0, colorEdge=[0.85, joint=None)
 Display the roadmap created by problem.solve() More...
 
def 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 ) More...
 
def loadObstacleModel (self, filename, prefix, guiOnly=False)
 Load obstacles from a urdf file. More...
 
def loadPolyhedronObstacleModel (self, name, filename, guiOnly=False)
 Load polyhedron from a 3D mesh file. More...
 
def moveObstacle (self, name, position, guiOnly=False)
 Move Obstacle. More...
 
def computeObjectPosition (self)
 Synchronize object positions in gepetto-viewer-server. More...
 
def publishRobots (self)
 
def __call__ (self, args)
 
def startCapture (self, filename, extension)
 Start a screen capture. More...
 
def stopCapture (self)
 Stop a screen capture. More...
 
def captureFrame (self, filename)
 Save current scene to image. More...
 
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_'
 Default scene name Useful when debugging for creating an instance with a client to an existing server. More...
 
bool removeLightSources = True
 Whether light sources in collada files should be removed at loading. More...
 

Detailed Description

Simultaneous control of hppcorbaserver and gepetto-viewer-server.

This class implements clients to both

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.

Parameters
problemSolverobject of type ProblemSolver
viewerClientif not provided, a new client to gepetto-viewer-server is created.
displayArrowif 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.
displayCoMif 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 
)
Parameters
cbCallable object, whose argument is a robot configuration.

◆ addLandmark()

def gepetto.viewer.Viewer.addLandmark (   self,
  linkname,
  size 
)

Add a landmark.

See also
gepetto::corbaserver::GraphicalInterface::addLandmark

◆ buildRobotBodies()

def gepetto.viewer.Viewer.buildRobotBodies (   self)

◆ captureFrame()

def gepetto.viewer.Viewer.captureFrame (   self,
  filename 
)

Save current scene to image.

See also
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.

Parameters
nameRoadmap: the name of the osgNode added to the scene
pathID: the id of the path we want to display
radiusSphere: the radius of the node
sizeAxis: size of axes (proportionnaly to the radius of the sphere) 0 = only sphere
colorNode: the color of the sphere for the nodes (default value : red)
colorEdge: the color of the edges (default value : light red)
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()

Parameters
radiusSphere: the radius of the node
sizeAxis: size of axes (proportionnaly to the radius of the sphere) 0 = only sphere
colorNode: the color of the sphere for the nodes (default value : white)
colorEdge: the color of the edges (default value : yellow)
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.

Parameters
filenamename of the urdf file, may contain "package://"
prefixprefix added to object names in case the same file is loaded several times,
guiOnlywhether to control only gepetto-viewer-server

◆ loadPolyhedronObstacleModel()

def gepetto.viewer.Viewer.loadPolyhedronObstacleModel (   self,
  name,
  filename,
  guiOnly = False 
)

Load polyhedron from a 3D mesh file.

Parameters
filenamename of the 3D mesh file, may contain "package://"
namename of the object,
guiOnlywhether to control only gepetto-viewer-server

◆ moveObstacle()

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

Move Obstacle.

Parameters
nameName of the object
positionPosition of the object as a 7-d vector (translation-quaternion)
guiOnlywhether 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 )

Parameters
nameRoadmap: name of the new roadmap
numberIt: number of iteration beetwen to refresh of the roadmap (be careful, if numberIt is too low it can crash gepetto-viewer-server)
radiusSphere: the radius of the node
sizeAxis: size of axes (proportionnaly to the radius of the sphere) 0 = only sphere
colorNode: the color of the sphere for the nodes (default value : white)
colorEdge: the color of the edges (default value : yellow)
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.

See also
gepetto::corbaserver::GraphicalInterface::startCapture

◆ stopCapture()

def gepetto.viewer.Viewer.stopCapture (   self)

Stop a screen capture.

See also
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

Whether light sources in collada files should be removed at loading.

◆ 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

Default scene name Useful when debugging for creating an instance with a client to an existing server.

◆ 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: