Perception API Reference
This page documents ManipulaPy.perception, the module for higher-level perception capabilities including obstacle detection, 3D point cloud generation, clustering, and environmental understanding for robotic systems.
Tip
For conceptual explanations, see Perception User Guide.
—
Perception Class
—
Primary Perception Methods
Obstacle Detection Pipeline
—
Stereo Vision Integration
Disparity Computation
Point Cloud Generation
—
Machine Learning Components
Clustering Analysis
—
Resource Management
Cleanup Methods
—
Logging Infrastructure
Logger Configuration
—
Error Handling Hierarchy
Vision Instance Validation: Constructor-level checking
Image Availability: Depth image validation with fallbacks
Detection Results: None-checking with empty array returns
Clustering Input: Empty point array handling
Resource Cleanup: Exception-safe cleanup operations
—
Dependencies and Integration
Required Dependencies
Module |
Purpose |
Integration Point |
|---|---|---|
|
Point clustering |
cluster_obstacles() method |
|
Array operations |
All coordinate manipulations |
|
Debug/status output |
Logger configuration and usage |
|
Low-level vision |
vision_instance dependency |
Vision Module Interface
Perception requires Vision instance with specific methods:
capture_image(): RGB/depth image acquisition
detect_obstacles(): YOLO-based object detection
stereo_enabled: Boolean stereo capability flag
rectify_stereo_images(): Stereo rectification
compute_disparity(): Disparity map computation
get_stereo_point_cloud(): 3D reconstruction
release(): Resource cleanup
—
Error Recovery and Robustness
Vision Failure Handling
Missing Depth: Empty array return with warning logs
Detection Failures: None-result handling with error logs
Stereo Unavailability: Runtime exception with clear messaging
Clustering Robustness
Empty Input: Graceful handling with early return
Insufficient Points: DBSCAN handles minimum sample requirements
Parameter Validation: Implicit through sklearn parameter checking
Resource Management Safety
Constructor Validation: Immediate failure for invalid Vision instances
Cleanup Exceptions: Silent handling in destructor context
Multiple Cleanup Calls: Safe repeated release() invocation
—
See Also
Vision API Reference – Low-level computer vision and camera management
Path Planning API Reference – Trajectory planning with obstacle avoidance
Potential Field API Reference – Obstacle-aware potential field methods
Control API Reference – Control systems with environmental feedback
External Dependencies
scikit-learn – DBSCAN clustering algorithm
NumPy – Numerical array operations
Python logging – Structured logging framework