#include <robot.h>

Public Types | |
| enum | emg_reason { EMG_SERVO_ERROR, EMG_FZ, EMG_SERVO_ALARM, EMG_POWER_OFF } |
| reasons of emergency More... | |
Public Types inherited from hrp::Body | |
| enum | ExtraJointType |
Public Member Functions | |
| bool | addJointGroup (const char *gname, const std::vector< std::string > &jnames) |
| bool | checkEmergency (emg_reason &o_reason, int &o_id) |
| check occurrence of emergency state More... | |
| bool | checkJointCommands (const double *i_commands) |
| check joint commands are valid or not More... | |
| void | disableDisturbanceObserver () |
| disable disturbance observer More... | |
| void | enableDisturbanceObserver () |
| enable disturbance observer More... | |
| bool | init () |
| bool | init () |
| void | initializeJointAngle (const char *name, const char *option) |
| initialize joint angle More... | |
| int | lengthDigitalInput () |
| int | lengthDigitalOutput () |
| size_t | lengthOfExtraServoState (int id) |
| get length of extra servo states More... | |
| bool | loadGain () |
| load PD gains More... | |
| int | numBatteries () |
| get the number of batteries More... | |
| int | numThermometers () |
| get the number of thermometers More... | |
| void | oneStep () |
| all processings for one sampling period More... | |
| bool | power (int jid, bool turnon) |
| turn on/off power for joint servo More... | |
| bool | power (const char *jname, bool turnon) |
| turn on/off power for joint servo More... | |
| void | readAccelerometer (unsigned int i_rank, double *o_accs) |
| read accelerometer output More... | |
| void | readBatteryState (unsigned int i_rank, double &o_voltage, double &o_current, double &o_soc) |
| read battery state More... | |
| int | readCalibState (int i) |
| read calibration status of a joint servo More... | |
| bool | readDigitalInput (char *o_din) |
| bool | readDigitalOutput (char *o_dout) |
| int | readDriverTemperature (int i) |
| read temperature of motor driver More... | |
| void | readExtraServoState (int id, int *state) |
| read extra servo states More... | |
| void | readForceSensor (unsigned int i_rank, double *o_forces) |
| read force sensor output More... | |
| void | readGyroSensor (unsigned int i_rank, double *o_rates) |
| read gyro sensor output More... | |
| void | readJointAngles (double *o_angles) |
| read array of all joint angles[rad] More... | |
| void | readJointCommands (double *o_commands) |
| read array of reference angles of joint servo More... | |
| int | readJointCommandTorques (double *o_torques) |
| read array of all commanded joint torques[Nm] More... | |
| int | readJointTorques (double *o_torques) |
| read array of all joint torques[Nm] More... | |
| void | readJointVelocities (double *o_velocities) |
| read array of all joint velocities[rad/s] More... | |
| int | readPDControllerTorques (double *o_torques) |
| read array of all pd controller torques[Nm] More... | |
| int | readPowerState (int i) |
| read power status of a joint servo More... | |
| void | readPowerStatus (double &o_voltage, double &o_current) |
| read voltage and current of the robot power source More... | |
| int | readServoAlarm (int i) |
| read alarm information of a joint servo More... | |
| int | readServoState (int i) |
| read servo status of a joint servo More... | |
| void | readThermometer (unsigned int i_rank, double &o_temp) |
| read thermometer More... | |
| void | removeForceSensorOffset () |
| remove offsets on force sensor outputs More... | |
| robot () | |
| constructor More... | |
| robot (double dt) | |
| constructor More... | |
| bool | servo (int jid, bool turnon) |
| turn on/off joint servo More... | |
| bool | servo (const char *jname, bool turnon) |
| turn on/off joint servo More... | |
| void | setDisturbanceObserverGain (double gain) |
| set disturbance observer gain More... | |
| bool | setJointControlMode (const char *i_jname, joint_control_mode mode) |
| set control mode of joint More... | |
| bool | setJointInertia (const char *i_jname, double i_mn) |
| set joint inertia More... | |
| void | setJointInertias (const double *i_mn) |
| set joint inertias More... | |
| void | setProperty (const char *key, const char *value) |
| bool | setServoErrorLimit (const char *i_jname, double i_limit) |
| set servo error limit value for specific joint or joint group More... | |
| bool | setServoErrorLimit (const char *i_jname, double i_limit) |
| set servo error limit value for specific joint or joint group More... | |
| bool | setServoGainPercentage (const char *i_jname, double i_percentage) |
| set the parcentage to the default servo gain More... | |
| bool | setServoTorqueGainPercentage (const char *i_jname, double i_percentage) |
| set the parcentage to the default servo torque gain More... | |
| void | startForceSensorCalibration () |
| start force sensor calibration and wait until finish More... | |
| void | startInertiaSensorCalibration () |
| start inertia sensor calibration and wait until finish More... | |
| void | writeAccelerationCommands (const double *i_commands) |
| write array of reference accelerations of joint servo More... | |
| bool | writeDigitalOutput (const char *i_dout) |
| bool | writeDigitalOutputWithMask (const char *i_dout, const char *i_mask) |
| void | writeJointCommands (const double *i_commands) |
| write array of reference angles of joint servo More... | |
| void | writeTorqueCommands (const double *i_commands) |
| write array of reference torques of joint servo More... | |
| void | writeVelocityCommands (const double *i_commands) |
| write array of reference velocities of joint servo More... | |
| ~robot () | |
| destructor More... | |
| ~robot () | |
| destructor More... | |
Public Member Functions inherited from hrp::Body | |
| void | addSensor (Sensor *sensor, int sensorType, int id) |
| Body () | |
| Body (const Body &org) | |
| void | calcAngularMomentumJacobian (Link *base, dmatrix &H) |
| Vector3 | calcCM () |
| void | calcCMJacobian (Link *base, dmatrix &J) |
| void | calcForwardKinematics (bool calcVelocity=false, bool calcAcceleration=false) |
| void | calcInverseDynamics (Link *link, Vector3 &out_f, Vector3 &out_tau) |
| void | calcMassMatrix (dmatrix &out_M) |
| double | calcTotalMass () |
| void | calcTotalMomentum (Vector3 &out_P, Vector3 &out_L) |
| void | calcTotalMomentumFromJacobian (Vector3 &out_P, Vector3 &out_L) |
| void | clearExternalForces () |
| void | clearSensorValues () |
| Light * | createLight (Link *link, int lightType, const std::string &name) |
| Sensor * | createSensor (Link *link, int sensorType, int id, const std::string &name) |
| void | getDefaultRootPosition (Vector3 &out_p, Matrix33 &out_R) |
| JointPathPtr | getJointPath (Link *baseLink, Link *targetLink) |
| void | initializeConfiguration () |
| bool | installCustomizer () |
| bool | installCustomizer (BodyCustomizerInterface *customizerInterface) |
| bool | isStaticModel () |
| Link * | joint (int id) const |
| const std::vector< Link * > & | joints () const |
| Light * | light (const std::string &name) |
| Link * | link (int index) const |
| Link * | link (const std::string &name) const |
| const LinkTraverse & | links () const |
| const LinkTraverse & | linkTraverse () const |
| const std::string & | modelName () |
| const std::string & | name () |
| unsigned int | numJoints () const |
| unsigned int | numLinks () const |
| unsigned int | numSensors (int sensorType) const |
| unsigned int | numSensorTypes () const |
| void | putInformation (std::ostream &out) |
| Link * | rootLink () const |
| Sensor * | sensor (int sensorType, int sensorId) const |
| TSensor * | sensor (const std::string &name) const |
| TSensor * | sensor (int id) const |
| void | setColumnOfMassMatrix (dmatrix &M, int column) |
| void | setDefaultRootPosition (const Vector3 &p, const Matrix33 &R) |
| void | setModelName (const std::string &name) |
| void | setName (const std::string &name) |
| void | setRootLink (Link *link) |
| void | setVirtualJointForces () |
| double | totalMass () const |
| void | updateLinkColdetModelPositions () |
| void | updateLinkTree () |
| virtual | ~Body () |
Public Member Functions inherited from hrp::Referenced | |
| Referenced () | |
| virtual | ~Referenced () |
Public Attributes | |
| double | m_accLimit |
| double | m_fzLimitRatio |
| double | m_maxZmpError |
| std::vector< double > | m_servoErrorLimit |
| double | m_servoOnDelay |
Public Attributes inherited from hrp::Body | |
| EJ_XY | |
| EJ_XYZ | |
| EJ_Z | |
| std::vector< ExtraJoint > | extraJoints |
Private Member Functions | |
| void | calibrateForceSensorOneStep () |
| calibrate force sensor for one sampling period More... | |
| void | calibrateInertiaSensorOneStep () |
| calibrate inertia sensor for one sampling period More... | |
| void | gain_control () |
| void | gain_control (int id) |
| bool | isBusy () const |
| check if a calibration process is running or not if one of calibration processes is running, false otherwise More... | |
| bool | names2ids (const std::vector< std::string > &i_names, std::vector< int > &o_ids) |
Private Attributes | |
| std::vector< boost::array< double, 3 > > | accel_sum |
| std::vector< boost::array< double, 3 > > | att_sum |
| std::vector< double > | default_dgain |
| std::vector< double > | default_pgain |
| std::vector< double > | default_tqdgain |
| std::vector< double > | default_tqpgain |
| std::vector< double > | dgain |
| int | force_calib_counter |
| std::vector< boost::array< double, 6 > > | force_sum |
| hrp::Vector3 | G |
| std::vector< double > | gain_counter |
| std::vector< boost::array< double, 3 > > | gyro_sum |
| int | inertia_calib_counter |
| std::string | m_calibJointName |
| std::string | m_calibOptions |
| bool | m_calibRequested |
| std::vector< double > | m_commandOld |
| double | m_dt |
| bool | m_enable_poweroff_check |
| std::map< std::string, std::vector< int > > | m_jointGroups |
| int | m_lLegForceSensorId |
| std::string | m_pdgainsFilename |
| bool | m_reportedEmergency |
| int | m_rLegForceSensorId |
| std::vector< double > | m_velocityOld |
| std::vector< double > | old_dgain |
| std::vector< double > | old_pgain |
| std::vector< double > | old_tqdgain |
| std::vector< double > | old_tqpgain |
| std::vector< double > | pgain |
| std::vector< double > | tqdgain |
| std::vector< double > | tqpgain |
| sem_t | wait_sem |
Additional Inherited Members | |
Static Public Member Functions inherited from hrp::Body | |
| static BodyInterface * | bodyInterface () |
Protected Member Functions inherited from hrp::Referenced | |
| int | refCounter () |
Definition at line 12 of file RobotHardware/robot.h.
| enum robot::emg_reason |
reasons of emergency
| Enumerator | |
|---|---|
| EMG_SERVO_ERROR | |
| EMG_FZ | |
| EMG_SERVO_ALARM | |
| EMG_POWER_OFF | |
Definition at line 254 of file RobotHardware/robot.h.
| robot::robot | ( | double | dt | ) |
| robot::~robot | ( | ) |
destructor
Definition at line 28 of file RobotHardware/robot.cpp.
| robot::robot | ( | ) |
constructor
Definition at line 9 of file SoftErrorLimiter/robot.cpp.
| robot::~robot | ( | ) |
destructor
Definition at line 892 of file RobotHardware/robot.cpp.
|
private |
calibrate force sensor for one sampling period
Definition at line 303 of file RobotHardware/robot.cpp.
|
private |
calibrate inertia sensor for one sampling period
Definition at line 243 of file RobotHardware/robot.cpp.
| bool robot::checkEmergency | ( | emg_reason & | o_reason, |
| int & | o_id | ||
| ) |
check occurrence of emergency state
| o_reason | kind of emergency source |
| o_id | id of sensor/joint of emergency source |
Definition at line 657 of file RobotHardware/robot.cpp.
| bool robot::checkJointCommands | ( | const double * | i_commands | ) |
check joint commands are valid or not
Definition at line 622 of file RobotHardware/robot.cpp.
| void robot::disableDisturbanceObserver | ( | ) |
disable disturbance observer
Definition at line 1021 of file RobotHardware/robot.cpp.
| void robot::enableDisturbanceObserver | ( | ) |
enable disturbance observer
Definition at line 1014 of file RobotHardware/robot.cpp.
|
private |
Definition at line 345 of file RobotHardware/robot.cpp.
Definition at line 327 of file RobotHardware/robot.cpp.
| bool robot::init | ( | ) |
| bool robot::init | ( | ) |
Definition at line 33 of file RobotHardware/robot.cpp.
initialize joint angle
| name | joint name, part name or all |
| option | options for initialization |
Definition at line 235 of file RobotHardware/robot.cpp.
|
private |
check if a calibration process is running or not if one of calibration processes is running, false otherwise
Definition at line 488 of file RobotHardware/robot.cpp.
| int robot::lengthDigitalInput | ( | ) |
Definition at line 920 of file RobotHardware/robot.cpp.
| int robot::lengthDigitalOutput | ( | ) |
Definition at line 939 of file RobotHardware/robot.cpp.
| size_t robot::lengthOfExtraServoState | ( | int | id | ) |
get length of extra servo states
| id | joint id |
Definition at line 901 of file RobotHardware/robot.cpp.
| bool robot::loadGain | ( | ) |
load PD gains
| fname | name of the file where gains are stored |
Definition at line 112 of file RobotHardware/robot.cpp.
|
private |
Definition at line 875 of file RobotHardware/robot.cpp.
| int robot::numBatteries | ( | ) |
get the number of batteries
Definition at line 959 of file RobotHardware/robot.cpp.
| int robot::numThermometers | ( | ) |
get the number of thermometers
Definition at line 977 of file RobotHardware/robot.cpp.
| void robot::oneStep | ( | ) |
all processings for one sampling period
Definition at line 351 of file RobotHardware/robot.cpp.
| bool robot::power | ( | int | jid, |
| bool | turnon | ||
| ) |
turn on/off power for joint servo
| jid | joint id of the joint |
| turnon | true to turn on power, false otherwise |
Definition at line 436 of file RobotHardware/robot.cpp.
| bool robot::power | ( | const char * | jname, |
| bool | turnon | ||
| ) |
turn on/off power for joint servo
| jname | name of the joint |
| turnon | true to turn on power, false otherwise |
Definition at line 422 of file RobotHardware/robot.cpp.
read accelerometer output
| i_rank | rank of accelerometer |
| o_accs | array of accelerations(length = 3)[rad/s^2] |
Definition at line 527 of file RobotHardware/robot.cpp.
| void robot::readBatteryState | ( | unsigned int | i_rank, |
| double & | o_voltage, | ||
| double & | o_current, | ||
| double & | o_soc | ||
| ) |
read battery state
| i_rank | rank of battery |
| o_voltage | voltage |
| o_current | current |
| o_soc | state of charge |
Definition at line 949 of file RobotHardware/robot.cpp.
read calibration status of a joint servo
| i | joint id |
Definition at line 577 of file RobotHardware/robot.cpp.
| bool robot::readDigitalInput | ( | char * | o_din | ) |
Definition at line 911 of file RobotHardware/robot.cpp.
| bool robot::readDigitalOutput | ( | char * | o_dout | ) |
Definition at line 944 of file RobotHardware/robot.cpp.
read temperature of motor driver
| i | joint id |
Definition at line 605 of file RobotHardware/robot.cpp.
read extra servo states
| id | joint id |
| state | array of int where extra servo states are stored |
Definition at line 906 of file RobotHardware/robot.cpp.
read force sensor output
| i_rank | rank of force sensor |
| o_forces | array of force/torque(length = 6)[N, Nm] |
Definition at line 532 of file RobotHardware/robot.cpp.
read gyro sensor output
| i_rank | rank of gyro sensor |
| o_rates | array of angular velocities(length = 3) [rad/s] |
Definition at line 522 of file RobotHardware/robot.cpp.
| void robot::readJointAngles | ( | double * | o_angles | ) |
read array of all joint angles[rad]
| o_angles | array of all joint angles |
Definition at line 502 of file RobotHardware/robot.cpp.
| void robot::readJointCommands | ( | double * | o_commands | ) |
read array of reference angles of joint servo
| o_commands | array of reference angles of joint servo[rad] |
Definition at line 550 of file RobotHardware/robot.cpp.
| int robot::readJointCommandTorques | ( | double * | o_torques | ) |
read array of all commanded joint torques[Nm]
| o_torques | array of all commanded joint torques |
| TRUE | if read successfully, FALSE otherwise |
Definition at line 517 of file RobotHardware/robot.cpp.
| int robot::readJointTorques | ( | double * | o_torques | ) |
read array of all joint torques[Nm]
| o_torques | array of all joint torques |
| TRUE | if read successfully, FALSE otherwise |
Definition at line 512 of file RobotHardware/robot.cpp.
| void robot::readJointVelocities | ( | double * | o_velocities | ) |
read array of all joint velocities[rad/s]
| o_angles | array of all joint velocities |
Definition at line 507 of file RobotHardware/robot.cpp.
| int robot::readPDControllerTorques | ( | double * | o_torques | ) |
read array of all pd controller torques[Nm]
| o_torques | array of all pd controller torques |
| TRUE | if read successfully, FALSE otherwise |
Definition at line 1005 of file RobotHardware/robot.cpp.
read power status of a joint servo
| i | joint id |
Definition at line 584 of file RobotHardware/robot.cpp.
| void robot::readPowerStatus | ( | double & | o_voltage, |
| double & | o_current | ||
| ) |
read voltage and current of the robot power source
| o_voltage | voltage |
| o_current | current |
| o_battery | remaining battery level ( new feature on 315.4.0) |
Definition at line 572 of file RobotHardware/robot.cpp.
read alarm information of a joint servo
| i | joint id |
Definition at line 598 of file RobotHardware/robot.cpp.
read servo status of a joint servo
| i | joint id |
Definition at line 591 of file RobotHardware/robot.cpp.
read thermometer
| i_rank | rank of thermometer |
| o_temp | temperature |
Definition at line 968 of file RobotHardware/robot.cpp.
| void robot::removeForceSensorOffset | ( | ) |
remove offsets on force sensor outputs
Definition at line 105 of file RobotHardware/robot.cpp.
| bool robot::servo | ( | int | jid, |
| bool | turnon | ||
| ) |
turn on/off joint servo
| jid | joint id of the joint |
| turnon | true to turn on joint servo, false otherwise |
Definition at line 390 of file RobotHardware/robot.cpp.
| bool robot::servo | ( | const char * | jname, |
| bool | turnon | ||
| ) |
turn on/off joint servo
| jname | name of the joint |
| turnon | true to turn on joint servo, false otherwise |
Definition at line 364 of file RobotHardware/robot.cpp.
| void robot::setDisturbanceObserverGain | ( | double | gain | ) |
set disturbance observer gain
| gain | disturbance observer gain |
Definition at line 1028 of file RobotHardware/robot.cpp.
| bool robot::setJointControlMode | ( | const char * | i_jname, |
| joint_control_mode | mode | ||
| ) |
set control mode of joint
| name | joint name, part name or "all" |
| mode | control mode name |
Definition at line 1035 of file RobotHardware/robot.cpp.
| bool robot::setJointInertia | ( | const char * | i_jname, |
| double | i_mn | ||
| ) |
set joint inertia
| i_jname | joint name |
| i_mn | joint inertia |
Definition at line 986 of file RobotHardware/robot.cpp.
set joint inertias
| i_mns | array of joint inertia |
Definition at line 998 of file RobotHardware/robot.cpp.
Definition at line 854 of file RobotHardware/robot.cpp.
| bool robot::setServoErrorLimit | ( | const char * | i_jname, |
| double | i_limit | ||
| ) |
set servo error limit value for specific joint or joint group
| i_jname | joint name or joint group name |
| i_limit | new limit value[rad] |
| bool robot::setServoErrorLimit | ( | const char * | i_jname, |
| double | i_limit | ||
| ) |
set servo error limit value for specific joint or joint group
| i_jname | joint name or joint group name |
| i_limit | new limit value[rad] |
Definition at line 834 of file RobotHardware/robot.cpp.
| bool robot::setServoGainPercentage | ( | const char * | i_jname, |
| double | i_percentage | ||
| ) |
set the parcentage to the default servo gain
| name | joint name, part name or "all" |
| percentage | to joint servo gain[0-100] |
Definition at line 732 of file RobotHardware/robot.cpp.
| bool robot::setServoTorqueGainPercentage | ( | const char * | i_jname, |
| double | i_percentage | ||
| ) |
set the parcentage to the default servo torque gain
| name | joint name, part name or "all" |
| percentage | to joint servo gain[0-100] |
Definition at line 783 of file RobotHardware/robot.cpp.
| void robot::startForceSensorCalibration | ( | ) |
start force sensor calibration and wait until finish
Definition at line 218 of file RobotHardware/robot.cpp.
| void robot::startInertiaSensorCalibration | ( | ) |
start inertia sensor calibration and wait until finish
Definition at line 181 of file RobotHardware/robot.cpp.
write array of reference accelerations of joint servo
| i_commands | array of reference accelerations of joint servo[rad/s] |
Definition at line 565 of file RobotHardware/robot.cpp.
| bool robot::writeDigitalOutput | ( | const char * | i_dout | ) |
Definition at line 929 of file RobotHardware/robot.cpp.
Definition at line 934 of file RobotHardware/robot.cpp.
write array of reference angles of joint servo
| i_commands | array of reference angles of joint servo[rad] |
Definition at line 537 of file RobotHardware/robot.cpp.
write array of reference torques of joint servo
| i_commands | array of reference torques of joint servo[Nm] |
Definition at line 555 of file RobotHardware/robot.cpp.
write array of reference velocities of joint servo
| i_commands | array of reference velocities of joint servo[rad/s] |
Definition at line 560 of file RobotHardware/robot.cpp.
|
private |
Definition at line 386 of file RobotHardware/robot.h.
|
private |
Definition at line 387 of file RobotHardware/robot.h.
|
private |
Definition at line 391 of file RobotHardware/robot.h.
|
private |
Definition at line 390 of file RobotHardware/robot.h.
|
private |
Definition at line 393 of file RobotHardware/robot.h.
|
private |
Definition at line 392 of file RobotHardware/robot.h.
|
private |
Definition at line 391 of file RobotHardware/robot.h.
|
private |
Definition at line 382 of file RobotHardware/robot.h.
|
private |
Definition at line 388 of file RobotHardware/robot.h.
|
private |
Definition at line 404 of file RobotHardware/robot.h.
|
private |
Definition at line 383 of file RobotHardware/robot.h.
|
private |
Definition at line 385 of file RobotHardware/robot.h.
|
private |
Definition at line 382 of file RobotHardware/robot.h.
| double robot::m_accLimit |
Definition at line 330 of file RobotHardware/robot.h.
|
private |
Definition at line 398 of file RobotHardware/robot.h.
|
private |
Definition at line 398 of file RobotHardware/robot.h.
|
private |
Definition at line 397 of file RobotHardware/robot.h.
|
private |
Definition at line 403 of file RobotHardware/robot.h.
|
private |
Definition at line 402 of file RobotHardware/robot.h.
|
private |
Definition at line 405 of file RobotHardware/robot.h.
| double robot::m_fzLimitRatio |
Definition at line 328 of file RobotHardware/robot.h.
|
private |
Definition at line 396 of file RobotHardware/robot.h.
|
private |
Definition at line 395 of file RobotHardware/robot.h.
| double robot::m_maxZmpError |
Definition at line 329 of file RobotHardware/robot.h.
|
private |
Definition at line 399 of file RobotHardware/robot.h.
|
private |
Definition at line 400 of file RobotHardware/robot.h.
|
private |
Definition at line 395 of file RobotHardware/robot.h.
| std::vector< double > robot::m_servoErrorLimit |
Definition at line 327 of file RobotHardware/robot.h.
| double robot::m_servoOnDelay |
Definition at line 331 of file RobotHardware/robot.h.
|
private |
Definition at line 403 of file RobotHardware/robot.h.
|
private |
Definition at line 391 of file RobotHardware/robot.h.
|
private |
Definition at line 390 of file RobotHardware/robot.h.
|
private |
Definition at line 393 of file RobotHardware/robot.h.
|
private |
Definition at line 392 of file RobotHardware/robot.h.
|
private |
Definition at line 390 of file RobotHardware/robot.h.
|
private |
Definition at line 393 of file RobotHardware/robot.h.
|
private |
Definition at line 392 of file RobotHardware/robot.h.
|
private |
Definition at line 401 of file RobotHardware/robot.h.