Skip to content

Commit f3039cb

Browse files
committed
Add comprehensive surgical robotics integration
Implements complete interface framework for integrating Multi-Heart-Model physiological simulations with major surgical robotics platforms. New interfaces: - dVRK (da Vinci Research Kit) with cisst-SAW support - CRTK (Collaborative Robotics Toolkit) standardized API - AMBF (Asynchronous Multi-Body Framework) simulator - ROS2 communication bridge for middleware integration - Physiological controller for adaptive robot control Key features: - Real-time physiological monitoring (HR, BP, SpO2, etc.) - Multi-level safety alerts (Normal/Caution/Warning/Critical) - Adaptive control parameter modulation based on patient state - Emergency stop triggers for critical physiological conditions - Surgical phase awareness (Approach/Manipulation/Retraction) - Heart rate variability (HRV) metrics computation - ROS/ROS2 message formatting and publishing - Workspace and velocity safety limits - Force/torque control with physiological scaling Module structure: - src/surgical_robotics/dvrk_interface.py (520+ LOC) - src/surgical_robotics/crtk_interface.py (480+ LOC) - src/surgical_robotics/ambf_interface.py (380+ LOC) - src/surgical_robotics/ros2_bridge.py (420+ LOC) - src/surgical_robotics/physio_controller.py (460+ LOC) Testing & Documentation: - Comprehensive test suite in tests/surgical_robotics/ - Complete integration demo in examples/surgical_robotics_demo.py - Full documentation in docs/SURGICAL_ROBOTICS_INTEGRATION.md Integration with HBCM: - PhysiologicalController accepts HeartBrainCouplingModel instance - Real-time extraction of heart rate and cardiovascular metrics - Closed-loop feedback between physiology and robot control - Stress and pain indices influence robot behavior Safety features: - Workspace boundary enforcement - Velocity and force scaling based on vital signs - Multi-level alert system with progressive response - Emergency stop on critical physiological thresholds - Surgical phase-specific constraints References: - Kazanzides et al. (2014) dVRK paper - Kazanzides et al. (2021) CRTK paper - Munawar et al. (2019) AMBF paper - ROS 2 and surgical robotics standards This implementation enables physiologically-aware robotic surgery with adaptive control that responds to patient state in real-time.
1 parent 9c1b598 commit f3039cb

File tree

11 files changed

+4248
-0
lines changed

11 files changed

+4248
-0
lines changed

docs/SURGICAL_ROBOTICS_INTEGRATION.md

Lines changed: 607 additions & 0 deletions
Large diffs are not rendered by default.

examples/surgical_robotics_demo.py

Lines changed: 523 additions & 0 deletions
Large diffs are not rendered by default.

src/surgical_robotics/__init__.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
"""
2+
Surgical Robotics Integration Module
3+
4+
Provides interfaces to major surgical robotics platforms:
5+
- dVRK (da Vinci Research Kit) with cisst-SAW
6+
- CRTK (Collaborative Robotics Toolkit) standardized API
7+
- AMBF (Asynchronous Multi-Body Framework) simulator
8+
- ROS2 middleware integration
9+
- Physiological feedback control
10+
11+
Integrates Multi-Heart-Model physiological simulations with
12+
surgical robotics control systems for autonomous, physiologically-aware
13+
robotic surgery assistance.
14+
"""
15+
16+
from .dvrk_interface import (
17+
DVRKInterface,
18+
DVRKConfiguration,
19+
DVRKCartesianCommand,
20+
DVRKJointCommand,
21+
)
22+
from .crtk_interface import (
23+
CRTKInterface,
24+
CRTKOperatingState,
25+
CRTKMeasuredState,
26+
)
27+
from .ambf_interface import (
28+
AMBFInterface,
29+
AMBFSimulationConfig,
30+
AMBFRobotState,
31+
)
32+
from .ros2_bridge import (
33+
ROS2Bridge,
34+
ROS2TopicConfig,
35+
ROS2MessageType,
36+
)
37+
from .physio_controller import (
38+
PhysiologicalController,
39+
SurgicalFeedbackState,
40+
PhysiologicalConstraints,
41+
)
42+
43+
__all__ = [
44+
# dVRK
45+
"DVRKInterface",
46+
"DVRKConfiguration",
47+
"DVRKCartesianCommand",
48+
"DVRKJointCommand",
49+
# CRTK
50+
"CRTKInterface",
51+
"CRTKOperatingState",
52+
"CRTKMeasuredState",
53+
# AMBF
54+
"AMBFInterface",
55+
"AMBFSimulationConfig",
56+
"AMBFRobotState",
57+
# ROS2
58+
"ROS2Bridge",
59+
"ROS2TopicConfig",
60+
"ROS2MessageType",
61+
# Physiological Control
62+
"PhysiologicalController",
63+
"SurgicalFeedbackState",
64+
"PhysiologicalConstraints",
65+
]
66+
67+
__version__ = "1.0.0"

0 commit comments

Comments
 (0)