#include <unistd.h>
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstring>
#include <vector>
#include "io/iob.h"
#include <ros/ros.h>
#include <boost/algorithm/string.hpp>
#include <osrf_msgs/JointCommands.h>
#include <sensor_msgs/JointState.h>
#include <sensor_msgs/Imu.h>
#include <atlas_msgs/AtlasState.h>
#include <atlas_msgs/AtlasCommand.h>
#include <hrpUtil/Eigen3d.h>
Go to the source code of this file.
Defines | |
#define | CHECK_ACCELEROMETER_ID(id) if ((id) < 0 || (id) >= number_of_accelerometers()) return E_ID |
#define | CHECK_ATTITUDE_SENSOR_ID(id) if ((id) < 0 || (id) >= number_of_attitude_sensors()) return E_ID |
#define | CHECK_FORCE_SENSOR_ID(id) if ((id) < 0 || (id) >= number_of_force_sensors()) return E_ID |
#define | CHECK_GYRO_SENSOR_ID(id) if ((id) < 0 || (id) >= number_of_gyro_sensors()) return E_ID |
#define | CHECK_JOINT_ID(id) if ((id) < 0 || (id) >= number_of_joints()) return E_ID |
#define | JOINT_ID_MODEL2REAL(id) get_joint_id_model2real(id) |
#define | JOINT_ID_REAL2MODEL(id) get_joint_id_real2model(id) |
#define | NUM_OF_REAL_JOINT get_num_of_real_joint() |
Enumerations | |
enum | AtlasName { ATLAS_V0, ATLAS_V3, UNKNOWN } |
Functions | |
int | close_iob (void) |
static int | get_joint_id_model2real (int id) |
static int | get_joint_id_real2model (int id) |
static int | get_num_of_real_joint () |
long | get_signal_period () |
int | initializeJointAngle (const char *name, const char *option) |
int | joint_calibration (int id, double angle) |
int | length_digital_input (void) |
int | length_digital_output (void) |
size_t | length_of_extra_servo_state (int id) |
int | lock_iob () |
int | number_of_accelerometers () |
int | number_of_attitude_sensors () |
int | number_of_force_sensors () |
int | number_of_gyro_sensors () |
int | number_of_joints () |
int | number_of_substeps () |
int | open_iob (void) |
int | read_accelerometer (int id, double *accels) |
int | read_accelerometer_offset (int id, double *offset) |
int | read_actual_angle (int id, double *angle) |
int | read_actual_angles (double *angles) |
int | read_actual_torques (double *torques) |
int | read_actual_velocities (double *vels) |
int | read_actual_velocity (int id, double *vel) |
int | read_angle_offset (int id, double *angle) |
int | read_attitude_sensor (int id, double *att) |
int | read_calib_state (int id, int *s) |
int | read_command_angle (int id, double *angle) |
int | read_command_angles (double *angles) |
int | read_command_torque (int id, double *torque) |
int | read_command_torques (double *torques) |
int | read_command_velocities (double *vels) |
int | read_command_velocity (int id, double *vel) |
int | read_control_mode (int id, joint_control_mode *s) |
int | read_current (int id, double *mcurrent) |
int | read_current_limit (int id, double *v) |
int | read_currents (double *currents) |
int | read_dgain (int id, double *gain) |
int | read_digital_input (char *dinput) |
int | read_digital_output (char *doutput) |
int | read_driver_temperature (int id, unsigned char *v) |
int | read_encoder_pulse (int id, double *ec) |
int | read_extra_servo_state (int id, int *state) |
int | read_force_offset (int id, double *offsets) |
int | read_force_sensor (int id, double *forces) |
int | read_gauges (double *gauges) |
int | read_gear_ratio (int id, double *gr) |
int | read_gyro_sensor (int id, double *rates) |
int | read_gyro_sensor_offset (int id, double *offset) |
unsigned long long | read_iob_frame () |
int | read_limit_angle (int id, double *angle) |
int | read_llimit_angle (int id, double *angle) |
int | read_lock_owner (pid_t *pid) |
int | read_pgain (int id, double *gain) |
int | read_power (double *voltage, double *current) |
int | read_power_command (int id, int *com) |
int | read_power_state (int id, int *s) |
int | read_servo_alarm (int id, int *a) |
int | read_servo_state (int id, int *s) |
int | read_temperature (int id, double *v) |
int | read_torque_const (int id, double *tc) |
int | read_torque_limit (int id, double *limit) |
int | read_touch_sensors (unsigned short *onoff) |
int | read_ulimit_angle (int id, double *angle) |
int | reset_body (void) |
int | set_number_of_accelerometers (int num) |
int | set_number_of_attitude_sensors (int num) |
int | set_number_of_force_sensors (int num) |
int | set_number_of_gyro_sensors (int num) |
int | set_number_of_joints (int num) |
int | set_signal_period (long period_ns) |
static void | setJointStates (const atlas_msgs::AtlasState::ConstPtr &_js) |
void | timespec_add_ns (timespec *ts, long ns) |
double | timespec_compare (timespec *ts1, timespec *ts2) |
int | unlock_iob () |
static void | update_atlas_name () |
int | wait_for_iob_signal () |
int | write_accelerometer_offset (int id, double *offset) |
int | write_angle_offset (int id, double angle) |
int | write_attitude_sensor_offset (int id, double *offset) |
int | write_command_angle (int id, double angle) |
int | write_command_angles (const double *angles) |
int | write_command_torque (int id, double torque) |
int | write_command_torques (const double *torques) |
int | write_command_velocities (const double *vels) |
int | write_command_velocity (int id, double vel) |
int | write_control_mode (int id, joint_control_mode s) |
int | write_dgain (int id, double gain) |
int | write_digital_output (const char *doutput) |
int | write_digital_output_with_mask (const char *doutput, const char *mask) |
int | write_dio (unsigned short buf) |
int | write_force_offset (int id, double *offsets) |
int | write_gyro_sensor_offset (int id, double *offset) |
int | write_pgain (int id, double gain) |
int | write_power_command (int id, int com) |
int | write_servo (int id, int com) |
Variables | |
static std::vector < std::vector< double > > | accel_offset |
static std::vector < std::vector< double > > | accelerometers |
static enum AtlasName | atlas_name = UNKNOWN |
static std::vector < std::vector< double > > | attitude_sensors |
static std::vector< double > | command |
static std::vector < std::vector< double > > | force_offset |
static std::vector < std::vector< double > > | forces |
static int | frame = 0 |
static long | g_period_ns = 3000000 |
static timespec | g_ts |
static std::vector < std::vector< double > > | gyro_offset |
static std::vector < std::vector< double > > | gyros |
static int | init_sub_flag = FALSE |
static atlas_msgs::AtlasCommand | initial_jointcommands |
static bool | isLocked = false |
static int | joint_id_real2model_atlas_v0 [] = {0, 1, 2, 9, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 3, 4, 5, 6, 7, 8, 21, 22, 23, 24, 25, 26} |
static int | joint_id_real2model_atlas_v3 [] = {0, 1, 2, 11, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 3, 4, 5, 6, 7, 8, 23, 24, 25, 26, 27, 28} |
static atlas_msgs::AtlasCommand | jointcommands |
static atlas_msgs::AtlasState | js |
static ros::Time | last_callback_time |
static std::vector< int > | power |
static std::vector< double > | prev_command |
static ros::Publisher | pub_joint_commands_ |
static ros::Time | rg_ts |
static ros::NodeHandle * | rosnode |
static std::vector< int > | servo |
static ros::Subscriber | sub_atlas_state |
#define CHECK_ACCELEROMETER_ID | ( | id | ) | if ((id) < 0 || (id) >= number_of_accelerometers()) return E_ID |
#define CHECK_ATTITUDE_SENSOR_ID | ( | id | ) | if ((id) < 0 || (id) >= number_of_attitude_sensors()) return E_ID |
#define CHECK_FORCE_SENSOR_ID | ( | id | ) | if ((id) < 0 || (id) >= number_of_force_sensors()) return E_ID |
#define CHECK_GYRO_SENSOR_ID | ( | id | ) | if ((id) < 0 || (id) >= number_of_gyro_sensors()) return E_ID |
#define CHECK_JOINT_ID | ( | id | ) | if ((id) < 0 || (id) >= number_of_joints()) return E_ID |
#define JOINT_ID_MODEL2REAL | ( | id | ) | get_joint_id_model2real(id) |
#define JOINT_ID_REAL2MODEL | ( | id | ) | get_joint_id_real2model(id) |
#define NUM_OF_REAL_JOINT get_num_of_real_joint() |
static int get_joint_id_model2real | ( | int | id | ) | [static] |
static int get_joint_id_real2model | ( | int | id | ) | [static] |
static int get_num_of_real_joint | ( | ) | [static] |
long get_signal_period | ( | ) |
int initializeJointAngle | ( | const char * | name, |
const char * | option | ||
) |
int joint_calibration | ( | int | id, |
double | angle | ||
) |
int length_digital_input | ( | void | ) |
int length_digital_output | ( | void | ) |
size_t length_of_extra_servo_state | ( | int | id | ) |
int number_of_accelerometers | ( | ) |
int number_of_attitude_sensors | ( | ) |
int number_of_force_sensors | ( | ) |
int number_of_gyro_sensors | ( | ) |
int number_of_joints | ( | ) |
int number_of_substeps | ( | ) |
int read_accelerometer | ( | int | id, |
double * | accels | ||
) |
int read_accelerometer_offset | ( | int | id, |
double * | offset | ||
) |
int read_actual_angle | ( | int | id, |
double * | angle | ||
) |
int read_actual_angles | ( | double * | angles | ) |
int read_actual_torques | ( | double * | torques | ) |
int read_actual_velocities | ( | double * | vels | ) |
int read_actual_velocity | ( | int | id, |
double * | vel | ||
) |
int read_angle_offset | ( | int | id, |
double * | angle | ||
) |
int read_attitude_sensor | ( | int | id, |
double * | att | ||
) |
int read_calib_state | ( | int | id, |
int * | s | ||
) |
int read_command_angle | ( | int | id, |
double * | angle | ||
) |
int read_command_angles | ( | double * | angles | ) |
int read_command_torque | ( | int | id, |
double * | torque | ||
) |
int read_command_torques | ( | double * | torques | ) |
int read_command_velocities | ( | double * | vels | ) |
int read_command_velocity | ( | int | id, |
double * | vel | ||
) |
int read_control_mode | ( | int | id, |
joint_control_mode * | s | ||
) |
int read_current | ( | int | id, |
double * | mcurrent | ||
) |
int read_current_limit | ( | int | id, |
double * | v | ||
) |
int read_currents | ( | double * | currents | ) |
int read_dgain | ( | int | id, |
double * | gain | ||
) |
int read_digital_input | ( | char * | dinput | ) |
int read_digital_output | ( | char * | doutput | ) |
int read_driver_temperature | ( | int | id, |
unsigned char * | v | ||
) |
int read_encoder_pulse | ( | int | id, |
double * | ec | ||
) |
int read_extra_servo_state | ( | int | id, |
int * | state | ||
) |
int read_force_offset | ( | int | id, |
double * | offsets | ||
) |
int read_force_sensor | ( | int | id, |
double * | forces | ||
) |
int read_gauges | ( | double * | gauges | ) |
int read_gear_ratio | ( | int | id, |
double * | gr | ||
) |
int read_gyro_sensor | ( | int | id, |
double * | rates | ||
) |
int read_gyro_sensor_offset | ( | int | id, |
double * | offset | ||
) |
unsigned long long read_iob_frame | ( | ) |
int read_limit_angle | ( | int | id, |
double * | angle | ||
) |
int read_llimit_angle | ( | int | id, |
double * | angle | ||
) |
int read_lock_owner | ( | pid_t * | pid | ) |
int read_pgain | ( | int | id, |
double * | gain | ||
) |
int read_power | ( | double * | voltage, |
double * | current | ||
) |
int read_power_command | ( | int | id, |
int * | com | ||
) |
int read_power_state | ( | int | id, |
int * | s | ||
) |
int read_servo_alarm | ( | int | id, |
int * | a | ||
) |
int read_servo_state | ( | int | id, |
int * | s | ||
) |
int read_temperature | ( | int | id, |
double * | v | ||
) |
int read_torque_const | ( | int | id, |
double * | tc | ||
) |
int read_torque_limit | ( | int | id, |
double * | limit | ||
) |
int read_touch_sensors | ( | unsigned short * | onoff | ) |
int read_ulimit_angle | ( | int | id, |
double * | angle | ||
) |
int reset_body | ( | void | ) |
int set_number_of_accelerometers | ( | int | num | ) |
int set_number_of_attitude_sensors | ( | int | num | ) |
int set_number_of_force_sensors | ( | int | num | ) |
int set_number_of_gyro_sensors | ( | int | num | ) |
int set_number_of_joints | ( | int | num | ) |
int set_signal_period | ( | long | period_ns | ) |
static void setJointStates | ( | const atlas_msgs::AtlasState::ConstPtr & | _js | ) | [static] |
void timespec_add_ns | ( | timespec * | ts, |
long | ns | ||
) |
double timespec_compare | ( | timespec * | ts1, |
timespec * | ts2 | ||
) |
int unlock_iob | ( | ) |
static void update_atlas_name | ( | ) | [static] |
int wait_for_iob_signal | ( | ) |
int write_accelerometer_offset | ( | int | id, |
double * | offset | ||
) |
int write_angle_offset | ( | int | id, |
double | angle | ||
) |
int write_attitude_sensor_offset | ( | int | id, |
double * | offset | ||
) |
int write_command_angle | ( | int | id, |
double | angle | ||
) |
int write_command_angles | ( | const double * | angles | ) |
int write_command_torque | ( | int | id, |
double | torque | ||
) |
int write_command_torques | ( | const double * | torques | ) |
int write_command_velocities | ( | const double * | vels | ) |
int write_command_velocity | ( | int | id, |
double | vel | ||
) |
int write_control_mode | ( | int | id, |
joint_control_mode | s | ||
) |
int write_dgain | ( | int | id, |
double | gain | ||
) |
int write_digital_output | ( | const char * | doutput | ) |
int write_digital_output_with_mask | ( | const char * | doutput, |
const char * | mask | ||
) |
int write_force_offset | ( | int | id, |
double * | offsets | ||
) |
int write_gyro_sensor_offset | ( | int | id, |
double * | offset | ||
) |
int write_pgain | ( | int | id, |
double | gain | ||
) |
int write_power_command | ( | int | id, |
int | com | ||
) |
int write_servo | ( | int | id, |
int | com | ||
) |
std::vector<std::vector<double> > accel_offset [static] |
std::vector<std::vector<double> > accelerometers [static] |
enum AtlasName atlas_name = UNKNOWN [static] |
std::vector<std::vector<double> > attitude_sensors [static] |
std::vector<double> command [static] |
std::vector<std::vector<double> > force_offset [static] |
std::vector<std::vector<double> > forces [static] |
long g_period_ns = 3000000 [static] |
std::vector<std::vector<double> > gyro_offset [static] |
std::vector<std::vector<double> > gyros [static] |
int init_sub_flag = FALSE [static] |
atlas_msgs::AtlasCommand initial_jointcommands [static] |
int joint_id_real2model_atlas_v0[] = {0, 1, 2, 9, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 3, 4, 5, 6, 7, 8, 21, 22, 23, 24, 25, 26} [static] |
int joint_id_real2model_atlas_v3[] = {0, 1, 2, 11, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 3, 4, 5, 6, 7, 8, 23, 24, 25, 26, 27, 28} [static] |
atlas_msgs::AtlasCommand jointcommands [static] |
ros::Time last_callback_time [static] |
std::vector<int> power [static] |
std::vector<double> prev_command [static] |
ros::Publisher pub_joint_commands_ [static] |
ros::NodeHandle* rosnode [static] |
std::vector<int> servo [static] |
ros::Subscriber sub_atlas_state [static] |