diff --git a/doxygen/doc/html/CameraTest_8cpp_source.html b/doxygen/doc/html/CameraTest_8cpp_source.html new file mode 100644 index 00000000..b56b4052 --- /dev/null +++ b/doxygen/doc/html/CameraTest_8cpp_source.html @@ -0,0 +1,181 @@ + + +
+ + + + +
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
CCameraTest | Check if a camera is publishing images at desired framerate |
CCartesianControlReachingToleranceTest | This test verifies the point-to-point cartesian movement |
CCartesianControlSimpleP2pMovementTest | This test verifies the point-to-point cartesian movement |
CControlModes | The test checks if the joint is able to go in all the available control/interaction modes and if transition between the states is correct |
CDemoRedBallTest | This test verifies the point-to-point cartesian movement |
CExampleTest | This is just an example test, use it as a reference to implement new tests |
CFtSensorTest | Check if a FT sensor port is correctly publishing a vector with 6 values |
CGazeControlSimpleLookTest | This test verifies the simple gaze movements |
CImu | The purpose of this test is to evaluate the accuracy of the IMU Euler angles measurements |
CJointLimits | Check if the software joint limits are properly set |
CMotorEncodersSignCheck | This tests checks if the motor encoder readings increase when positive pwm is applayed to motor |
CMotorTest | Check IPositionControl and IEncoders |
CMovementReferencesTest | Check IPositionControl, IVelocityControl, IPWMControl, IPositionDirect |
COpticalEncodersConsistency | This tests checks if the motor encoder reading are consistent with the joint encoder readings |
COpticalEncodersDrift | This tests checks if the relative encoders measurements are consistent over time, by performing cyclic movements between two reference positions (min and max) |
CPositionControlAccuracy | This tests checks the a position PID response, sending a step reference signal with a positionDirect command |
CPositionControlAccuracyExernalPid | This tests checks the response of the system to a position step, sending directly PWM commands to a joint |
CPositionDirect | This tests checks the positionDirect control, sending a sinusoidal reference signal, with parametric frequency and amplitude |
CSensorsDuplicateReadings | Check if a yarp port is correctly publishing unique values at each update |
CSkinWrapperTest | This test verifies the functionalities of skinWrapper after the removal of analogServer from icub-main |
CTorqueControlAccuracy | This tests checks the a torque PID response, sending a step reference signal with a setRefTorque command |
CTorqueControlGravityConsistency | The test is supposed to be run with the iCub fixed to the pole, with the pole leveled with respect to the gravity (please check this with a level before running the test) and with the wholeBodyDynamics(Tree) running |
+ icub-test
+
+ |
+
Check if a camera is publishing images at desired framerate. + More...
+ +#include <CameraTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
Check if a camera is publishing images at desired framerate.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "CameraTest" | No | The name of the test. | - |
portname | string | - | - | Yes | The yarp port name of the camera to test. | - |
measure_time | int | s | 1 | No | The duration of the test. | |
expected_frequency | int | Hz | 30 | No | The expected framerate of the camera. | |
tolerance | int | Number of frames | 5 | No | The tolerance on the total number of frames read during the period (expected_frequency*measure_time) to consider the test sucessful. |
Definition at line 44 of file CameraTest.h.
+
+ icub-test
+
+ |
+
This test verifies the point-to-point cartesian movement. + More...
+ +#include <CartesianControlReachingToleranceTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This test verifies the point-to-point cartesian movement.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
robot | string | - | icubSim | No | robot name | - |
arm-type | string | - | left | No | left or right | - |
Definition at line 40 of file CartesianControlReachingToleranceTest.h.
+
+ icub-test
+
+ |
+
This test verifies the point-to-point cartesian movement. + More...
+ +#include <CartesianControlSimpleP2pMovementTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This test verifies the point-to-point cartesian movement.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
robot | string | - | icubSim | No | robot name | - |
arm-type | string | - | left | No | left or right | - |
Definition at line 39 of file CartesianControlSimpleP2pMovementTest.h.
+
+ icub-test
+
+ |
+
The test checks if the joint is able to go in all the available control/interaction modes and if transition between the states is correct. + More...
+ +#include <ControlModes.h>
Inherits yarp::robottestingframework::TestCase.
+The test checks if the joint is able to go in all the available control/interaction modes and if transition between the states is correct.
+The following control modes are test: VOCAB_CM_POSITION, VOCAB_CM_POSITION_DIRECT, VOCAB_CM_VELOCITY, VOCAB_CM_MIXED, VOCAB_CM_PWM, VOCAB_CM_IDLE, VOCAB_CM_FORCE_IDLE, VOCAB_HW_FAULT. The following interaction modes are tested: VOCAB_IM_STIFF, VOCAB_IM_COMPLIANT. For some modes (VOCAB_CM_TORQUE, VOCAB_IM_COMPLIANT) the test asks to robotInterface if the joint capabilities, skipping the test if those modes are not implemented. The test intentionally generates an hardware fault to test the transition between VOCAB_CM_HW_FAULT to VOCAB_CM_IDLE. The fault is generated by zeroing the max current limit. Check of the amplifier internal status (iAmplifier->getAmpStatus) has to be implemented yet.
+Example: testRunner -v -t ControlModes.dll -p "--robot icub --part head --joints ""(0 1 2 3 4 5)"" --zero 0"
+Check the following functions:
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 trhe robot part. | e.g. left_arm |
| joints | vector of ints | - | Yes | List of joints to be tested. | | | zero | double | deg | - | Yes | The home position for the tested joints. | |
+ +Definition at line 53 of file ControlModes.h.
+
+ icub-test
+
+ |
+
This test verifies the point-to-point cartesian movement. + More...
+ +#include <DemoRedBallTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This test verifies the point-to-point cartesian movement.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
context | string | - | demoRedBall | No | context containing the demoRedBall conf file | - |
from | string | - | config-test.ini | No | demoRedBall configuration file | - |
You can watch a video of how this test will be performing.
+ +Definition at line 50 of file DemoRedBallTest.h.
+
+ icub-test
+
+ |
+
This is just an example test, use it as a reference to implement new tests. + More...
+ +#include <ExampleTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This is just an example test, use it as a reference to implement new tests.
+Check the following functions:
Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "ExampleTest" | No | The name of the test. | - |
example | string | - | default value | No | An example value. | - |
Definition at line 41 of file ExampleTest.h.
+
+ icub-test
+
+ |
+
Check if a FT sensor port is correctly publishing a vector with 6 values. + More...
+ +#include <FtSensorTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &configuration) |
+virtual void | tearDown () |
+virtual void | run () |
Check if a FT sensor port is correctly publishing a vector with 6 values.
+No further check on the content of the vector is done.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "FtSensorTest" | No | The name of the test. | - |
portname | string | - | - | Yes | The yarp port name of the FT sensor to test. | - |
Definition at line 41 of file FtSensorTest.h.
+
+ icub-test
+
+ |
+
This test verifies the simple gaze movements. + More...
+ +#include <GazeControlSimpleLookTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This test verifies the simple gaze movements.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
- | - | - | - | - | - | - |
Definition at line 38 of file GazeControlSimpleLookTest.h.
+
+ icub-test
+
+ |
+
The purpose of this test is to evaluate the accuracy of the IMU Euler angles measurements. + More...
+ +#include <imu.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
The purpose of this test is to evaluate the accuracy of the IMU Euler angles measurements.
+It takes as input the urdf of the robot and make a comparison between the expected values retrieved from the forward kinematics and the ones read from the IMU itself. The test involves the movements of the joints belonging to the part on which the sensor is mounted. The movements are executed sequentially, traversing from the home position to the lower limit, upper limit and back to the home position for each joint.
+Example: robottestingframework-testrunner –test plugins/imu.so –param "--robot icub --model model.urdf --port /icub/head/inertials --part head --controlboards ("torso", "head") --sensor head_imu_0 --frame head_imu_0 --mean_error 0.1"
+Moreover, you can manually modify the suites/contexts/icub/test_imu.ini file depending on the parameters of the test. In this case, after compiling, you can run:
+robottestingframework-testrunner –suite ../suites/imu.xml
+This will launch the test and open a yarpscope with the plots of the IMU traces.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
robot | string | - | - | Yes | The name of the robot. | e.g. icub |
model | string | - | - | Yes | The name of the robot model. | e.g. model.urdf |
port | string | - | - | Yes | The name of the port streaming IMU data. | e.g. /icub/head/inertials |
part | string | - | - | Yes | The name of the robot part on which the sensor is mounted. | e.g. head |
controlboards | vector of string | - | - | Yes | The list of the controlboards to open. | e.g. ("torso", "head") |
sensor | string | - | - | Yes | The name of the sensor to be tested. | e.g. head_imu_0 |
frame | string | - | - | Yes | The name of the frame on which the sensor is attached. | e.g. head_imu_0 |
mean_error | double | - | - | Yes | The tolerance on the mean of the error. |
+ icub-test
+
+ |
+
Check if the software joint limits are properly set. + More...
+ +#include <jointLimits.h>
Inherits yarp::robottestingframework::TestCase.
+Check if the software joint limits are properly set.
+The limits are set in the robot configuration files. The test asks the limits to robotInterface using the IControlLimits interface. The test moves each joint first to the max lim, then to the min lim, then to home. If the joint is unable to reach the software limits within a certain tolerance, the test fails and the joint is put back in home position. The timeout for each joint to reach the limit position is fixed to 20 seconds. The test uses an limited output to avoid to damage the joint if, for example, an hardware limit is reached before the software limit. If this limit is too small, the the joint may be unable to reach the limit (e.g. because of friction), so the value must be chosen accurately. The test assumes the the position control is properly working and the position pid is properly tuned. After testing the limits, this test also tries to move the joint out of the limits on puropose (adding to the joint limits the value of outOfBoundPosition). The test is successfull if the position move command is correctly stopped at the limit.
+Example: testRunner -v -t JointLimits.dll -p "--robot icub --part head --joints ""(0 1 2)"" --home ""(0 0 0)"" --speed ""(20 20 20)"" --outputLimitPercent ""(30 30 30)"" --outOfBoundPosition ""(2 2 2)"" --tolerance 0.2"
+Check the following functions:
Support functions:
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 trhe robot part. | e.g. left_arm |
joints | vector of ints | - | - | Yes | List of joints to be tested | |
home | vector of doubles of size joints | deg | - | Yes | The home position for each joint | |
speed | vector of doubles of size joints | deg/s | - | Yes | The reference speed used furing the movement | |
tolerance | vector of doubles of size joints | deg | - | Yes | The position tolerance used to check if the limit has been properly reached. | Typical value = 0.2 deg. |
outputLimitPercent | vector of doubles of size joints | % | - | Yes | The maximum motor output (expressed as percentage). | Safe values can be, for example, 30%. |
outOfBoundPosition | vector of doubles of size joints | % | - | Yes | This value is added the joint limit to test that a position command is not able to move out of the joint limits | Typical value 2 deg. |
Definition at line 74 of file jointLimits.h.
+
+ icub-test
+
+ |
+
This tests checks if the motor encoder readings increase when positive pwm is applayed to motor. + More...
+ +#include <motorEncodersSignCheck.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks if the motor encoder readings increase when positive pwm is applayed to motor.
+This test helps you to check if RotorEncoderResolution parameter in robot's configuration files has correct sign. The test sets one joint per time in Open Loop control mode; then applies positive pwm starting with value defined in parameter "pwmStart" and increments pwm with step defined in parameter "pwmStep" until motor doesn't move of Posthreshold degree at least.
+Note: This test uses yarp::robottestingframework::jointsPosMotion class, a class for reduce time in developing test.
+Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
robot | string | - | - | Yes | The name of the robot. | e.g. icub |
name | string | - | - | No | The name of test. | e.g. motEncSignCheck_Head |
part | string | - | - | Yes | The name of trhe robot part. | e.g. head |
joints | vector of ints | - | - | Yes | List of joints to be tested | |
home | vector of doubles of size joints | deg | - | Yes | The home position for each joint. It should be distant from joint's limits | |
speed | vector of doubles of size joints | deg/s | - | Yes | The reference speed used during the movement | |
pwmStart | vector of doubles of size joints | - | - | Yes | The starting pwm applied to joint | |
pwmStep | vector of doubles of size joints | - | - | Yes | The increment of pwm per time | |
pwmMax | vector of doubles of size joints | - | - | Yes | The max pwm applicable | |
Posthreshold | vector of doubles of size joints | deg | 5 | No | The minumum movement to check if motor position increases | |
commandDelay | vector of doubles of size joints | deg | 0.1 | No | The delay between two SetRefOpenLooop commands consecutive |
Definition at line 61 of file motorEncodersSignCheck.h.
+
+ icub-test
+
+ |
+
Check IPositionControl and IEncoders. + More...
+ +#include <MotorTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &configuration) |
+virtual void | tearDown () |
+virtual void | run () |
Check IPositionControl and IEncoders.
+Check the following functions:
Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "MotorTest" | No | The name of the test. | - |
portname | string | - | - | Yes | The yarp port name of the controlboard to test. | - |
joints | int | - | - | Yes | Number of axes in the controlboard. | Must be consistent with the value returned by getAxes method. |
target | vector of doubles of size joints | deg | - | Yes | For each joint the position to reach for passing the test. | |
min | vector of doubles of size joints | deg | - | Yes | For each joint the maximum lower error with respect to the target to consider the test as successful. | |
max | vector of doubles of size joints | deg | - | Yes | For each joint the maximum upper error with respect to the target to consider the test as successful. | |
refvel | vector of doubles of size joints | deg/s | - | Yes | For each joint the reference velocity value to set in the low level trajectory generator. | |
refacc | vector of doubles of size joints | deg/s^2 | - | No | For each joint the reference acceleration value to set in the low level trajectory generator. | |
timeout | vector of doubles of size joints | s | - | Yes | For each joint the maximum time to wait for the joint to reach the target. |
Definition at line 59 of file MotorTest.h.
+
+ icub-test
+
+ |
+
Check IPositionControl, IVelocityControl, IPWMControl, IPositionDirect. + More...
+ +#include <movementReferencesTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &configuration) |
+virtual void | tearDown () |
+virtual void | run () |
Check IPositionControl, IVelocityControl, IPWMControl, IPositionDirect.
+Check the following functions:
Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "MovementReferencesTest" | No | The name of the test. | - |
portname | string | - | - | Yes | The yarp port name of the controlboard to test. | - |
joints | int | - | - | Yes | Number of axes in the controlboard. | Must be consistent with the value returned by getAxes method. |
home | vector of doubles of size joints | deg | - | Yes | For each joint the position to reach for passing the test. | |
target | vector of doubles of size joints | deg | - | Yes | For each joint the position to reach for passing the test. | |
refvel | vector of doubles of size joints | deg/s | - | Yes | For each joint the reference velocity value to set in the low level trajectory generator. | |
refacc | vector of doubles of size joints | deg/s^2 | - | No | For each joint the reference acceleration value to set in the low level trajectory generator. |
Definition at line 56 of file movementReferencesTest.h.
+
+ icub-test
+
+ |
+
This tests checks if the motor encoder reading are consistent with the joint encoder readings. + More...
+ +#include <motorEncodersConsistency.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks if the motor encoder reading are consistent with the joint encoder readings.
+Since the two sensors may be placed in different places, with gearboxes or tendon transmissions in between, a (signed) factor is needed to convert the two measurements. The test performes a cyclic movement between two reference positions (min and max) and collects data from both the encoders during the movement. The test generates four text data files, which are subsequently opened to generate plots. In all figures the joint and motor plots need to be reasonably aligned. The four plots are:
Example: testRunner v -t motorEncodersConsistency.dll -p "--robot icub --part left_arm --joints ""(0 1 2)"" --home ""(-30 30 10)"" --speed ""(20 20 20)"" --max ""(-20 40 20)"" --min ""(-40 20 0)"" --cycles 10 --tolerance 1.0 " Example: testRunner v -s "..\icub-tests\suites\encoders-icubSim.xml"
+Check the following functions:
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 trhe robot part. | e.g. left_arm |
joints | vector of ints | - | - | Yes | List of joints to be tested | |
home | vector of doubles of size joints | deg | - | Yes | The home position for each joint | |
cycles | int | - | 10 | No | The number of test cycles (going from max to min position and viceversa | |
max | vector of doubles of size joints | deg | - | Yes | The max position using during the joint movement | |
min | vector of doubles of size joints | deg | - | Yes | The min position using during the joint movement | |
tolerance | vector of doubles of size joints | deg | - | Yes | The tolerance used when moving from min to max reference position and viceversa | |
speed | vector of doubles of size joints | deg/s | - | Yes | The reference speed used during the movement | |
matrix_size | int | - | - | Yes | The number of rows of the coupling matrix | Typical value = 4. |
matrix | vector of doubles of size matrix_size | - | - | Yes | The kinematic_mj coupling matrix | matrix is identity if joints are not coupled |
plotstring1 | string | - | Yes | The string which generates plot 1 | ||
plotstring2 | string | - | Yes | The string which generates plot 2 | ||
plotstring3 | string | - | Yes | The string which generates plot 3 | ||
plotstring4 | string | - | Yes | The string which generates plot 4 |
Definition at line 80 of file motorEncodersConsistency.h.
+
+ icub-test
+
+ |
+
This tests checks if the relative encoders measurements are consistent over time, by performing cyclic movements between two reference positions (min and max). + More...
+ +#include <opticalEncodersDrift.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks if the relative encoders measurements are consistent over time, by performing cyclic movements between two reference positions (min and max).
+The test collects data during the joint motion, saves data to a text file a plots the result. If the relative encoder is working correctly, the plot should have no drift. Otherwise, a drift in the plot may be caused by a damaged reflective encoder/ optical disk. For best reliability an high number of cycles (e.g. >100) is suggested.
+example: testRunner -v -t OpticalEncodersDrift.dll -p "--robot icub --part head --joints ""(0 1 2)"" --home ""(0 0 0)" –speed "(20 20 20)" –max "(10 10 10)" –min "(-10 -10 -10)" –cycles 100 –tolerance 1.0 " +example: testRunner -v -t OpticalEncodersDrift.dll -p "–robot icub –part head –joints ""(2)"" –home ""(0)"" –speed "(20 )" –max "(10 )" –min "(-10)" –cycles 100 –tolerance 1.0 "
+Check the following functions:
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 trhe robot part. | e.g. left_arm |
joints | vector of ints | - | - | Yes | List of joints to be tested | |
home | vector of doubles of size joints | deg | - | Yes | The home position for each joint | |
cycles | int | - | - | Yes | The number of test cycles (going from max to min position and viceversa) | Use values > 100 |
max | vector of doubles of size joints | deg | - | Yes | The max position using during the joint movement | |
min | vector of doubles of size joints | deg | - | Yes | The min position using during the joint movement | |
tolerance | vector of doubles of size joints | deg | - | Yes | The tolerance used when moving from min to max reference position and viceversa | |
speed | vector of doubles of size joints | deg/s | - | Yes | The reference speed used during the movement |
Definition at line 62 of file opticalEncodersDrift.h.
+
+ 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.
+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.
+
+ icub-test
+
+ |
+
This tests checks the response of the system to a position step, sending directly PWM commands to a joint. + More...
+ +#include <PositionControlAccuracyExternalPid.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks the response of the system to a position step, sending directly PWM commands to a joint.
+The PWM commands are computed using iCub::ctrl::parallelPID class. 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 PositionControlAccuracyExternalPid.dll -p "--robot icubSim --part head --joints ""(0 1 2)"" --zeros ""(0 0 0)"" --step 5 --cycles 10 --sampleTime 0.010 --Kp 1.0" example: testRunner -v -t PositionControlAccuracyExternalPid.dll -p "--robot icubSim --part head --joints ""(2)"" --zeros ""(0)"" --step 5 --cycles 10 --sampleTime 0.010 --homeTolerance 1.0 --step_duration 8 --Kp 2.2 --Kd 0.01 --Ki 100 --MaxValue 80"
+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 | 4 | No | The duration of the step. After this time, a new test cycle starts. | |
Kp | double | 0 | No | The Proportional gain | ||
Ki | double | 0 | No | The Integral gain | ||
Kd | double | 0 | No | The Derivative gain | ||
MaxValue | double | % | 100 | No | max value for PID output (saturator). |
Definition at line 62 of file PositionControlAccuracyExternalPid.h.
+
+ icub-test
+
+ |
+
This tests checks the positionDirect control, sending a sinusoidal reference signal, with parametric frequency and amplitude. + More...
+ +#include <PositionDirect.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks the positionDirect control, sending a sinusoidal reference signal, with parametric frequency and amplitude.
+The sample time, typical in the range of 10 ms, can be also be adjusted by the user. This test currently does not return any error report. It simply moves a joint, and the user visually evaluates the smoothness of the performed trajectory. In the future automatic checks/plots may be added to the test. Be aware theat may exists set of parameters (e.g. high values of sample time / ampiltude /frequency) that may lead to PID instability and damage the joint. The test is able to check all the three types of yarp methods (single joint, multi joint, all joints), depending on the value of cmdMode Parameter.
+example: testRunner -v -t PositionDirect.dll - p "--robot icub --part head --joints ""(0 1 2)"" --zero 0 --frequency 0.8 --amplitude 10.0 --cycles 10 --tolerance 1.0 --sampleTime 0.010 --cmdMode 0" example: testRunner -v -t PositionDirect.dll - p "--robot icub --part head --joints ""(2)"" --zero 0 --frequency 0.4 --amplitude 10.0 --cycles 10 --tolerance 1.0 --sampleTime 0.010 --cmdMode 0"
+Check the following functions:
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 trhe robot part. | e.g. left_arm |
joints | vector of ints | - | - | Yes | List of joints to be tested | |
zero | double | deg | - | Yes | The home position for each joint | |
cycles | int | - | - | Yes | The number of test cycles (going from max to min position and viceversa) | |
frequency | double | deg | - | Yes | The frequency of the sine reference signal | |
amplitude | double | deg | - | Yes | The ampiltude of the sine reference signal | |
tolerance | double | deg | - | Yes | The tolerance used when moving from min to max reference position and viceversa | |
sampleTime | double | s | - | Yes | The sample time of the control thread | |
cmdMode | int | deg | - | Yes | = 0 to test single joint method, = 1 to test all joints, = 2 to test multi joint method |
Definition at line 60 of file PositionDirect.h.
+
+ icub-test
+
+ |
+
Check if a yarp port is correctly publishing unique values at each update . + More...
+ +#include <SensorsDuplicateReadings.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
Check if a yarp port is correctly publishing unique values at each update .
+For some sensors, such as strain gauge based force sensors, errors on the measurement ensure that two different readings of the sensors are always different. If on a port that is publishing a sensor reading you get two times exactly the same value, this could mean that the same sensor reading was sent multiple times. This could happen for several reasons:
Accepts the following parameters:
Parameter name | Type | Units | Default Value | Required | Description | Notes |
---|---|---|---|---|---|---|
name | string | - | "SensorsDuplicateReadings" | No | The name of the test. | - |
time | double | s | - | Yes | Duration of the test for each port. | - |
PORTS (group ) | Bottle | - | - | Yes | List of couples of port/toleratedDuplicates with this format: (portname1, toleratedDuplicates1) (portname1, toleratedDuplicates1) |
Definition at line 88 of file SensorsDuplicateReadings.h.
+
+ icub-test
+
+ |
+
This test verifies the functionalities of skinWrapper after the removal of analogServer from icub-main. + More...
+ +#include <SkinWrapperTest.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
This test verifies the functionalities of skinWrapper after the removal of analogServer from icub-main.
+ +Definition at line 34 of file SkinWrapperTest.h.
+
+ icub-test
+
+ |
+
This tests checks the a torque PID response, sending a step reference signal with a setRefTorque command. + More...
+ +#include <TorqueControlAccuracy.h>
Inherits yarp::robottestingframework::TestCase.
+This tests checks the a torque PID response, sending a step reference signal with a setRefTorque 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 analized with a matalab script to evaluate the torque PID properties. Be aware that a step greater than 1 Nm may be dangerous for both the robot and the human operator!
+example: testRunner -v -t TorqueControlAccuracy.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 TorqueControlAccuracy.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 | Nm | - | Yes | The amplitude of the step reference signal | Recommended max: 1 Nm! |
sampleTime | double | s | - | Yes | The sample time of the control thread |
Definition at line 52 of file TorqueControlAccuracy.h.
+
+ icub-test
+
+ |
+
The test is supposed to be run with the iCub fixed to the pole, with the pole leveled with respect to the gravity (please check this with a level before running the test) and with the wholeBodyDynamics(Tree) running. + More...
+ +#include <TorqueControlGravityConsistency.h>
Inherits yarp::robottestingframework::TestCase.
++Public Member Functions | |
+virtual bool | setup (yarp::os::Property &property) |
+virtual void | tearDown () |
+virtual void | run () |
The test is supposed to be run with the iCub fixed to the pole, with the pole leveled with respect to the gravity (please check this with a level before running the test) and with the wholeBodyDynamics(Tree) running.
+The tests opens the wholeBodyInterface (to be migrated to use material available on YARP and iDynTree) and compares the gravity compensation torque coming from the model and assuming that the gravity is fixed in the based with the joint torques measured by iCub (that actually come from the wholeBodyDynamics(Tree) ).
+Example: testRunner -v -t TorqueControlGravityConsistency.dll -p ""
+ +Definition at line 45 of file TorqueControlGravityConsistency.h.
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+Directories | |
directory | cartesian-control |
directory | gaze-control |
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
▼ example | |
▼ cpp | |
► ExampleFixture | |
► ExampleTest | |
▼ src | |
▼ camera | |
CameraTest.cpp | |
CameraTest.h | |
▼ cartesian-control | |
► reaching-tolerance | |
► simple-p2p-movement | |
▼ controlModes | |
ControlModes.cpp | |
ControlModes.h | |
▼ demoRedBall | |
DemoRedBallTest.cpp | |
DemoRedBallTest.h | |
▼ ftsensor-tests | |
FtSensorTest.cpp | |
FtSensorTest.h | |
▼ gaze-control | |
► simple-look | |
▼ imu | |
imu.cpp | |
imu.h | |
▼ jointLimits | |
jointLimits.cpp | |
jointLimits.h | |
▼ models-consistency | |
iKiniDynConsistencyTest.cpp | |
iKiniDynConsistencyTest.h | |
▼ motor-stiction | |
MotorStiction.cpp | |
MotorStiction.h | |
▼ motor-tests | |
MotorTest.cpp | |
MotorTest.h | |
▼ motorEncoders-consistency | |
motorEncodersConsistency.cpp | |
motorEncodersConsistency.h | |
▼ motorEncodersSignCheck | |
motorEncodersSignCheck.cpp | |
motorEncodersSignCheck.h | |
▼ movementReferencesTest | |
movementReferencesTest.cpp | |
movementReferencesTest.h | |
▼ openloop-consistency | |
OpenloopConsistency.cpp | |
OpenloopConsistency.h | |
▼ opticalEncoders-drift | |
opticalEncodersDrift.cpp | |
opticalEncodersDrift.h | |
▼ ports-frequency | |
PortsFrequency.cpp | |
PortsFrequency.h | |
▼ positionControl-accuracy | |
plotDataPosition.m | |
PositionControlAccuracy.cpp | |
PositionControlAccuracy.h | |
▼ positionControl-accuracy-ExternalPid | |
plotDataPosition.m | |
PositionControlAccuracyExternalPid.cpp | |
PositionControlAccuracyExternalPid.h | |
▼ positionDirect | |
PositionDirect.cpp | |
PositionDirect.h | |
▼ sensors-duplicate-readings | |
SensorsDuplicateReadings.cpp | |
SensorsDuplicateReadings.h | |
▼ skinWrapperTest | |
SkinWrapperTest.cpp | |
SkinWrapperTest.h | |
▼ system-status | |
SystemStatus.cpp | |
SystemStatus.h | |
▼ torqueControl-accuracy | |
plotDataTorque.m | |
TorqueControlAccuracy.cpp | |
TorqueControlAccuracy.h | |
▼ torqueControl-consistency | |
TorqueControlConsistency.cpp | |
TorqueControlConsistency.h | |
▼ torqueControl-gravityConsistency | |
TorqueControlGravityConsistency.cpp | |
TorqueControlGravityConsistency.h | |
▼ torqueControl-stiffDampCheck | |
TorqueControlStiffDampCheck.cpp | |
TorqueControlStiffDampCheck.h | |
▼ suites | |
▼ contexts | |
► scripts |
+ icub-test
+
+ |
+
This page contains the list of all the tests tht are currently available and documented. +More...
++Data Structures | |
class | ExampleTest |
This is just an example test, use it as a reference to implement new tests. More... | |
class | CameraTest |
Check if a camera is publishing images at desired framerate. More... | |
class | CartesianControlReachingToleranceTest |
This test verifies the point-to-point cartesian movement. More... | |
class | CartesianControlSimpleP2pMovementTest |
This test verifies the point-to-point cartesian movement. More... | |
class | ControlModes |
The test checks if the joint is able to go in all the available control/interaction modes and if transition between the states is correct. More... | |
class | DemoRedBallTest |
This test verifies the point-to-point cartesian movement. More... | |
class | FtSensorTest |
Check if a FT sensor port is correctly publishing a vector with 6 values. More... | |
class | GazeControlSimpleLookTest |
This test verifies the simple gaze movements. More... | |
class | Imu |
The purpose of this test is to evaluate the accuracy of the IMU Euler angles measurements. More... | |
class | JointLimits |
Check if the software joint limits are properly set. More... | |
class | MotorTest |
Check IPositionControl and IEncoders. More... | |
class | OpticalEncodersConsistency |
This tests checks if the motor encoder reading are consistent with the joint encoder readings. More... | |
class | MotorEncodersSignCheck |
This tests checks if the motor encoder readings increase when positive pwm is applayed to motor. More... | |
class | MovementReferencesTest |
Check IPositionControl, IVelocityControl, IPWMControl, IPositionDirect. More... | |
class | OpticalEncodersDrift |
This tests checks if the relative encoders measurements are consistent over time, by performing cyclic movements between two reference positions (min and max). More... | |
class | PositionControlAccuracy |
This tests checks the a position PID response, sending a step reference signal with a positionDirect command. More... | |
class | PositionControlAccuracyExernalPid |
This tests checks the response of the system to a position step, sending directly PWM commands to a joint. More... | |
class | PositionDirect |
This tests checks the positionDirect control, sending a sinusoidal reference signal, with parametric frequency and amplitude. More... | |
class | SensorsDuplicateReadings |
Check if a yarp port is correctly publishing unique values at each update . More... | |
class | SkinWrapperTest |
This test verifies the functionalities of skinWrapper after the removal of analogServer from icub-main. More... | |
class | TorqueControlAccuracy |
This tests checks the a torque PID response, sending a step reference signal with a setRefTorque command. More... | |
class | TorqueControlGravityConsistency |
The test is supposed to be run with the iCub fixed to the pole, with the pole leveled with respect to the gravity (please check this with a level before running the test) and with the wholeBodyDynamics(Tree) running. More... | |
This page contains the list of all the tests tht are currently available and documented.
+Each class is a test that can be ran and configured independently.
+To add a test to this list it is enough that you add the following line to the class that implements the test:
+\ingroup icub-tests
Do not forget to generate the documentation either locally or online following the instructions here.
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
The icub-tests
repository contains tests for the iCub robot.Tests are written using the Robot Testing Framework. See https://github.com/robotology/robot-testing-framework for how to use Robot Testing Framework.
+ icub-test
+
+ |
+
If you have not installed Robot Testing Framework, Please see http://robotology.github.io/robot-testing-framework/index.html.
+Make sure that the yarpmanager
robottestingframework-plugin generated by YARP can be found by the robottestingframework-testrunner
.
+
On Linux/macOS machines, open a terminal and type:
On Windows machines use the CMake program to create Visual Studio project and build it.
+Test cases are built as Robot Testing Framework plug-ins (shared libraries) and can be found in icub-tests/build/plugins
folder.
+We need to add the plug-ins path to the OS-specific dynamic linker environment variable
LD_LIBRARY_PATH
DYLD_LIBRARY_PATH
PATH
As an example, under Linux:
Tests configuration (.ini files) can be found in icub-tests/suite/contexts
.
+We need to configure the OS-independent YARP_DATA_DIRS
environment variable so that the test cases can load the configuration files.
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
+ icub-test
+
+ |
+
The icub-tests
repository contains tests for the iCub robot. Tests are written using the Robot Testing Framework.
See the icub-test documentation.
+