ISMR2021 - rosmed/rosmed.github.io GitHub Wiki
ISMR 2021 Planning
Organizers
- 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])
Presentations
- 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
Time Table (TBD)
Tutorial - workflow
(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
Memos
- 3D Slicer tutorials
- Virtual environment solutions
- Setting up a Docker image with ROS2
Follow https://github.com/openigtlink/ROS-IGTL-Bridge