![]() |
Hekateros
3.4.3
RoadNarrows Robotics Robot Arm Project
|
The Hekateros kinematics and dynamics class interface. More...
#include <sys/time.h>#include <time.h>#include <pthread.h>#include <vector>#include <map>#include "rnr/rnrconfig.h"#include "rnr/log.h"#include "Dynamixel/Dynamixel.h"#include "Dynamixel/DynaError.h"#include "Dynamixel/DynaServo.h"#include "Dynamixel/DynaChain.h"#include "Hekateros/hekateros.h"#include "Hekateros/hekTune.h"#include "Hekateros/hekJoint.h"#include "Hekateros/hekTraj.h"#include "Hekateros/hekKinJoint.h"#include "Hekateros/hekUtils.h"Go to the source code of this file.
Classes | |
| class | hekateros::HekKinematics |
Namespaces | |
| hekateros | |
| The Hekateros namespace encapsulates all Hekateros related constructs. | |
The Hekateros kinematics and dynamics class interface.
The class instance starts a kinematics thread to sense kinematic chain dynamics, control forward geometry kinematics, and monitor servo health.
The kinematics includes all physical kinematic chains. The individual chains are controlled by the higher-level interfaces such as MoveIt!
The kinematics thread performs several functions:
There are two alternative kinematics thread execution algorithms.
* get next task * if task is a joint task * sense() * sense dynamics (3 dynabus reads) * act() * control movement (1+ dynabus writes) * limit torque if necessary (1+ dynabus writes) * else if task is to monitor * monitor() * health of one servo (3 dynabus reads) * block wait for next task time *
* sense() * for each joint * sense dynamics (3 dynabus reads) * react() * for each joint * stop motion if necessary (1 dynabus write) * limit torque if necessary (1+ dynabus writes) * plan() * for each joint * plan motion and add to synchronous write messages * act() * sync write (1 or 2 dynabus messages) * monitor() * health of one servo (3 dynabus reads) * block wait for next cycle time *
Definition in file hekKin.h.