A MATLAB simulation of the SnakeRaven vision system. Runs standalone — no hardware required.
Image-Based Visual Servoing (IBVS) takes image features as measurements and computes the camera motion needed to bring them to a target configuration. This simulation does that against a virtual four-dot target, and builds on the kinematics in SnakeRavenSimulation.
Status: archived. From the PhD work, not actively maintained.
The vision-based steering simulated here is published in:
A. Razjigaev, A. K. Pandey, D. Howard, J. Roberts, A. Jaiprakash, R. Crawford and L. Wu, "Optimal Vision-Based Orientation Steering Control for a 3-D Printed Dexterous Snake-Like Manipulator to Assist Teleoperation," IEEE/ASME Transactions on Mechatronics, vol. 29, no. 2, pp. 1260–1271, 2024. doi:10.1109/TMECH.2023.3300662
Full derivation, including both control algorithms: PhD thesis.
SnakeRaven_VisualServo_simulatorIt uses the functions in IBVS_demo, Math_functions, Plotting_functions and SnakeRaven_kinematics.
It can run either the orientation-partitioned IBVS or the Visual Predictive Control algorithm, both described in the thesis chapter above.
Note: the Visual Predictive Controller requires the Optimization Toolbox.
IBVS_result_processing— processes validation data results. Requires the Robotics and Signal Processing toolboxes.- Hand-eye calibration tests — assorted code, some of which needs Peter Corke's Robotics Toolbox for MATLAB.
- SnakeRavenSimulation — the kinematics simulator this builds on. Also runs without hardware.
- SnakeRaven-Project — the same visual servoing running on a real RAVEN II.
MIT — see LICENSE.



