Structure that defines properties of a sensor attached. More...
#include <lowerleg_struct.h>
Data Fields | |
int | label_id |
Sensor id - (integer) | |
string | sensor_type |
Sensor type. | |
string | point_label |
Point label, in case of optical marker. (as referenced by the OptiTrack software) | |
string | LINK_label |
LINK label to which it is connected. | |
float | xa |
Co-ordinates of sensor origin or attachment point, in the LINK reference frame. | |
float | ya |
float | za |
float | rot_matrix [3][3] |
float | stiffness [10] |
float | normal_axis [3] |
Axis normal to the sensor (in case of force sensor) | |
float | free_param [10] |
10 parameters for optional sensors | |
int | nb_pulley |
In case of active-wire sensor, number of pulleys used to multiply the sensor displacement. | |
vector< vector< double > > | mdata |
vector< vector< int > > | point_flag |
Structure that defines properties of a sensor attached.
This structure contains the details of the following:
The type of sensor, the LINK id to which it is attached, the location on the LINK where it is fixed with respect to the LINK frame, the rotation matrix relating the sensor reference frame to LINK reference frame (if it is known).
In case of wire sensors (active or passive), it also includes the coefficients of the (up to) 10 degree polynomial that gives the force exerted by the wire as a function of its length.
In case of a force sensor, the axis normal to the force sensor is specified
In case of a free sensor, optional up to 10 parameters may be provided
Sensor types: accelerometer, active_wire sensor, passive_wire sensor, optical marker, force_sensor, free sensor
float sensor::free_param[10] |
10 parameters for optional sensors
Referenced by read_sensor().
int sensor::label_id |
Sensor id - (integer)
Referenced by generate_mes_vec_femur(), load_collar_accl_data(), load_collar_passive_data(), read_sensor(), and write_accl_headers().
string sensor::LINK_label |
LINK label to which it is connected.
Referenced by calc_link_frame_opti(), calc_pts_in_collar_base_frame(), read_sensor(), and write_accl_headers().
vector< vector<double> > sensor::mdata |
2d vector containing data pertaining to motion recorded by specified sensor. mdata[i][0] corresponds to the data timestamp for ith reading, mdata[i][j] corresponds to jth field recorded by the sensor at the ith reading.
Note that in case of optical marker, timestamp is not stored, as the info is not available directly. But index i gives the frame number. mdata[i][j] in this case corresponds to (j+1)th field recorded by the sensor (ie mdata[i][0] is 1st reading and so on).
Referenced by calc_link_frame_opti(), convert_opti_to_mario(), generate_mes_vec_femur(), generate_mes_vec_tib_low(), load_all_measures(), load_collar_accl_data(), load_collar_active_data(), load_collar_opti_data(), load_collar_passive_data(), main(), run_kalman_femur(), and run_kalman_tib_low_theta().
In case of active-wire sensor, number of pulleys used to multiply the sensor displacement.
Referenced by generate_mes_vec_femur(), and read_sensor().
float sensor::normal_axis[3] |
Axis normal to the sensor (in case of force sensor)
Referenced by read_sensor().
vector< vector<int> > sensor::point_flag |
In case of optical markers, we need a flag that denotes whether the reading can be trusted or not. This flag is set when a filtering/cleaning function is performed. A value of 1 denotes that the reading is correct (with acceptable noise), while 0 indicates that the reading is absolutely wrong and must be discarded.
This flag is exteremely useful while performing Kalman filtering.
Referenced by load_collar_opti_data(), run_kalman_femur(), set_mes_err_cov(), and set_mes_err_cov_tib().
string sensor::point_label |
Point label, in case of optical marker. (as referenced by the OptiTrack software)
Referenced by load_collar_opti_data(), and read_sensor().
float sensor::rot_matrix[3][3] |
Rotation matrix relating the sensor reference frame to the LINK reference frame
Referenced by calc_pts_in_collar_base_frame(), and read_sensor().
string sensor::sensor_type |
Sensor type.
Referenced by read_femur(), read_sensor(), and read_tibia().
float sensor::stiffness[10] |
Coefficients of the (up to) 10 degree polynomial (in terms of wire length) that describe the force exerted by the wire.
Referenced by read_sensor().
float sensor::xa |
Co-ordinates of sensor origin or attachment point, in the LINK reference frame.
Referenced by calc_link_frame_opti(), calc_pts_in_collar_base_frame(), and read_sensor().
float sensor::ya |
Referenced by calc_link_frame_opti(), calc_pts_in_collar_base_frame(), and read_sensor().
float sensor::za |
Referenced by calc_link_frame_opti(), calc_pts_in_collar_base_frame(), and read_sensor().