/Users/jason/Code/naowalkoptimiser/src/Locomotion/Walk/sensors.cpp File Reference

#include "sensors.h"
#include "../../Kinematics/Kinematics.h"

Functions

void * runSonicThread (void *arg)

Variables

int dcmTime = 0
int dcmTimeSinceStart = 0
float jointPositions [J_NUM_JOINTS]
float jointVelocities [J_NUM_JOINTS]
float jointVelocitySum
float jointAccelerations [J_NUM_JOINTS]
float jointCurrents [J_NUM_JOINTS]
float jointCurrentSum
float jointTargets [J_NUM_JOINTS]
float jointHardnesses [J_NUM_JOINTS]
int boardErrors [MB_NUM_BOARDS]
int nackErrors [NK_NUM_BOARDS]
unsigned char walkCyclesSinceCall
bool walkAmIWalking
bool walkPreviousAmIWalking
float odometryDeltaX
float odometryDeltaY
float odometryDeltaO
float jointTemperatures [J_NUM_JOINTS]
float balanceValues [B_NUM_SENSORS]
bool balanceFallingEnabled
bool balanceFalling
bool balancePreviousFalling
bool balanceFallingForward
bool balanceFallingBackward
bool balanceFallingLeft
bool balanceFallingRight
bool balanceFallen
bool balancePreviousFallen
int balanceFallenCount
float touchValues [T_NUM_SENSORS]
float touchLeftCoPX
float touchLeftCoPY
float touchRightCoPX
float touchRightCoPY
float touchPSValues [PS_NUM_SENSORS]
bool touchOnGround
bool touchPreviousOnGround
bool touchLeftFootOnGround
bool touchRightFootOnGround
SupportModeEnum leftSupportMode
SupportModeEnum rightSupportMode
string indexToSupportMode [SM_NUM_MODES] = {string("Stance"), string("Push"), string("Swing"), string("Impact")}
bool collisionAny
bool collisionLeftArm
bool collisionLeftArmFront
bool collisionLeftArmSide
bool collisionLeftArmBack
bool collisionRightArm
bool collisionRightArmFront
bool collisionRightArmSide
bool collisionRightArmBack
bool collisionLeftFoot
bool collisionLeftFootFront
bool collisionLeftFootBack
bool collisionRightFoot
bool collisionRightFootFront
bool collisionRightFootBack
float batteryValues [E_NUM_SENSORS]
float distanceValues [D_NUM_SENSORS]
float sonicValues [S_NUM_SENSORS]
float sonicObstacleDistance
string indexToName [] = {string("HeadYaw"), string("HeadPitch"), string("LShoulderRoll"), string("LShoulderPitch"), string("LElbowYaw"), string("LElbowRoll"), string("RShoulderRoll"), string("RShoulderPitch"), string("RElbowYaw"), string("RElbowRoll"), string("LHipYawPitch"), string("LHipRoll"), string("LHipPitch"), string("LKneePitch"), string("LAnklePitch"), string("LAnkleRoll"), string("RHipYawPitch"), string("RHipRoll"), string("RHipPitch"), string("RKneePitch"), string("RAnklePitch"), string("RAnkleRoll")}
string indexToPositionSensor [] = {DN_HEAD_YAW_POSITION, DN_HEAD_PITCH_POSITION, DN_L_SHOULDER_ROLL_POSITION, DN_L_SHOULDER_PITCH_POSITION, DN_L_ELBOW_YAW_POSITION, DN_L_ELBOW_ROLL_POSITION, DN_R_SHOULDER_ROLL_POSITION, DN_R_SHOULDER_PITCH_POSITION, DN_R_ELBOW_YAW_POSITION, DN_R_ELBOW_ROLL_POSITION, DN_L_HIP_YAWPITCH_POSITION, DN_L_HIP_ROLL_POSITION, DN_L_HIP_PITCH_POSITION, DN_L_KNEE_PITCH_POSITION, DN_L_ANKLE_PITCH_POSITION, DN_L_ANKLE_ROLL_POSITION, DN_R_HIP_YAWPITCH_POSITION, DN_R_HIP_ROLL_POSITION, DN_R_HIP_PITCH_POSITION, DN_R_KNEE_PITCH_POSITION, DN_R_ANKLE_PITCH_POSITION, DN_R_ANKLE_ROLL_POSITION}
string indexToCurrentSensor [] = {DN_HEAD_YAW_CURRENT, DN_HEAD_PITCH_CURRENT, DN_L_SHOULDER_ROLL_CURRENT, DN_L_SHOULDER_PITCH_CURRENT, DN_L_ELBOW_YAW_CURRENT, DN_L_ELBOW_ROLL_CURRENT, DN_R_SHOULDER_ROLL_CURRENT, DN_R_SHOULDER_PITCH_CURRENT, DN_R_ELBOW_YAW_CURRENT, DN_R_ELBOW_ROLL_CURRENT, DN_L_HIP_YAWPITCH_CURRENT, DN_L_HIP_ROLL_CURRENT, DN_L_HIP_PITCH_CURRENT, DN_L_KNEE_PITCH_CURRENT, DN_L_ANKLE_PITCH_CURRENT, DN_L_ANKLE_ROLL_CURRENT, DN_R_HIP_YAWPITCH_CURRENT, DN_R_HIP_ROLL_CURRENT, DN_R_HIP_PITCH_CURRENT, DN_R_KNEE_PITCH_CURRENT, DN_R_ANKLE_PITCH_CURRENT, DN_R_ANKLE_ROLL_CURRENT}
string indexToTargetSensor [] = {DN_HEAD_YAW_TARGET, DN_HEAD_PITCH_TARGET, DN_L_SHOULDER_ROLL_TARGET, DN_L_SHOULDER_PITCH_TARGET, DN_L_ELBOW_YAW_TARGET, DN_L_ELBOW_ROLL_TARGET, DN_R_SHOULDER_ROLL_TARGET, DN_R_SHOULDER_PITCH_TARGET, DN_R_ELBOW_YAW_TARGET, DN_R_ELBOW_ROLL_TARGET, DN_L_HIP_YAWPITCH_TARGET, DN_L_HIP_ROLL_TARGET, DN_L_HIP_PITCH_TARGET, DN_L_KNEE_PITCH_TARGET, DN_L_ANKLE_PITCH_TARGET, DN_L_ANKLE_ROLL_TARGET, DN_R_HIP_YAWPITCH_TARGET, DN_R_HIP_ROLL_TARGET, DN_R_HIP_PITCH_TARGET, DN_R_KNEE_PITCH_TARGET, DN_R_ANKLE_PITCH_TARGET, DN_R_ANKLE_ROLL_TARGET}
string indexToHardnessSensor [] = {DN_HEAD_YAW_HARDNESS, DN_HEAD_PITCH_HARDNESS, DN_L_SHOULDER_ROLL_HARDNESS, DN_L_SHOULDER_PITCH_HARDNESS, DN_L_ELBOW_YAW_HARDNESS, DN_L_ELBOW_ROLL_HARDNESS, DN_R_SHOULDER_ROLL_HARDNESS, DN_R_SHOULDER_PITCH_HARDNESS, DN_R_ELBOW_YAW_HARDNESS, DN_R_ELBOW_ROLL_HARDNESS, DN_L_HIP_YAWPITCH_HARDNESS, DN_L_HIP_ROLL_HARDNESS, DN_L_HIP_PITCH_HARDNESS, DN_L_KNEE_PITCH_HARDNESS, DN_L_ANKLE_PITCH_HARDNESS, DN_L_ANKLE_ROLL_HARDNESS, DN_R_HIP_YAWPITCH_HARDNESS, DN_R_HIP_ROLL_HARDNESS, DN_R_HIP_PITCH_HARDNESS, DN_R_KNEE_PITCH_HARDNESS, DN_R_ANKLE_PITCH_HARDNESS, DN_R_ANKLE_ROLL_HARDNESS}
string indexToTemperatureSensor [] = {DN_HEAD_YAW_TEMPERATURE, DN_HEAD_PITCH_TEMPERATURE, DN_L_SHOULDER_ROLL_TEMPERATURE, DN_L_SHOULDER_PITCH_TEMPERATURE, DN_L_ELBOW_YAW_TEMPERATURE, DN_L_ELBOW_ROLL_TEMPERATURE, DN_R_SHOULDER_ROLL_TEMPERATURE, DN_R_SHOULDER_PITCH_TEMPERATURE, DN_R_ELBOW_YAW_TEMPERATURE, DN_R_ELBOW_ROLL_TEMPERATURE, DN_L_HIP_YAWPITCH_TEMPERATURE, DN_L_HIP_ROLL_TEMPERATURE, DN_L_HIP_PITCH_TEMPERATURE, DN_L_KNEE_PITCH_TEMPERATURE, DN_L_ANKLE_PITCH_TEMPERATURE, DN_L_ANKLE_ROLL_TEMPERATURE, DN_R_HIP_YAWPITCH_TEMPERATURE, DN_R_HIP_ROLL_TEMPERATURE, DN_R_HIP_PITCH_TEMPERATURE, DN_R_KNEE_PITCH_TEMPERATURE, DN_R_ANKLE_PITCH_TEMPERATURE, DN_R_ANKLE_ROLL_TEMPERATURE}
string indexToBoardError [] = {DN_MB_CHEST, DN_MB_HEAD, DN_MB_R_SHOULDER, DN_MB_R_ARM, DN_MB_R_HAND, DN_MB_R_HIP, DN_MB_R_THIGH, DN_MB_R_SHIN, DN_MB_R_FOOT, DN_MB_L_SHOULDER, DN_MB_L_ARM, DN_MB_L_HAND, DN_MB_L_HIP, DN_MB_L_THIGH, DN_MB_L_SHIN, DN_MB_L_FOOT, DN_MB_US, DN_MB_INERTIAL, DN_MB_TOUCH, DN_MB_FACE, DN_MB_EAR}
string indexToNack [] = {DN_NK_CHEST}
string indexToBalanceSensor [] = {DN_ACCEL_X, DN_ACCEL_Y, DN_ACCEL_Z, DN_ANGLE_X, DN_ANGLE_Y, DN_GYRO_X, DN_GYRO_Y}
string indexToTouchSensor [] = {DN_L_FSR_FL, DN_L_FSR_FR, DN_L_FSR_BL, DN_L_FSR_BR, DN_L_BUMP_L, DN_L_BUMP_R, DN_R_FSR_FL, DN_R_FSR_FR, DN_R_FSR_BL, DN_R_FSR_BR, DN_R_BUMP_L, DN_R_BUMP_R, DN_CHEST_BUTTON}
string indexToBatterySensor [] = {DN_CHARGE, DN_CURRENT, DN_VOLTAGE_MIN, DN_VOLTAGE_MAX, DN_TEMPERATURE}
string indexToDistanceSensor [] = {DN_US_DISTANCE}

