Quad-SDK
|
This package implements a collection of utility functions to aid quad kinematic calculations, interfacing between RViz and quad-sdk topics, remote heartbeat function, and various launch files. The detail functionalities of different classes can be found in Classes and Functions section. Methods to use various launch files are explained in the Wiki.
The source code is released under a MIT License.
**Author: Joe Norby
Affiliation: Robomechanics Lab
Maintainers: Alex Stutt (astut.nosp@m.t@an.nosp@m.drew..nosp@m.cmu..nosp@m.edu) and Qishun Yu (qishu.nosp@m.ny@a.nosp@m.ndrew.nosp@m..cmu.nosp@m..edu)**
The Quad Utils package has been tested under ROS Melodic 18.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.
quad_kd.cpp
- QuadKD is our kinematics and dynamics library to aid in performing those types of calculations. Some methods are written by hand, others implement RBDL as a backend (mostly for Jacobian and inverse dynamics computation).The general naming convention for coordinate transformations is
So for example QuadKD::worldToFootFKWorldFrame();
would give the coordinates of the foot frame origin relative to the world frame origin expressed the world frame for a given set of body and joint positions , while QuadKD::legbaseToFootIKLegbaseFrame();
would give the joint positions corresponding to a given foot location specified in the legbase frame.
Here is another example of computing rotation matrix given roll pitch and yaw using getRotationMatrix
in quad_kd.cpp
:
rviz_interface.cpp
- A class for interfacing between RViz and quad-sdk topics.remote_heartbeat.cpp
- A class for implementing a remote heartbeat to publishe stamped messages at a fixed rate.Please report bugs and request features using the Issue Tracker.