Skip to main content
Skip table of contents

CDRFLEx. set_on_rt_monitoring_data

기능

외부 제어기에서 로봇 제어기 출력 데이터를 수신했을 때 불리는 Callback 함수입니다.

알아두기

  • 이 함수 내부에서 printf와 같은 non real-time 함수를 30Hz보다 빠르게 호출하면 안됩니다.

인수

없음

리턴

없음

예제

CPP
// callback function
void OnRTMonitoringData(LPRT_OUTPUT_DATA_LIST tData)
{
    return;

    static int td = 0;
    if (td++==1000) {
        td = 0;
        printf("timestamp : %.3f\n", tData->time_stamp);
        printf("actual_joint_position : %f %f %f %f %f %f\n", tData->actual_joint_position[0], tData->actual_joint_position[1], tData->actual_joint_position[2], tData->actual_joint_position[3], tData->actual_joint_position[4], tData->actual_joint_position[5]);
        printf("actual_motor_torque : %f %f %f %f %f %f\n", tData->actual_motor_torque[0], tData->actual_motor_torque[1], tData->actual_motor_torque[2], tData->actual_motor_torque[3], tData->actual_motor_torque[4], tData->actual_motor_torque[5]);
        printf("actual_grav_torque : %f %f %f %f %f %f\n", tData->gravity_torque[0], tData->gravity_torque[1], tData->gravity_torque[2], tData->gravity_torque[3], tData->gravity_torque[4], tData->gravity_torque[5]);
        printf("target torque : %f %f %f %f %f %f\n", tData->target_motor_torque[0], tData->target_motor_torque[1], tData->target_motor_torque[2], tData->target_motor_torque[3], tData->target_motor_torque[4], tData->target_motor_torque[5]);
    }
}

// main.cpp
CDRFLEx drfl;
drfl.connect_rt_control();
string version = “v1.0”;
float period = 0.001; // 1 msec
int losscount = 4;
Drfl.set_on_rt_monitoring_data(OnRTMonitoringData);
drfl.set_rt_control_output(version, period, losscount);
drfl.start_rt_control();


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.