IVALab Python Libraries
Collection of code for computer vision and robotics with specific API.
Classes | Functions
superviseit.puzzlebot Namespace Reference

Contains information about the Puzzlebot studies. More...

Classes

class  CfgPuzzleTrial
 Configuration node for a puzzle solving trial. More...
 
class  CoSolveMonitorStatePublisher
 
class  PuzzleTrial
 Puzzle trial instance for managing a given study. More...
 

Functions

def analyze_human_effort (file_path, mask)
 
def analyze_human_tending (file_path)
 
def analyze_progress (file_path)
 
def analyze_robot_effort (file_path, mask, progress_start_time=None, output_figure_path="robot_effort_over_time.png")
 
def classify_action (row, mask)
 
def compute_duration (row)
 
def generate_plots (solve_effort, progress, output_figure_path, mask, bag_start_time=None)
 
def get_bag_start_time (bag_file)
 
def label_at_pixel (x_coord, y_coord, mask)
 
def monitor_cosolve (theRobot, maryCam, matMonitor, outPath)
 
def monitor_cosolve_action (theRobot, maryCam, matMonitor, outPath, action_name='/cosolve', showStatus=False, pubStatus=False)
 Record and process frames while a co-solve action goal is active. More...
 
def monitor_solve (theRobot, maryCam, matMonitor, outPath)
 
def monitor_sort (theRobot, maryCam, matMonitor, outPath)
 
def Perception_Setup (theRobot, zoneFile, theActivity, useMonitor)
 
def process_raw_data (evst, perf, camExt, zones_mask)
 
def robot_estimate (perf_model_file, effort_file, camExt, mask)
 
def Trial_Over (bagProc, statProc)
 
def Trial_Prefix ()
 
def Trial_Record (theRobot, outPath, prefix=None)
 

Detailed Description

Contains information about the Puzzlebot studies.

Date
2026/07/16 [modified]
Author
Patricio A. Vela, pvela.nosp@m.@gat.nosp@m.ech.e.nosp@m.du

NOTE: 90 columns, 2 space indent.

Function Documentation

◆ analyze_human_effort()

def superviseit.puzzlebot.analyze_human_effort (   file_path,
  mask 
)

◆ analyze_human_tending()

def superviseit.puzzlebot.analyze_human_tending (   file_path)

◆ analyze_progress()

def superviseit.puzzlebot.analyze_progress (   file_path)

◆ analyze_robot_effort()

def superviseit.puzzlebot.analyze_robot_effort (   file_path,
  mask,
  progress_start_time = None,
  output_figure_path = "robot_effort_over_time.png" 
)

◆ classify_action()

def superviseit.puzzlebot.classify_action (   row,
  mask 
)

◆ compute_duration()

def superviseit.puzzlebot.compute_duration (   row)

◆ generate_plots()

def superviseit.puzzlebot.generate_plots (   solve_effort,
  progress,
  output_figure_path,
  mask,
  bag_start_time = None 
)

◆ get_bag_start_time()

def superviseit.puzzlebot.get_bag_start_time (   bag_file)
Return the timestamp of the first message recorded in a ROS bag.

◆ label_at_pixel()

def superviseit.puzzlebot.label_at_pixel (   x_coord,
  y_coord,
  mask 
)

◆ monitor_cosolve()

def superviseit.puzzlebot.monitor_cosolve (   theRobot,
  maryCam,
  matMonitor,
  outPath 
)

◆ monitor_cosolve_action()

def superviseit.puzzlebot.monitor_cosolve_action (   theRobot,
  maryCam,
  matMonitor,
  outPath,
  action_name = '/cosolve',
  showStatus = False,
  pubStatus = False 
)

Record and process frames while a co-solve action goal is active.

A message on the action goal topic begins a separately recorded trial. The matching action result closes that trial. Process Shutdown terminates the monitor itself, so the former STOP_ALL control flag is not needed.

Parameters
[in]theRobotPuzzlebot identifier used to configure trial recording.
[in]maryCamCamera stream with set, start, and stop methods.
[in]matMonitorCo-solve monitor that processes incoming camera frames.
[in]outPathDirectory in which to save trial data.
[in]action_nameBase name of the ROS CoSolve action.
Note
Frame processing runs through the camera's process callback.

◆ monitor_solve()

def superviseit.puzzlebot.monitor_solve (   theRobot,
  maryCam,
  matMonitor,
  outPath 
)

◆ monitor_sort()

def superviseit.puzzlebot.monitor_sort (   theRobot,
  maryCam,
  matMonitor,
  outPath 
)

◆ Perception_Setup()

def superviseit.puzzlebot.Perception_Setup (   theRobot,
  zoneFile,
  theActivity,
  useMonitor 
)

◆ process_raw_data()

def superviseit.puzzlebot.process_raw_data (   evst,
  perf,
  camExt,
  zones_mask 
)

◆ robot_estimate()

def superviseit.puzzlebot.robot_estimate (   perf_model_file,
  effort_file,
  camExt,
  mask 
)

◆ Trial_Over()

def superviseit.puzzlebot.Trial_Over (   bagProc,
  statProc 
)

◆ Trial_Prefix()

def superviseit.puzzlebot.Trial_Prefix ( )

◆ Trial_Record()

def superviseit.puzzlebot.Trial_Record (   theRobot,
  outPath,
  prefix = None 
)