-
Notifications
You must be signed in to change notification settings - Fork 7
ISMR2021
Junichi Tokuda edited this page Sep 28, 2021
·
9 revisions
- Junichi Tokuda, Brigham and Women’s Hospital and Harvard Medical School ([email protected])
- Tamas Ungi, Queen’s University ([email protected])
- Axel Krieger, Johns Hopkins University([email protected])
- Simon Leonard, Johns Hopkins University ([email protected])
- Mark Fuge, University of Maryland ([email protected])
- Junichi Tokuda, Ph.D., Brigham and Women’s Hospital
- Tamas Ungi, M.D., Ph.D., Queen’s University, Prototyping Software for Image-Guided Therapy
- Axel Krieger, Ph.D., University of Maryland, Software Systems for Autonomous Surgery
(old) See Tutorial Slide.
The following workflow is a draft.
- Prerequisite
- Software versions
- 3D Slicer 4.11.20210226 (the latest release as of September 2021) TBD
- ROS 2 Foxy
- Ubuntu 20.04 (For the ROS 2 environment)
- Slicer Workstation
- Please refer to Hardware Requirement for Slicer
- ROS Computer
- [Option 1] Docker - In this case, no dedicated ROS computer is needed. Docker container can run on the Slicer workstation. See the DockerROS2 page
- [Option 2] Native Linux Machine - See the installation page
- [Option 3 -- not recommended] Other virtualization environments (VMWare, VirtualBox, etc) may be used. VirtualBox has some issues with 3D graphics (required for rviz) and is not recommended at this point.
- Software versions
-
Setting up ROS2 environment
- Install ROS 2
- [Option 1] Using Docker
- [Option 2] Using native Linux
- Install ROS 2
-
Setting up 3D Slicer
- Install Extensions (plug-ins)
- Test 3D Slicer-ROS communication using ROS-IGTL-Bridge
-
Setting up a universal robot arm on ROS
- Load robot and patient model in ROS scene using rviz
- Move the patient model into the workspace for the robot using pointer function on rviz
-
Planning on 3D Slicer
- Load patient model
- Define the target needle trajectory (pre-insertion and post-insertion)
- Load robot model
-
Establishing a connection between Slicer and ROS
- Connect 3D Slicer with ROS using ROS-IGTL-Bridge
- Check synchronization of the robot models on 3D Slicer and ROS
-
Registration
- (Slicer) Launch Fiducial Registration Wizard
- (rviz) Manually move the end-effector to the first landmark on the skull
- (Slicer) Record the current position of the tip, and click the corresponding point on the sull model
- repeat the previous two steps
- Run landmark registration.
- Apply the transform to the robot
-
Planning needle placement
- (Slicer) Setup Volume Reslice Driver
- (Slicer) Send the pre-insertion end-effector position to ROS
-
Executing the plan
- (ROS) Move the arm to the home position
- (ROS) Move the arm to the pre-insertion position
- (ROS) Move the arm to the post-insertion position
- 3D Slicer tutorials
- Virtual environment solutions
- Setting up a Docker image with ROS2
Follow https://github.com/openigtlink/ROS-IGTL-Bridge