An open-source platform for cooperative semi-autonomous robotic surgery