Skip to content

ROS_Robot

Simon Leonard edited this page Mar 29, 2019 · 19 revisions

Installing ROS packages

(You may skip this step, if you set up the ROS environment using the Docker image provided in this tutorial.)

On the ROS computer, we open a terminal and copy two ROS packages into the katkin workspace:

cd ~/catkin_ws/src
git clone https://github.com/rosmed/ismr19_description
git clone https://github.com/rosmed/ismr19_moveit
git clone https://github.com/rosmed/ismr19_control

Additionally, we also copy IGTL Exporter, which streams the transformations of the robot link to 3D Slicer via ROS-IGTL-Bridge.

cd ~/catkin_ws/src
git clone https://github.com/tokjun/ros_bx_robot_bridge

Then, run catkin_make

cd ~/catkin_ws
catkin_make
source devel/setup.bash

Launching the ROS packages

!! The following steps will be revised -- not sure if we will use demo.launch !!

We launch the universal robot with a custom needle hodler on rviz using the following command:

roslaunch ismr19_moveit demo.launch

Launching IGTL Exporter

To launch the IGTL Exporter, open another terminal and run the following command:

cd ~/catkin_ws
source devel/setup.bash
rosrun bx_robot_bridge igtl_exporter.py

Loading Patient Model

We will load the surface model of the patient. First, we download the model:

cd ~
mkdir models
cd models
wget -O ismr19.scene https://bit.ly/2OpSdKM

From rviz, open the "Scene Objects" tab in the "MotionPlanning" frame, click the "Import From Text" button in the low-right area of the "Current Scene Objects" section, choose the downloaded file ("ismr19.scene") in the "Import Scene Geometry" dialog box, and click the "Open" button. The model of the skull appears on the 3D viewer.

Once you see the skull, click on the "Publish Scene" button.