No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
|
Package Summary
Tags | No category tags. |
Version | 1.3.0 |
License | GPL |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/shadow-robot/sr_interface.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2021-12-10 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Provides additionnal KDL functions or modified functions to handle coupling in joints as well as 3D IK
solutions for less than 6 DOF chains.
Additional Links
Maintainers
- Shadow Robot's software team
Authors
- Juan Antonio Corrales Ramon (UPMC)
Copyright UPMC 2012
This package contains KDL functions augmented with coupling capabilities.
It can be used in any IK module that requires coupling capable FK/IK. It is based on an URDF chain.
It should not be Shadow hand specific as the coupling coefficient can be set to anything from an outer function call
(for example hand_kinematics uses it as well as cartesian controller, setting the coupling coefficient accordingly)
Usage :
------
* Init the KDL chain
KDL::Chain_coupling from this package inherits standard KCL::Chain and so can be filled correctly by standard functions
as long as you cast KDL::Chain_coupling to KDL:Chain before. Make sure you correctly fill additionnal parts of
KDL::Chain_coupling to your needs (coupling function etc...)
look at robot_mechanism_controllers for the cartesian controller to see how to fill a KDL chain from an URDF chain
ex :
KDL::Chain_coupling kdl_chain_;
KDL::Tree kdl_tree;
kdl_parser::treeFromUrdfModel(robot_state->model_->robot_model_,kdl_tree);
KDL::Chain kdl_chain_base= (KDL::Chain &)kdl_chain_; //cast to parent class
kdl_tree.getChain(root_name_,tip_name,kdl_chain_base);
chain_.init(robot_state_, root_name_, tip_name); //chain_ is a pr2_mechanism chain
chain_.toKDL(kdl_chain_base);
// Initialize coupling information in KDL chain
kdl_chain_.setUpdateCouplingFunction(updateCouplingFF);
* Updating the coupling
Before each IK/FK call, you should call the update coupling function (so variable coupling is possible)
best is to create a coupling function returning an Eigen matrix
ex :
Eigen::MatrixXd updateCouplingFF(const KDL::JntArray& q)
{
Eigen::MatrixXd cm(4,3); // must be the correct size
//fill the matrix here
return cm;
}
tutorial later to come.
CHANGELOG
No CHANGELOG found.
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
Deps | Name |
---|---|
roscpp | |
orocos_kdl | |
catkin |
System Dependencies
No direct system dependencies.
Dependant Packages
Name | Deps |
---|---|
hand_kinematics | |
sr_interface |
Launch files
No launch files found
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.