1 of 40

System Development Review

Team E - Surgical Robot for Orthopedics

ParaDocs

2 of 40

The ParaDocs are

With Branko, Parker, Sundaram, Kaushik

Paramjit

Shivangi

Li-Wei

Kimi

Abhishek

3 of 40

Overview

1

4 of 40

The Project

System to assist in

Total Knee Replacement Surgery

​

Aim: To precisely and robustly register the drilling site, navigate to site and drill holes sufficient to slide in a surgical pin

​

  • Autonomous
  • Non-Invasive
  • Robust

5 of 40

The Project

  • Key Components
  • KUKA LBR Manipulator
  • RealSense D405 and D435 Camera
  • Dremel 9100 Drill
  • General Workflow
  • Register (Where is the bone located in the scene)
  • Plan (A collision free path for the end effector)
  • Drill (Make hole(s) at designated spots)

​

6 of 40

Use Case

Surgeon

I/O

Main Robot

Manipulation

Subsystem

Patient

Perception Subsystem

7 of 40

Requirements

Modifications

2

8 of 40

Our functional requirements have stayed the same, however the importance of some requirements have changed

​

​

​

9 of 40

Overall Approach

SVD/Encore

End-to-End Pipeline

Systems Focus

  • User Interface
  • Both femur + tibia
  • Drilling multiple points in succession

etc

FVD/Encore

Goal : 2mm / 2°

10 of 40

Overall Approach

SVD/Encore

End-to-End Pipeline

Systems Focus

Algorithmic Focus

  • User Interface
  • Both femur + tibia
  • Drilling multiple points in succession

etc

  • Motion Tracking
  • Dynamic Compensation
  • Registration Performance

etc

FVD/Encore

Goal : 2mm / 2°

11 of 40

Current

System Status

3

12 of 40

Subsystems

Last semester, we had three subsystems we were actively working on,

  • Perception
  • Drilling
  • Manipulation

​

We have finished developing the drill subsystem and our manipulation work is focused on planning hence this semester we have the following primary subsystems,

  • Perception: Registration | Tracking
  • Planning: Motion Compensation | Obstacle Avoidance

With additional work towards optimization and testing.

13 of 40

Perception: Registration

  • We had developed an GroundingDINO (Open-Vocab Object Detection Model) + Segment-Anything Model (SAM) based registration pipeline for SVD Encore
  • But this pipeline
    • Is rather over-engineered with many priors and multiple large models
    • Quite messy since most code was written in the lead up to encore
  • Based on discussion with sponsor, we agreed on getting the initial input prompt from the surgeon, instead of DINO
    • Faster, More Efficient
    • Better Generalization
    • Closer to actual scenario in an operating room
    • Tradeoff : Less Autonomy

14 of 40

Registration

  • Developed a simple UI to get user inputs from the surgeon asking them to annotate points on the femur and tibia
  • We give these points as +ve and -ve prompts to SAM2 which enables us to obtain a precise mask.

​

Additionally,

  • We use the the annotated femur point as the initial position estimate.
  • We use the angle b/w these points as the orientation estimate.

​

Effectively solving the problem of Global Registration for our use case, without needing additional cropping/clustering/segmentation steps. We later perform ICP as usual.

15 of 40

Registration Priors

Assumptions we made for SVD

•Femur is always on the left

•Orientation < ~45 deg

•Located within crop region

​

•Femur is always on the left

•Orientation < ~45 deg

•Anatomically, femur is located above tibia

(For SAM Input)

​

Assumptions we made for SVD Encore

Since we are getting user input, we don’t need any of these priors anymore.

​

16 of 40

17 of 40

Registration

This new pipeline has been integrated with the manipulation stack, effectively replacing our old registration pipeline.

​

Also a testament to our improved software development workflow. Was developed entirely offline with Docker + ROS bag files and worked perfectly the first time with the robot-in-loop.

​

18 of 40

Registration : Analysis

Performance Benchmark

  • SAM Mask Generation : 40ms (small) | 140ms (large)
  • Unprojection + Preprocessing : 200ms
  • ICP : 400ms - 1.2s (depending on RANSAC trials)

