Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
MoveIt kinematics_base plugin based on particle optimization & GA
| Date | Stars |
|---|---|
| 2026-07-24 | 270 |
| 2026-07-25 | 270 |
| 2026-07-28 | 270 |
| 2026-07-30 | 270 |
| 2026-08-06 | 270 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# bio_ik
## Disclaimer
This repository provides a BSD-licensed standalone implementation
of a variety of optimization methods to efficiently solve generalized inverse kinematics problems.
The whole module was implemented by Philipp Ruppel as part of his Master Thesis.
For a C++-based reimplementation of the original "BioIK" algorithm,
as originally sold in the Unity store, you can use the non-default mode `bio1`.
The default mode `bio2_memetic` shares no code with this implementation, was shown to outperform it
in terms of success rate, precision and efficiency, and is actually usable for precise robotic applications [4].
## Installation and Setup
You will need ROS version Indigo or newer (wiki.ros.org).
The software was developed on Ubuntu Linux 16.04 LTS with ROS Kinetic,
but has also been tested on Ubuntu Linux 14.04 LTS with ROS Indigo.
Newer versions of ROS should work, but may need some adaptation.
See below for version specific instructions.
* Download the `bio_ik` package and unpack into your catkin workspace.
* Run `catkin_make` to compile your workspace:
```
roscd
cd src
git clone https://github.com/TAMS-Group/bio_ik.git
roscd
catkin_make
```
* Configure Moveit to use bio_ik as the kinematics solver (see next section).
* Use Moveit to plan and execute motions or use your own code
together with `move_group` node to move your robot.
* As usual, the public API is specified in the public header files for the `bio_ik` package,
located in the `include/bio_ik` subdirectory;
the sources including a few private header files are in the `src` subdirectory.
## Basic Usage
For ease of use and compatibility with existing code,
the bio_ik algorithm is encapsulated as a Moveit kinematics plugin.
Therefore, bio_ik can be used as a direct replacement of
the default Orocos/KDL-based IK solver.
Given the name of an end-effector and a 6-DOF target pose,
bio_ik will search a valid robot joint configuration that reaches the given target.
In our tests (see below), both in terms of success rate and solution time,
bio_ik regularly outperformed the Orocos [1] solver
and is competitive with trac-ik [2].
The bio_ik algorithm can also be used for high-DOF system like robot snakes,
and it will automatically converge to the best approximate solutions
for low-DOF arms where some target poses are not reachable exactly.
While you can write the Moveit configuration files by hand,
the easiest way is to run the Moveit setup assistant for your robot,
and then to select bio_ik as the IK solver when configuring the end effectors.
Once configured, the solver can be called using the standard Moveit API
or used interactively from rviz using the MotionPlanning GUI plugin.
* Make sure that you have a URDF (or xacro) model for your robot.
* Run the moveit setup assistant to create the Moveit configuration files:
```
rosrun moveit_setup_assistant moveit_setup_assistant
```
* The setup assistant automatically searches for all available IK solver plugins
in your workspace.
Therefore, you can just select select bio_ik as the IK solver
from the drop-down list for every end effector and then configure
the kinematics parameters, namely the default position accuracy (meters)
and the timeout (in seconds). For typical 6-DOF or 7-DOF arms,
an accuracy of 0.001 m (or smaller) and a timeout of 1 msec should be ok.
More complex robots might need a longer timeout.
* Generate the moveit configuration files from the setup assistant.
Of course, you can also edit the `config/kinematics.yaml` configuration
file with your favorite text editor.
For example, a configuration for the PR2 robot might look like this:
```
# example kinematics.yaml for the PR2 robot
right_arm:
# kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
# kinematics_solver_attempts: 1
kinematics_solver: bio_ik/BioIKKinematicsPlugin
kinematics_solver_search_resolution: 0.005
kinematics_solver_tiExcerpt of 21,193 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:59d2e65222005816, topic:robotics, topic:ros