Utilised in
J. Sergeant, G. Doran, D. R. Thompson, C. Lehnert, A. Allwood, B. Upcroft, M. Milford, "Towards Multimodal and Condition-Invariant Vision-based Registration for Robot Positioning on Changing Surfaces," Proceedings of the Australasian Conference on Robotics and Automation 2016 [under review], 2016.
J. Sergeant, G. Doran, D. R. Thompson, C. Lehnert, A. Allwood, B. Upcroft, M. Milford, "Appearance-Invariant Surface Registration for Robot Positioning," International Conference on Robotics and Automation 2017 [under review], 2017.
The associated Multimodal Rock Image Dataset can be found here. After uncompressing to desired location, ensure to specify the path to the dataset when initialising the SeqReg_TPP object in MATLAB. To run the test for all test casees in the dataset:
seqreg = SeqReq_TPP();
seqreq.test_dataset();
Various input parameter pairs can be provided to both ImagePair() and ImageRegistration(), see next section.
image_pair = ImagePair();
image_pair.set_images(image1,image2,relative_scale);
registrator = ImageRegistration()
% methods include 'seqreg','cnn','surf'
results = registrator('method',image_pair);
Parameters can be set in seqreq.parameters
.
ROS Indigo MATLAB (only tested on R2016a) MoveIt Smach Relies on the the apc_grasping and moveit_lib ROS packages from the ACRV Amazon Picking Challenge repository
This step may be required if the image registration process takes longer than 10 seconds as a part of a ROS Service call. In MATLAB perform the following steps:
edit robotics.ros.ServiceServer
- Add
obj.ResponseBuilder.setTimeout(120000);
after line 173. This is a 2 minute timeout. rehash toolboxcache
- Restart MATLAB.
- Install ROS Custom Message Generator
rosgenmsg('path/to/seqreg_tpp')
- Follow instructions provided by the script.
Various robot configuration parameters can be set in state_machine/parameters/global.yaml
Start the state machine with 'roslaunch state_machine_seqreg state_machine'
- Manipulator will move to an initial position.
- Operator required to select a region of interest on the surface in the image.
- Manipulator moves to secondary position.
- Image registration.
- Manipulator moves to estimated required position.
- Repeats previous 2 steps until completion criteria met or failed image registration.