Data-driven calibration of RAVEN-II surgical robot with ground truth joint positions
Data files
Nov 14, 2024 version files 1.88 GB
-
README.md
4.06 KB
-
record_1_different_directions.zip
301.52 MB
-
record_2_diff_sparsity.zip
438.70 MB
-
record_3_time_decay_500gload.zip
412.32 MB
-
record_3_time_decay_idle.zip
105.25 MB
-
record_3_time_decay_unloaded.zip
290.31 MB
-
record_4_home_decay_no_home_in_training.zip
167.08 MB
-
record_4_home_decay_with_home_in_training.zip.zip
167.13 MB
Abstract
Accurate joint position estimation is crucial for the control of cable-driven laparoscopic surgical robots like the RAVEN-II. However, any slack and stretch in the cable can lead to errors in kinematic estimation, complicating precise control. This work proposes an efficient data-driven calibration method, requiring no additional sensors post-training. This dataset was collected from a RAVEN-II surgical robot, including different calibration trajectories, 6-hour continuous idle, unloaded, and loaded operating. Ground truth joint positions for positional joints are also collected from high-resolution optical encoders.
https://doi.org/10.5061/dryad.tqjq2bw84
Description of the data and file structure
Please do not hesitate to contact Haonan Peng (penghaonan1993@gmail.com) if you need any help using this dataset.
All code about utilizing this dataset, including neural networks and regressions can be found at GitHub repo:
as well as index, preprocessing.
Each recording .zip file contains training and testing trajectories as .csv files. "rand1200" in the file name indicates this is a random trajectory, otherwise indicating a zig-zag trajectory. "x", "y", or "z" in the file name indicates the direction of zig-zag trajectories, wherein "x - Joint 1", "y - Joint 2", "z - Joint 3", there can also be diagonal directions such as "xy - Joint 1-2". Numbers "05, 03, 025, 02, 016" in the file name means the sparsity of the zig-zag trajectory of 0.5, 0.333, 0.25, 0.2 and 0.1667. There may also be direction and/or sparsity notes for random trajectories. These notes for random trajectory indicate these random trajectories are recorded close to the zig-zag trajectories with these notes, which is to prevent the testing trajectories from being recorded too far away from the training zig-zag, causing a time effect.
- Recording 1 has training zig-zag trajectories with different direction, such as Joint 1, Joint 2, Joint 1-2, and so on.
- Recording 2 has training zig-zag trajectories with different sparsity.
- Recording 3 has has 6-hour testing trajectories in indleness, unloaded, and 500g loaded configuration, to study the time effects.
- Recording 4 has homing procedure during testing. And the 2 training sets, one has homing while one does not, to study the homing effects.
The column index of the dataset followed, more details can be found in our paper:
# left arm only ----------------------------
np.arange(1,2), # time stamp of ground truth
np.arange(2,5), # ground truth joint position
np.arange(5,6), # time stamp of CRTK joint position, usually not used
np.arange(6,12), # joint position of CRTK joint position, usually not used, this is the same as the robot state joint position in the following sections
np.arange(12,13), # time stamp of robot state "ravenstate", all the following indice are from robot state
np.arange(13,21), # joint position
np.arange(29,30), # run level
np.arange(30,31), # sub-level
np.arange(31,32), # last sequence
np.arange(32,33), # arm type
np.arange(34,37), # end-effector position
np.arange(40,49), # end-effector orientation
np.arange(58,67), # end-effector orientation desired
np.arange(76,79), # end-effector position desired
np.arange(82,98), # encoder value
np.arange(98,106), # motor dac value
np.arange(114,122), # motor torque
np.arange(130,138) # motor position
np.arange(146,154), # motor velocity
np.arange(162,170), # joint velocity
np.arange(178,186), # motor position desired
np.arange(194,202), # joint position desired
np.arange(210,211), # grasper desired
np.arange(212,228), # encoder offset
np.arange(228,234), # Jacobian velocity
np.arange(240,246) # Jacobian force
Code/software
Coda available at: https://github.com/HaonanPeng/Efficient-Data-driven-Joint-level-Calibration-of-Cable-driven-Surgical-Robots
Usage Note
This DRYAD dataset contains robot states and ground truth joint positions accompanying the 2024 manuscript "Efficient Data-driven Joint-level Calibration of Cable-driven Surgical Robots" by Peng, H et al., to be published in npj Robotics.
Access information
Data was derived from the following sources:
- RAVEN-II surgical robot
Please refer to our paper "Efficient Data-driven Joint-level Calibration of Cable-driven Surgical Robots" for more details.
This data set is collected on a RAVEN-II surgical robot. Only the left arm of the robot was used.
Ground truth of joint positions Avago Technologies AEDA- 3300 encoders were installed on the rotational joints 1 and 2, with a resolution of 80000 PPR. Mercury II 1600 was installed on the translational joint 3, with a resolution of 5 µm. The external encoders were registered during the initialization of RAVEN-II to register the offsets.
Robot states "ravenstate" are also recorded, which includes time, pose, velocity, force, torque, and so on.
The robot states and ground truth joint positions are synchronized and the frequency is around 30 Hz.
This dataset is collected for data-driven calibration of cable-driven surgical robots. Training trajectories are zig-zag trajectories for their even distribution in the workspace, while testing trajectories are random trajectories to better suggest the generalization ability of the trained models.