|
icub-test
|
This tests checks the a position PID response, sending a step reference signal with a positionDirect command. More...
#include <PositionControlAccuracy.h>
Inherits yarp::robottestingframework::TestCase.
Public Member Functions | |
| virtual bool | setup (yarp::os::Property &property) |
| virtual void | tearDown () |
| virtual void | run () |
| bool | goHome () |
| void | executeCmd () |
| void | setMode (int desired_mode) |
| void | saveToFile (std::string filename, yarp::os::Bottle &b) |
This tests checks the a position PID response, sending a step reference signal with a positionDirect command.
This test currently does not return any error report. It simply moves a joint, and saves data to a different file for each joint. The data acquired can be analyzed with a Matlab script to evaluate the position PID properties. Be aware that a step greater than 5 degrees at the maximum speed can be dangerous for both the robot and the human operator!
example: testRunner -v -t PositionControlAccuracy.dll -p "--robot icubSim --part head --joints ""(0 1 2)"" --zeros ""(0 0 0)"" --step 5 --cycles 10 --sampleTime 0.010" example: testRunner -v -t PositionControlAccuracy.dll -p "--robot icubSim --part head --joints ""(2)"" --zeros ""(0)"" --step 5 --cycles 10 --sampleTime 0.010"
Accepts the following parameters:
| Parameter name | Type | Units | Default Value | Required | Description | Notes |
|---|---|---|---|---|---|---|
| robot | string | - | - | Yes | The name of the robot. | e.g. icub |
| part | string | - | - | Yes | The name of the robot part. | e.g. left_arm |
| joints | vector of ints | - | - | Yes | List of joints to be tested | |
| zeros | double | deg | - | Yes | The home position for each joint | |
| cycles | int | - | - | Yes | Each joint will be tested multiple times | |
| step | double | deg | - | Yes | The amplitude of the step reference signal | Recommended max: 5 deg! |
| sampleTime | double | s | - | Yes | The sample time of the control thread | |
| home_tolerance | double | deg | 0.5 | No | The max acceptable position error during the homing phase. | |
| filename | string | No | The output filename. If not specified, the name will be generated using 'part' parameter and joint number | |||
| step_duration | double | s | No | The duration of the step. After this time, a new test cycle starts. |
Definition at line 55 of file PositionControlAccuracy.h.
| PositionControlAccuracy::PositionControlAccuracy | ( | ) |
Definition at line 41 of file PositionControlAccuracy.cpp.
|
virtual |
Definition at line 55 of file PositionControlAccuracy.cpp.
| bool PositionControlAccuracy::goHome | ( | ) |
Definition at line 192 of file PositionControlAccuracy.cpp.
|
virtual |
Definition at line 223 of file PositionControlAccuracy.cpp.
| void PositionControlAccuracy::saveToFile | ( | std::string | filename, |
| yarp::os::Bottle & | b | ||
| ) |
Definition at line 335 of file PositionControlAccuracy.cpp.
| void PositionControlAccuracy::setMode | ( | int | desired_mode | ) |
Definition at line 160 of file PositionControlAccuracy.cpp.
|
virtual |
Definition at line 57 of file PositionControlAccuracy.cpp.
|
virtual |
Definition at line 152 of file PositionControlAccuracy.cpp.