IVALab Python Libraries
Collection of code for computer vision and robotics with specific API.
Public Member Functions | Public Attributes | List of all members
Cycle_Place Class Reference

Cycle through direct placement and organized-zone placement. More...

Inheritance diagram for Cycle_Place:
Inheritance graph
[legend]
Collaboration diagram for Cycle_Place:
Collaboration graph
[legend]

Public Member Functions

def __init__ (self, CfgSolver cfgSolver)
 Construct a cyclic placement solver. More...
 
def getNextAction (self, ImageRGBD rgbd=None, StatePuzzleScene scene=None)
 Return the next action to execute from current solver state. More...
 
def getNextPiece (self, int zone, StatePuzzleScene scene, ImageRGBD rgbd)
 Get the next piece to place from the given zone. More...
 
def reset_solver (self)
 Reset the solver state and mode. More...
 
- Public Member Functions inherited from Base
def checkIDplaceability (self, solID)
 Checks if piece with solID can be placed must have an adjacent placed piece, or should be on an edge/corner. More...
 
def createMeasuredBoard (self, ImageRGBD rgbd, StatePuzzleScene scene, List[int] zones)
 Take in raw inputs and create (generic) board measurement. More...
 
def createSolutionBoard (self, int zone_to_match)
 Create a solution board based on the zone we want to match against. More...
 
def getNextAction (self)
 Return the next action to execute from current solver state. More...
 
def getSequentialPlan (self, measured_board, solution_board, numPieces)
 Generate a sequential placement plan by sorting matched pieces by solution ID. More...
 
def isBoardSolved (self)
 Check if all puzzle pieces are in place. More...
 
def isPieceThere (self, meaPiece, StatePuzzleScene scene)
 Check if the measured piece is actually present in the scene by analyzing the segmentation mask. More...
 
def performMatching (self, Arrangement measured_board, SolutionBoard solution_board)
 Perform correspondence tracking to find a piece to direct place. More...
 
def reset_estimate_board (self)
 Set the estimate board to all pieces unsolved, based on the solution board. More...
 
def updateSolutionRegEstimate (self, StatePuzzleScene scene)
 Review pieces in solution region and update estimate. More...
 

Public Attributes

 mode
 
 state
 
- Public Attributes inherited from Base
 board_estimate
 Board estimate from state history. More...
 
 cfgMatching
 Correspondences configs. More...
 
 correspondence_tracker
 Puzzle piece correspondence tracker. More...
 
 display
 Debug display. More...
 
 imRegions
 Region definitions for puzzle zones. More...
 
 mode
 Higher level mode regulating activities. More...
 
 puzzle_params
 Puzzle-specific parameters for arrangement building. More...
 
 reference_board
 Solution reference. More...
 
 state
 Internal activity state. More...
 
 verbose
 Verbosity level. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Base
int NUM_ZONES = 4
 
int SOL = 5
 
int UNORGANIZED = 6
 

Detailed Description

Cycle through direct placement and organized-zone placement.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
CfgSolver  cfgSolver 
)

Construct a cyclic placement solver.

Parameters
[in]cfgSolverConfiguration for the solver.

Reimplemented from Base.

Member Function Documentation

◆ getNextAction()

def getNextAction (   self,
ImageRGBD  rgbd = None,
StatePuzzleScene  scene = None 
)

Return the next action to execute from current solver state.

Parameters
[in]rgbdOptional RGBD image for the current scene.
[in]sceneOptional current puzzle scene state.
Note
Uses a two-mode state machine: PERCEIVE - requests scene estimation (OUTRIGHT or OUTLEFT depending on zone). ACT - evaluates piece placement for the current zone, then advances zone.

◆ getNextPiece()

def getNextPiece (   self,
int  zone,
StatePuzzleScene  scene,
ImageRGBD  rgbd 
)

Get the next piece to place from the given zone.

Parameters
[in]zoneZone from which to get the next piece.
[in]sceneCurrent puzzle scene state.
[in]rgbdRGBD image of the current scene.

◆ reset_solver()

def reset_solver (   self)

Reset the solver state and mode.

Reimplemented from Base.

Member Data Documentation

◆ mode

mode

◆ state

state

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