​

Total Time - 0.7 - 1.5s

​

​

​

Accuracy Benchmark

  • Any evaluation with the actual camera / robot-in-loop will have errors due to calibration, execution etc.
  • Hence to get an isolation registration accuracy we are trying to replicate our setup in simulation but currently WIP.

​

​

19 of 40

Perception: Tracking

Tested Meta’s SOTA model : Co-Tracker

​

Currently we are working on figuring out

  • Which camera feed to use
  • Since this is a huge model, how to improve performance
  • How will it interplay with the registration pipeline

​

20 of 40

Planning

Along with perception, this is the primary area of focus.

​

Last semester,

  • We were using RRT* via Moveit/OMPL with 10s to optimize.
  • Our stack was open-loop. We plan once and then execute it.
  • No fallback behavior if a plan fails.
  • No obstacle avoidance.

Essentially a “pray and hope for the best” approach.

​

Hence we want to make the following improvements -

  • Plan paths with certain constraints (eg - always look at the bone while moving).
  • Integrate with tracking system for motion compensation.
  • Be able to avoid obstacles.
  • Minimize planning time to make the system more reactive.

​

​

​

​

21 of 40

Hybrid-Planning

Instead of the typical “Sense-Plan-Act” loop, hybrid planning enables interleaving global and local planners to adapt to dynamic environments.

  • Global Planner
    • Running at a lower frequency
    • When large motion detected, replan the path
    • Plan according to static obstacles
  • Local Planner
    • Running at a higher frequency
    • Execute Global Planner’s plan
    • Compensate for small motion

22 of 40

Hybrid-Planning

23 of 40

Hybrid-Planning

24 of 40

Planning Future Work

  • Hybrid-planning Manager
    • Define logic between and track states.
  • Global Planner
    • Set planning space limit (virtual walls)
    • (Main Challenge) Add constraint to keep looking at the bone
    • (Main Challenge) Add D435 obstacles to the planning scene
      • Crop out bone and robot arm in the occupancy grid
  • Local Planner
    • Modify trajopt plugin to take in new goals and do motion compensation
    • When compensating for motion, keep looking at the bone

25 of 40

Subsystem Evaluation / Error Quantification

  • End-to-end error: roughly <= 4mm (with strict priors)

Sources of error

Error

Execution Error

< 0.5 mm

Drill URDF Error

Negligible

Camera Calibration Error

From 10.58 mm to < 2 mm

Registration Error

WIP

26 of 40

Project management

3

27 of 40

Schedule

28 of 40

Schedule

We are behind schedule

  • Various Error Source Quantified
    • Execution Error
    • Drill URDF Error
    • Camera Calibration Error
    • Registration Error
  • Real-time Motion Compensation Tested
  • Behavior Tree Developed
    • Deprioritized
  • Bone Tracking Algorithm Developed
    • 50% progress

29 of 40

Schedule

Why we are behind schedule

  • We spent some time to improve our software setup / workflow
  • We spent some time to eval/quantify different sources of error
  • We are trying new unfamiliar methods

Our plan to catch up

  • Deprioritize non-essential tasks
  • Increase time allocation for critical tasks
  • Pair programming for important tasks that could be potential bottlenecks.

30 of 40

Test Plan - Progress Reviews

Identifier

Date

Capabilities

PR10

Oct. 30

  • Planning Algorithm Improved
    • The Global Planner will plan a trajectory that keep looking at the bone
  • Tracking pipeline developed
    • Able to track movement of bone setup with live feed
  • Real-time motion compensation integrated
    • The Local Planner will compensate for small motion

PR11

Nov. 13

  • Tibia registration developed
    • The tibia can be registered as fast as femur
  • Reach drilling accuracy
    • For single hole, the drilling should achieve 2 mm and 2 deg error
  • Full system demo
    • Only static obstacles, the system should compensate for the motion

PR12 (FVD)

Nov. 18

  • Full system demo

PR13 (FVD Encore)

Nov. 25

  • Improve the system according to the feedback from FVD

31 of 40

