ABSTRACT: Inverse kinematics is a fundamental technique for motion and positioning control in robotics, typically applied to end-effectors. In this paper, we extend the concept of inverse kinematics to guiding vector fields for path following in autonomous mobile robots. The desired path is defined by its implicit equation, i.e., by a collection of points belonging to one or more level sets. These level sets serve as a reference to construct an error signal that drives the guiding vector field toward the desired path, enabling the robot to converge and travel along the path by following such vector field. We leverage inverse kinematics to ensure that the constructed error signal behaves like a linear system, facilitating control over the robot’s transient motion toward the desired path and allowing for the injection of feed-forward signals to induce precise motion- behavior along the path. We start with the formal exposition on how inverse kinematics can be applied to single-integrator robots in an m-dimensional Euclidean space. We then propose solutions to the theoretical and practical challenges of applying this technique to unicycles with constant speeds to follow 2D paths with precise transient control. We finish by validating the formal results with experiments using fixed-wing drones.
@misc{yuzhoujesusbautista2024ikgvf,
title={Inverse Kinematics on Guiding Vector Fields for Robot Path Following},
author={Yu Zhou, Jesus Bautista, Weijia Yao, Hector Garcia de Marina},
year={2024},
url={},
}
This paper is in the proceeding of the IEEE International Conference on Robotics and Automation (ICRA) 2025.
This project includes:
- Simulations of the Inverse Kinematics GVF algorithm
- Visualization of Paparazzi UAV telemetry data from experiments
- Animations of both telemetry and simulation data
This IK-GVF framework is designed to run on a flight controller using Paparazzi UAV.
You can find the implementation in the following repository:
We recommend creating a dedicated virtual environment to ensure that the project dependencies do not conflict with other Python packages:
python -m venv venv
source venv/bin/activateThen, install the required dependencies:
pip install --upgrade pip
pip install -r requirements.txt
requirements.txtcontains the versions tested for compatibility with the simulator. Do not modify the versions to ensure stable and reproducible environments. Note thatssl_simulatoralready provides stable versions for the following core packages:numpy,matplotlib,tqdm,pandas,scipy,ipython.
Some additional dependencies, such as LaTeX fonts and FFmpeg, may be required. We recommend following the installation instructions provided in the ssl_simulator README.
To verify that all additional dependencies are correctly installed on Linux, run:
bash test/test_dep.shRun the Jupyter notebooks inside the notebooks directory.
If you have any questions, open an issue or reach out to the maintainers:
- Jesús Bautista Villar (jesbauti20@gmail.com) – Main Developer
