|
hpp-gepetto-viewer
6.1.0
Display of hpp robots and obstacles in gepetto-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, 0.0, 0.0, 1.0], colorEdge=[1, 0.0, 0.0, 0.5], joint=None) |
| def | displayRoadmap (self, nameRoadmap, radiusSphere=0.01, sizeAxis=0.03, colorNode=[1.0, 1.0, 1.0, 1.0], colorEdge=[0.85, 0.75, 0.15, 0.7], joint=None) |
| def | solveAndDisplay (self, nameRoadmap, numberIt, radiusSphere=0.01, sizeAxis=0.03, colorNode=[1.0, 1.0, 1.0, 1.0], colorEdge=[0.85, 0.75, 0.15, 0.7], joint=None) |
| def | loadObstacleModel (self, filename, prefix, guiOnly=False) |
| def | loadPolyhedronObstacleModel (self, name, filename, guiOnly=False) |
| def | loadPointCloudFromPoints (self, str name, float resolution, list[Point3D] points, list[ColorRGBA]|None colors=None, bool 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) |
Static Public Attributes | |
| string | sceneName = "0_scene_hpp_" |
| bool | removeLightSources = True |
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.
| 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.
| def gepetto.viewer.Viewer.__call__ | ( | self, | |
| args | |||
| ) |
| def gepetto.viewer.Viewer.addCallback | ( | self, | |
| cb | |||
| ) |
\\param cb Callable object, whose arguments are this object and a robot configuration.
| def gepetto.viewer.Viewer.addLandmark | ( | self, | |
| linkname, | |||
| size | |||
| ) |
Add a landmark \\sa gepetto::corbaserver::GraphicalInterface::addLandmark
| def gepetto.viewer.Viewer.buildRobotBodies | ( | self | ) |
| def gepetto.viewer.Viewer.captureFrame | ( | self, | |
| filename | |||
| ) |
Save current scene to image. \\sa gepetto::corbaserver::GraphicalInterface::captureFrame
| 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.
| def gepetto.viewer.Viewer.createWindowAndScene | ( | self, | |
| viewerClient, | |||
| name | |||
| ) |
| def gepetto.viewer.Viewer.displayPathMap | ( | self, | |
| nameRoadmap, | |||
| pathID, | |||
radiusSphere = 0.03, |
|||
sizeAxis = 0.09, |
|||
colorNode = [1, 0.0, 0.0, 1.0], |
|||
colorEdge = [1, 0.0, 0.0, 0.5], |
|||
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
| def gepetto.viewer.Viewer.displayRoadmap | ( | self, | |
| nameRoadmap, | |||
radiusSphere = 0.01, |
|||
sizeAxis = 0.03, |
|||
colorNode = [1.0, 1.0, 1.0, 1.0], |
|||
colorEdge = [0.85, 0.75, 0.15, 0.7], |
|||
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
| def gepetto.viewer.Viewer.drawRobotAABB | ( | self | ) |
| 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
| def gepetto.viewer.Viewer.loadPointCloudFromPoints | ( | self, | |
| str | name, | ||
| float | resolution, | ||
| list[Point3D] | points, | ||
| list[ColorRGBA] | None | colors = None, |
||
| bool | guiOnly = False |
||
| ) |
Load a point cloud as an obstacle \\param name name of the object, \\param resolution the Octomap OcTree resolution. \\param points a Nx3 matrix representing the points of the point cloud. \\param colors a Nx4 matrix representing the colors of the point cloud, if any. \\param guiOnly whether to control only gepetto-viewer-server
| 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
| 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
| def gepetto.viewer.Viewer.publishRobots | ( | self | ) |
| def gepetto.viewer.Viewer.solveAndDisplay | ( | self, | |
| nameRoadmap, | |||
| numberIt, | |||
radiusSphere = 0.01, |
|||
sizeAxis = 0.03, |
|||
colorNode = [1.0, 1.0, 1.0, 1.0], |
|||
colorEdge = [0.85, 0.75, 0.15, 0.7], |
|||
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)
| def gepetto.viewer.Viewer.startCapture | ( | self, | |
| filename, | |||
| extension | |||
| ) |
Start a screen capture \\sa gepetto::corbaserver::GraphicalInterface::startCapture
| def gepetto.viewer.Viewer.stopCapture | ( | self | ) |
Stop a screen capture \\sa gepetto::corbaserver::GraphicalInterface::stopCapture
| def gepetto.viewer.Viewer.toggleVisual | ( | self, | |
| visual | |||
| ) |
| gepetto.viewer.Viewer.amax |
| gepetto.viewer.Viewer.arrowMaxSize |
| gepetto.viewer.Viewer.arrowMinSize |
| gepetto.viewer.Viewer.arrowRadius |
| gepetto.viewer.Viewer.callbacks |
| gepetto.viewer.Viewer.client |
| gepetto.viewer.Viewer.collisionURDF |
| gepetto.viewer.Viewer.color |
| gepetto.viewer.Viewer.colorAcceleration |
| gepetto.viewer.Viewer.colorVelocity |
| gepetto.viewer.Viewer.displayArrows |
| gepetto.viewer.Viewer.displayCoM |
| gepetto.viewer.Viewer.displayName |
| gepetto.viewer.Viewer.guiObjectNames |
| gepetto.viewer.Viewer.hppObjectNames |
| gepetto.viewer.Viewer.problemSolver |
|
static |
| gepetto.viewer.Viewer.robot |
| gepetto.viewer.Viewer.robotBodies |
| gepetto.viewer.Viewer.robotConfig |
|
static |
| gepetto.viewer.Viewer.sceneName |
| gepetto.viewer.Viewer.vmax |
| gepetto.viewer.Viewer.windowId |
| gepetto.viewer.Viewer.windowName |