Test Plan - FVD/FVD Encore

  • Location: NSH B512
  • Equipment:
    • KUKA LBR Med7 with drill, Realsense D405 mounted on end-effector, Realsense D435 mounted on workspace, Team E PC, Sawbones bone models, Bone model mount, Surgical guide pins
  • Procedure:
    • Setup
      • The bone is fixed on the mount, within the workspace of the arm
      • The arm is in a configuration such that the bone is in the view of D405
      • Use a sharpie to mark the desired drilling point on the bone, as outlined in the surgical plan
      • The E-stops are kept ready within reach of team member’s hand

32 of 40

Test Plan - FVD/FVD Encore

  • Procedure:
    • Test
      • Run registration pipeline to obtain target pin positions and angles
      • The robot should then generate and execute a trajectory to drill multiple holes (at least one each in femur and tibia). The drill should also be triggered autonomously
      • Before the first hole is drilled, we will slightly move the bone setup mid-execution to demonstrate that the robot is able to compensate for motion
      • If bone is out of sight, the robot should stop execution as a safety feature
      • Once the robot finishes drilling, it will return to the home position

33 of 40

Test Plan - FVD/FVD Encore

34 of 40

Test Plan - FVD/FVD Encore

  • Quantitative Metrics:
    • FVD
      • The robot should autonomously drill holes on the femur and the tibia, at the target position without colliding into any static obstacle, and compensating for bone motion
      • The hole should be within 2 mm of the marked position and within 2 deg of the target orientation to fit the surgical guide pin
      • We will compare the drilled holes with a 3D-printed stencil to verify that it meets the position / orientation error criteria
    • FVD Encore
      • We will put cutting guides on the bone through surgical pins to demonstrate the accuracy and consistency across multiple holes

35 of 40

Budget

  • Total budget: $5000
  • Spent:
    • $1,390.97 (~27.8%)
  • Budget Remaining for emergencies:
    • $3,609.03 (~72.2%)
  • Primary critical part:
    • Synthetic Bones, have 6 in inventory

36 of 40

Risks

Risk ID

Risk

Type*

​

Likelihood

Consequence

Mitigation

R3

Manipulator is damaged

T

1

5

- Follow user manual for safely operating and transporting the arm

- Store arm in a secure area away from liquids, weather conditions

R5

Drill injures a person

T

1

4

- Design and build and test our E-Stop

- Follow drill user manual for safe operation

- Keep people a safe distance away

- Have a first-aid kit ready

R6

A group member is absent

S

3

3

- Have a primary and secondary assignee for each task

- Check member mental/physical status during stand-up meetings

R7

Version conflicts or data loss

T

2

3

- Set up version control software (Git & GitHub)

- Docker environment has been set up

*T: Technical, S: Schedule

37 of 40

Risks

*T: Technical, S: Schedule

Risk ID

Risk

Type*

​

Likelihood

Consequence

Mitigation

R8

We lose connection to the arm

T

2

5

- Keep cable taped to the ground

- High speed ethernet cable has been used & tested

- Modify FRI client behavior, override the state

R10

Planning fails

T

2

5

- Replan after planning fail

- Define pre-drill pose to avoid singularities

R11

Registration / Tracking not fast enough

T

2

4

- Fail Fast and find out sooner rather than later

- Don’t be restricted to 3D and leverage pixel space if necessary

- Upgrade compute

38 of 40

Risks

Risk ID

Risk

Type*

​

Likelihood

Consequence

Mitigation

R12

Behavior Tree cannot get implemented

T+S

4

2

- Use FSM, or well-designed ROS Node communication

- Limited behaviors in our system, hence low consequence

R13

Camera Calibration Error is high

T

2

4

- Recalibrated w/ ChAruco. Reduced 10 mm error to 2 mm

- Double Registration (re-register with camera at closer distance to the drill site)

R14

Registration is not accurate enough

T

1

4

- Double Registration (re-register with camera at closer distance to the drill site)

*T: Technical, S: Schedule

39 of 40

Risk Likelihood-Consequence Table

R3

R8, R10

R5, R14

R7

R6

R11, R13

R12

40 of 40

Thank You!

Questions?