Skip to content
/ ebike Public

Enhancement and Benchmarking of Inverse Kinematics in Environments

License

Notifications You must be signed in to change notification settings

DLR-MO/ebike

Repository files navigation

EBIKE

EBIKE stands for Enhancement and Benchmarking of Inverse Kinematics in Environments. The library provides tools to compare, evaluate, and optimize different IK solvers in real-world scenarios.

Motivation

Usually, inverse kinematics solvers are evaluated using a very simple approach: A high number of joint space configurations are randomly generated, forward kinematics is performed on the configuration, and the resulting end effector pose is used as input for the inverse kinematics solver. While this approach ensures that no unreachable goal is given to the solver and that the targets are equally distributed in joint space, it does not always represent practical use cases. Especially highly occluded environments and targets near the joint limits of the robot are difficult to reach and not covered by current IK benchmarking tools.

Installation

To use the library, clone this repository into your colcon workspace. Also clone REACH and the ROS 2 extenstions into the workspace. Depending on the IKs you want to test, you should also clone the following:

Usage

Using the run_benchmark.py script, the benchmark can be started, visualization.launch.py can be used for visualization. The library uses the REACH library to try to move the robot's end effector to certain points on the target object. The scenarios that are evaluated are located in the scenarios folder and used in the scenario.py file. Robots and IK solvers are set up in the robot.py and ik.py files, respectively. It should be easy to add your own robots, IK solvers, and scenarios to evaluate according to your own needs.

For optimization, parameters for PickIK can automatically be optimized using the run_optuna.py script. This script uses the Optuna library for optimization.

Scenarios

Small table Table Kallax Barrel
Small table Table Kallax Barrel

Results

Some example results obtained from the library are shown here. The experiments were run on the UR10 robot with the four default scenarios.

About

Enhancement and Benchmarking of Inverse Kinematics in Environments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published