Function Documentation

void* runSonicThread ( void *  arg  ) 

Variable Documentation

float balanceValues[B_NUM_SENSORS]
float batteryValues[E_NUM_SENSORS]
int boardErrors[MB_NUM_BOARDS]
int dcmTime = 0

Sensor access functions and global variables

  • global store of arrays for feedback data position, velocity, acceleration current stiffnesses and targets temperatures balance (accelerometers and gyros) touch (all buttons + FSR) battery (current, temp and voltage)
  • ALMemoryFastAccess is connected to the feedback data, and new data is copied to the global store
  • Feedback datalogging is also provided by this file
    Author:
    Jason Kulk Version : $Id $
    NUbots (c) 2008 All Rights Reserved
float distanceValues[D_NUM_SENSORS]
string indexToBalanceSensor[] = {DN_ACCEL_X, DN_ACCEL_Y, DN_ACCEL_Z, DN_ANGLE_X, DN_ANGLE_Y, DN_GYRO_X, DN_GYRO_Y}
string indexToBatterySensor[] = {DN_CHARGE, DN_CURRENT, DN_VOLTAGE_MIN, DN_VOLTAGE_MAX, DN_TEMPERATURE}
string indexToBoardError[] = {DN_MB_CHEST, DN_MB_HEAD, DN_MB_R_SHOULDER, DN_MB_R_ARM, DN_MB_R_HAND, DN_MB_R_HIP, DN_MB_R_THIGH, DN_MB_R_SHIN, DN_MB_R_FOOT, DN_MB_L_SHOULDER, DN_MB_L_ARM, DN_MB_L_HAND, DN_MB_L_HIP, DN_MB_L_THIGH, DN_MB_L_SHIN, DN_MB_L_FOOT, DN_MB_US, DN_MB_INERTIAL, DN_MB_TOUCH, DN_MB_FACE, DN_MB_EAR}
string indexToCurrentSensor[] = {DN_HEAD_YAW_CURRENT, DN_HEAD_PITCH_CURRENT, DN_L_SHOULDER_ROLL_CURRENT, DN_L_SHOULDER_PITCH_CURRENT, DN_L_ELBOW_YAW_CURRENT, DN_L_ELBOW_ROLL_CURRENT, DN_R_SHOULDER_ROLL_CURRENT, DN_R_SHOULDER_PITCH_CURRENT, DN_R_ELBOW_YAW_CURRENT, DN_R_ELBOW_ROLL_CURRENT, DN_L_HIP_YAWPITCH_CURRENT, DN_L_HIP_ROLL_CURRENT, DN_L_HIP_PITCH_CURRENT, DN_L_KNEE_PITCH_CURRENT, DN_L_ANKLE_PITCH_CURRENT, DN_L_ANKLE_ROLL_CURRENT, DN_R_HIP_YAWPITCH_CURRENT, DN_R_HIP_ROLL_CURRENT, DN_R_HIP_PITCH_CURRENT, DN_R_KNEE_PITCH_CURRENT, DN_R_ANKLE_PITCH_CURRENT, DN_R_ANKLE_ROLL_CURRENT}
string indexToDistanceSensor[] = {DN_US_DISTANCE}
string indexToHardnessSensor[] = {DN_HEAD_YAW_HARDNESS, DN_HEAD_PITCH_HARDNESS, DN_L_SHOULDER_ROLL_HARDNESS, DN_L_SHOULDER_PITCH_HARDNESS, DN_L_ELBOW_YAW_HARDNESS, DN_L_ELBOW_ROLL_HARDNESS, DN_R_SHOULDER_ROLL_HARDNESS, DN_R_SHOULDER_PITCH_HARDNESS, DN_R_ELBOW_YAW_HARDNESS, DN_R_ELBOW_ROLL_HARDNESS, DN_L_HIP_YAWPITCH_HARDNESS, DN_L_HIP_ROLL_HARDNESS, DN_L_HIP_PITCH_HARDNESS, DN_L_KNEE_PITCH_HARDNESS, DN_L_ANKLE_PITCH_HARDNESS, DN_L_ANKLE_ROLL_HARDNESS, DN_R_HIP_YAWPITCH_HARDNESS, DN_R_HIP_ROLL_HARDNESS, DN_R_HIP_PITCH_HARDNESS, DN_R_KNEE_PITCH_HARDNESS, DN_R_ANKLE_PITCH_HARDNESS, DN_R_ANKLE_ROLL_HARDNESS}
string indexToNack[] = {DN_NK_CHEST}
string indexToName[] = {string("HeadYaw"), string("HeadPitch"), string("LShoulderRoll"), string("LShoulderPitch"), string("LElbowYaw"), string("LElbowRoll"), string("RShoulderRoll"), string("RShoulderPitch"), string("RElbowYaw"), string("RElbowRoll"), string("LHipYawPitch"), string("LHipRoll"), string("LHipPitch"), string("LKneePitch"), string("LAnklePitch"), string("LAnkleRoll"), string("RHipYawPitch"), string("RHipRoll"), string("RHipPitch"), string("RKneePitch"), string("RAnklePitch"), string("RAnkleRoll")}
string indexToPositionSensor[] = {DN_HEAD_YAW_POSITION, DN_HEAD_PITCH_POSITION, DN_L_SHOULDER_ROLL_POSITION, DN_L_SHOULDER_PITCH_POSITION, DN_L_ELBOW_YAW_POSITION, DN_L_ELBOW_ROLL_POSITION, DN_R_SHOULDER_ROLL_POSITION, DN_R_SHOULDER_PITCH_POSITION, DN_R_ELBOW_YAW_POSITION, DN_R_ELBOW_ROLL_POSITION, DN_L_HIP_YAWPITCH_POSITION, DN_L_HIP_ROLL_POSITION, DN_L_HIP_PITCH_POSITION, DN_L_KNEE_PITCH_POSITION, DN_L_ANKLE_PITCH_POSITION, DN_L_ANKLE_ROLL_POSITION, DN_R_HIP_YAWPITCH_POSITION, DN_R_HIP_ROLL_POSITION, DN_R_HIP_PITCH_POSITION, DN_R_KNEE_PITCH_POSITION, DN_R_ANKLE_PITCH_POSITION, DN_R_ANKLE_ROLL_POSITION}
string indexToSupportMode[SM_NUM_MODES] = {string("Stance"), string("Push"), string("Swing"), string("Impact")}
string indexToTargetSensor[] = {DN_HEAD_YAW_TARGET, DN_HEAD_PITCH_TARGET, DN_L_SHOULDER_ROLL_TARGET, DN_L_SHOULDER_PITCH_TARGET, DN_L_ELBOW_YAW_TARGET, DN_L_ELBOW_ROLL_TARGET, DN_R_SHOULDER_ROLL_TARGET, DN_R_SHOULDER_PITCH_TARGET, DN_R_ELBOW_YAW_TARGET, DN_R_ELBOW_ROLL_TARGET, DN_L_HIP_YAWPITCH_TARGET, DN_L_HIP_ROLL_TARGET, DN_L_HIP_PITCH_TARGET, DN_L_KNEE_PITCH_TARGET, DN_L_ANKLE_PITCH_TARGET, DN_L_ANKLE_ROLL_TARGET, DN_R_HIP_YAWPITCH_TARGET, DN_R_HIP_ROLL_TARGET, DN_R_HIP_PITCH_TARGET, DN_R_KNEE_PITCH_TARGET, DN_R_ANKLE_PITCH_TARGET, DN_R_ANKLE_ROLL_TARGET}
string indexToTemperatureSensor[] = {DN_HEAD_YAW_TEMPERATURE, DN_HEAD_PITCH_TEMPERATURE, DN_L_SHOULDER_ROLL_TEMPERATURE, DN_L_SHOULDER_PITCH_TEMPERATURE, DN_L_ELBOW_YAW_TEMPERATURE, DN_L_ELBOW_ROLL_TEMPERATURE, DN_R_SHOULDER_ROLL_TEMPERATURE, DN_R_SHOULDER_PITCH_TEMPERATURE, DN_R_ELBOW_YAW_TEMPERATURE, DN_R_ELBOW_ROLL_TEMPERATURE, DN_L_HIP_YAWPITCH_TEMPERATURE, DN_L_HIP_ROLL_TEMPERATURE, DN_L_HIP_PITCH_TEMPERATURE, DN_L_KNEE_PITCH_TEMPERATURE, DN_L_ANKLE_PITCH_TEMPERATURE, DN_L_ANKLE_ROLL_TEMPERATURE, DN_R_HIP_YAWPITCH_TEMPERATURE, DN_R_HIP_ROLL_TEMPERATURE, DN_R_HIP_PITCH_TEMPERATURE, DN_R_KNEE_PITCH_TEMPERATURE, DN_R_ANKLE_PITCH_TEMPERATURE, DN_R_ANKLE_ROLL_TEMPERATURE}
string indexToTouchSensor[] = {DN_L_FSR_FL, DN_L_FSR_FR, DN_L_FSR_BL, DN_L_FSR_BR, DN_L_BUMP_L, DN_L_BUMP_R, DN_R_FSR_FL, DN_R_FSR_FR, DN_R_FSR_BL, DN_R_FSR_BR, DN_R_BUMP_L, DN_R_BUMP_R, DN_CHEST_BUTTON}
float jointAccelerations[J_NUM_JOINTS]
float jointCurrents[J_NUM_JOINTS]
float jointHardnesses[J_NUM_JOINTS]
float jointPositions[J_NUM_JOINTS]
float jointTargets[J_NUM_JOINTS]
float jointTemperatures[J_NUM_JOINTS]
float jointVelocities[J_NUM_JOINTS]
int nackErrors[NK_NUM_BOARDS]
float sonicValues[S_NUM_SENSORS]
float touchPSValues[PS_NUM_SENSORS]
float touchValues[T_NUM_SENSORS]
unsigned char walkCyclesSinceCall

Generated on Fri Oct 9 13:42:11 2009 for naowalkoptimiser by  doxygen 1.6.1