63 #include "rnr/rnrconfig.h" 65 #include "rnr/units.h" 67 #include "Kuon/RS160DControl.h" 298 units_t units=units_norm);
420 void getVersion(
int &nVerMajor,
int &nVerMinor,
int &nRevision)
575 units_t units=units_norm);
603 IMapRobotJoints::iterator iter;
624 MapRobotJoints::iterator iter;
628 return &(iter->second);
709 IMapRobotJoints &imap);
753 #endif // _KUON_ROBOT_H int estop()
Emergency stop.
void getVersion(int &nVerMajor, int &nVerMinor, int &nRevision)
Get the <b><i>Kuon</i></b> robotic arm hardware version number.
int m_nGovernSpeedMin
minimum governed speed limit
int m_nSetPtSpeedLeft
left motors raw speed set point
int isDescribed()
Test if robot is fully described via configuration XML.
int m_fdMotorCtlr1
motor controller 1 file descriptor
std::string getProdName()
Get this base description's name.
std::map< std::string, int > IMapRobotJoints
Indirect map of robot joints.
int addRobotJoint(KuonSpecMotor_T *pSpecJoint, MapRobotJoints &kin, IMapRobotJoints &imap)
Add a joint to robot's kinematic chain.
void getVelocitySetPoints(double &fSpeedLeft, double &fSpeedRight, units_t units=units_norm)
Get the current left and right side motor velocity set points.
int createAsyncThread()
Create the asynchronous thread.
int getAsyncRc()
Get the last asynchronous task return code.
int release()
Release arm and accessories.
int isAlarmed()
Test if robot is alarmed.
KuonDesc m_descKuon
<b><i>Kuon</i></b> description
int getProdId()
Get this base description's base product id.
int getProdId()
Convenience function to get this <b><i>Kuon</i></b> description's base product id.
const char *const KuonDevMotorCtlr1
motor controller 1 device name
AsyncTaskId
Asynchronous task id.
Kuon robotic manipulator plus accesories class.
KuonAsyncTaskState
Asynchronous task state.
static const float BrakeDft
brake start-up default
void * m_pAsyncTaskArg
asynchronous argument
std::string getProdName()
Convenience function to get this <b><i>Kuon</i></b> description's base product name.
KuonRobotJoint * getBaseJoint(int nMotorId)
Get robotic joint in arm+ee kinematic chain.
std::string getProdHwVer()
Get this base description's hardware version.
uint_t strToVersion(const std::string &str)
Convert version dotted string to integer equivalent.
Kuon Robot Status classes interfaces.
int getTrajectoryState(KuonWheelTrajectoryFeedback &trajFeedback)
Get trajectory feedback.
Wheel trajectory point class.
The <b><i>Kuon</i></b> namespace encapsulates all <b><i>Kuon</i></b> related constructs.
float m_fBattery
battery energy level
std::map< int, KuonRobotJoint > MapRobotJoints
Map of robot joints.
bool m_bIsEStopped
arm is [not] emergency stopped
void resetEStop()
Reset (clears) emergency stop condition.
Robotic motor specification.
KuonRobotJoint * getBaseJointAt(int index)
Get robotic joint in arm+ee kinematic chain at the given index.
float getSlew()
Get current slew setting.
int setBrake(float fBrake)
Set robot's auto-brake value.
int areMotorsPowered()
Test if robot motor are currently being driven (powered).
Kuon Robot Joint class interfaces.
AsyncTaskId m_eAsyncTaskId
asynchronous task id
KuonRobotJoint * getBaseJoint(std::string &strName)
Get robotic joint in arm+ee kinematic chain.
KuonRobot(bool bNoExec=false)
Default initialization constructor.
int isEStopped()
Test if robot is current emergency stopped.
#define KUON_VER_REV(ver)
Get revision number from version.
float incrementGovernor(float fDelta)
Increment/decrement speed limit governor value.
KuonRobotMode
<b><i>Kuon</i></b> mode of operation.
int configForOperation()
Configure <b><i>Kuon</i></b> for normal operation.
int m_rcAsyncTask
last async task return code
MapRobotJoints m_kinBase
robot base kin
#define KUON_VER_MINOR(ver)
Get version minor number from version.
RoadNarrows Kuon robot top-level header file.
#define KUON_VER_MAJOR(ver)
Get version major number from version.
bool m_bNoExec
do [not] execute physical movements
const int KuonBaudRateMotorCtlr
motor controllers baud rate
int getRobotStatus(KuonRobotStatus &robotStatus)
Get the robot current status.
int freeze()
Freeze arm and accessories at current position.
int m_nGovernSpeedMax
maximum governed speed limit
bool m_bAreMotorsPowered
arm motor are [not] driven
int m_fdMotorCtlr0
motor controller 0 file descriptor
std::string getFullProdBrief()
Get the <b><i>Kuon</i></b> full brief descirption.
int setSpeed(double fSpeedLeft, double fSpeedRight, units_t units=units_norm)
Set robot's left and right motor speeds.
Trajectory classes interfaces.
Kuon full robotic mobile platform descripition class interface.
const char *const KuonDevMotorCtlr0
motor controller 0 device name
int clearAlarms()
Attempt to clear all motor alarms in all kinematic chains.
std::string getFullProdBrief()
Get the <b><i>Kuon</i></b> full brief descirption.
Kuon robotic manipulator full description class.
KuonWheelTrajectoryPoint m_lastTrajBase
last trajectory point for base
int move(KuonWheelTrajectoryPoint &trajectoryPoint)
Move platform through trajectory point.
static const float SlewDft
slew start-up default
Operational robotic joint class.
pthread_t m_threadAsync
async pthread identifier
int disconnect()
Disconnect from <b><i>Kuon</i></b>.
double fcap(double a, double min, double max)
Cap value within limits [min, max].
static void * asyncThread(void *pArg)
Asynchronous operation thread.
float setGovernor(float fGovernor)
Set speed limit governor value.
bool isDescribed()
Test if required descriptions are described.
int connect(const std::string &strDevMotorCtlr0=KuonDevMotorCtlr0, const std::string &strDevMotorCtlr1=KuonDevMotorCtlr1, int nBaudRateMotorCtlr=KuonBaudRateMotorCtlr)
Connect to <b><i>Kuon</i></b>.
int convertSpecs()
Convert specification(s) to operational parameters.
KuonDescBase * getBaseDesc()
Get the <b><i>Kuon</i></b> base product description.
float getBrake()
Get current brake setting.
bool m_bAlarmState
robot is [not] alarmed
IMapRobotJoints m_imapBase
robot base indirect kin map
KuonAsyncTaskState m_eAsyncTaskState
asynchronous task state
int m_nSetPtSpeedRight
right motors raw speed set point
float getGovernor()
Get current speed limit governor setting.
float m_fSlew
power slewing
int getJointState(KuonJointStatePoint &jointStatePoint)
Get the joint states of a kinematic chain.
float m_fBrake
motor braking
void cancelAsyncTask()
Cancel any asynchronous task.
bool isInMotion()
Test if any joint in any of the kinematic chains is moving.
int setSlew(float fSlew)
Set robot's power slew value.
static const float GovernorDft
speed limit governor start-up default
int velocityToRawSpeed(double fVelocity, units_t units=units_norm)
Convert velocity to raw motor speed value.
KuonDesc * getKuonDesc()
Get the <b><i>Kuon</i></b> product description.
std::string getVersion()
Get the <b><i>Kuon</i></b> robotic arm hardware version string.
void setRobotMode(KuonRobotMode eRobotMode)
Set robot's operational mode.
bool isConnected()
Test if connected to <b><i>Kuon</i></b> hardware.
Wheel trajectory feedback class.
virtual ~KuonRobot()
Destructor.
float m_fGovernor
speed limit governor setting
KuonRobotMode m_eRobotMode
robot operating mode
KuonAsyncTaskState getAsyncState()
Get the current asynchronous task state.