|
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 sphere
PIK 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.
1.8.13