Blackboard Reference#
The blackboard system provides shared memory for inter-behavior communication, storing workflow state and object information that behaviors can read from and write to during execution.
For architecture concepts and usage examples, refer to the main isaac_manipulator_orchestration documentation.
Object Management#
The system tracks objects through their life cycle from detection to placement using several interconnected blackboard variables.
Object Info Cache#
Variable |
Data Type |
Description |
|---|---|---|
|
Dictionary |
Maps object IDs to detected object information, updated throughout the workflow as objects progress through manipulation stages |
Stored Information per Object:
Property |
Description |
Values/Format |
|---|---|---|
Object Properties |
Physical attributes and identifiers |
Bounding boxes, estimated poses, class IDs, frame names |
Object Status |
Current state in manipulation pipeline |
|
Drop Poses |
Target placement locations |
Pose data for where object should be placed |
Object ID Tracking Variables#
Pipeline variables that manage object progression:
Variable |
Purpose |
Set By |
Used By |
Data Type |
|---|---|---|---|---|
|
Currently selected object for pose estimation |
|
|
|
|
Queue of objects ready for motion planning |
|
|
|
|
Object currently undergoing motion execution |
|
|
|
Pose Management#
Home Pose#
Default robot arm position for recovery and initialization:
Variable |
Data Type |
Frame |
Used By |
Description |
|---|---|---|---|---|
|
7-element array [ |
Robot base frame |
|
Default robot arm position for recovery and fallback scenarios |
Drop Pose Variables#
Target placement location management:
Variable |
Data Type |
Source |
Set By |
Used By |
Description |
|---|---|---|---|---|---|
|
|
Interactive RViz marker with 3D gripper manipulation |
|
|
Interactive RViz-specified drop pose, updated in real-time as users manipulate markers |
|
|
Active object’s drop pose from |
|
Motion planning behaviors ( |
Current motion planning target pose |
Object Configuration#
Status Reporting Variables#
The system maintains comprehensive status tracking through dedicated blackboard variables that provide real-time workflow monitoring and completion reporting:
Variable |
Purpose |
Data Type |
Set By |
Used By |
Description |
|---|---|---|---|---|---|
|
Overall workflow completion status |
|
|
Action server result determination |
Tracks overall workflow outcome: |
|
Human-readable progress report |
|
|
Action server feedback and logging |
Contains detailed status summary counting completed, failed, in-progress, and pending objects with descriptive messages |
|
Real-time individual object status updates |
|
|
Action server feedback loop |
Queue of individual object completion/failure messages for immediate user feedback as objects are processed |
Supported Objects System#
The system maintains a configuration dictionary that defines which objects can be manipulated and links detection classes to manipulation resources:
Variable |
Purpose |
Data Structure |
Used By |
Description |
|---|---|---|---|---|
|
Main configuration dictionary |
Dictionary indexed by Class ID |
System initialization |
Contains |
|
Set of valid class IDs |
Set derived from |
|
Removes unsupported objects from detection results |
|
Class ID to mesh file mapping |
Dictionary created from |
|
Used for |
|
Grasp pose data manager |
Manager object with YAML file access |
|
Loads pre-computed grasp poses from YAML files, provides object-specific grasp poses |