Skip to content

kvasios/geoik-velctrl

geoik-velctrl

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.

Demo

Quick Start

1. Install and Run C++ Velocity Server

Using servobox:

servobox pkg-install geoik-velctrl
servobox run geoik-velctrl

2. Install Python Marker Tracking

Create environment with micromamba (or conda/mamba):

micromamba create -n marker-track python=3.10
micromamba activate marker-track
pip install -r requirements.txt

3. Run Marker Tracker

python3 scripts/marker_track.py

Press t to start/stop tracking. The robot maintains the locked end-effector-to-marker pose as you move the marker.

Server RT Custom Build

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>

Attribution

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.

License

About

A velocity based visuoservo controller (based on GeoIK + ruckig) and a charuco board tracker client.

Resources

License

MIT and 2 other licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE-APACHE-2.0
MIT
LICENSE-FRANKA-VR-TELEOP

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors