PIK ROS
|
Prioritized Inverse Kinematics ROS library pik_ros
.
The PIK solver gives a solution to the prioritized positional inverse kinematics problem: selecting joint positions that result in optimizing a number of prioritized tasks for different links in the kinematic chain.
In the image bellow you can see an example with following priorities:
spraying_frame
position, shown with a blue spherespraying_frame
approach axis orientation, shown with a blue arrowforearm_link
position, shown with a purple spherePIK ROS solver uses sequential prioritized optimization, where PtscEigen
is used for prioritized optimization, and MoveIt
is used for the robot model data and Jacobian calculation.
This project depends on ROS
, MoveIt
and PtscEigen
.
Clone to your catkin workspace and build with
catkin build pik_ros
Find the pik_ros
pacakage in your CMakeLists.txt file:
And link the catkin libraries:
For complete examples of usage of the library see kinova_gen3_pik_examples
Priorities are given to the solver as a vector of PikRos::IkTask objects, with descending priorities.
PikRos::IkTaskType describes a particular task type given to the solver. Available task types are:
FRAME_POSITION
- Frame position task, has a value of [x, y, z]^T in metersFRAME_ORIENTATION
- Frame orientation task, has a quaternion value [w, x, y, z]^TFRAME_POSE
- Frame pose task, a combination of FRAME_POSITION and FRAME_ORIENTATION tasksFRAME_APPROACH_AXIS
- Frame approach axis task, has a value of a 3D vector [x, y, z]^TTODO
Materials in this repository are distributed under the following license:
All software is licensed under the BSD 3-Clause License.