Geometric IK-based velocity control with eye-in-hand visual servoing for Franka Emika robots. Track ArUco markers in real-time and maintain desired end-effector-to-marker poses.
Using servobox:
servobox pkg-install geoik-velctrl
servobox run geoik-velctrlCreate environment with micromamba (or conda/mamba):
micromamba create -n marker-track python=3.10
micromamba activate marker-track
pip install -r requirements.txtpython3 scripts/marker_track.pyPress t to start/stop tracking. The robot maintains the locked end-effector-to-marker pose as you move the marker.
To build from source:
mkdir build && cd build
cmake ..
make
./franka_velocity_server <robot-ip> <bidexhand> <mode>Arguments: <robot-ip> <bidexhand: true/false> <mode: vs for visual servo, vr for VR>
This project builds upon excellent work from:
- Franka Robotics GmbH - Robot control examples (Apache-2.0)
- Zhengyang Kris Weng et al. - VR teleoperation framework (MIT)
- Pablo Lopez-Custodio et al. - GeoFIK inverse kinematics algorithm
See ATTRIBUTION.md for detailed credits and citations.
- Project code: MIT (see LICENSE)
- Third-party components: See LICENSE-APACHE-2.0 and LICENSE-FRANKA-VR-TELEOP
