1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

CDRFLEx.read_data_rt

기능

외부 제어기에서 수신한 출력 데이터(로봇 제어기 → 외부 제어기)를 읽는 함수이다.

인수

없음

리턴

값

설명

LPRT_OUTPUT_DATA_LIST

출력 데이터 리스트 참조.

예제

C++
// 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();

float q[NUMBER_OF_JOINT] = {0.0, };
float q_dot[NUMBER_OF_JOINT] = {0.0, };
float trq_g[NUMBER_OF_JOINT] = {0.0, };
while (1)
{
    time=(++count)*st;

    memcpy(q, drfl.read_data_rt()->actual_joint_position, sizeof(float)*6);
    memcpy(q_dot, drfl.read_data_rt()->actual_joint_velocity, sizeof(float)*6;
    memcpy(trq_g, drfl.read_data_rt()->gravity_torque, sizeof(float)*6);
    memcpy(trq_d, trq_g, sizeof(float)*6);

    drfl.torque_rt(trq_d, 0);

    if(time > plan1.time)
    {
        time=0;
        Drfl.stop(STOP_TYPE_SLOW);
        break;
    }
    rt_task_wait_period(NULL);
}