change_collision_sensitivity

이 함수는 로봇 컨트롤러의 충돌 민감도(Collision Sensitivity)를 설정합니다.
값이 클수록 로봇이 작은 접촉력에도 민감하게 반응하고, 값이 작을수록 충돌 정지가 일어나기 전까지 더 큰 힘을 허용합니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool change_collision_sensitivity(float fSensitivity)
{
    return _change_collision_sensitivity(_rbtCtrl, fSensitivity);
};

주의

실제 로봇에서는 서보 오프 상태, 초기화 중, 또는 로봇이 정지한 수동 모드에서만 호출을 받아들입니다. 그 밖의 경우에는 false를 반환하고, 알람을 보고하고, 모션을 급정지(Quick Stop)로 멈추고, 실행 중인 프로그램을 정지합니다.

매개변수

매개변수 이름

자료형

기본값

설명

fSensitivity

float

충돌 민감도 수준(1~100)입니다. 범위를 벗어난 값은 거부되며, 이 경우 false를 반환하고 알람이 보고됩니다.
1: 최소 민감도(덜 민감하게 반응)
100: 최대 민감도(가장 민감하게 반응)

반환값

값

설명

0

호출이 거부되었습니다.

1

거부 응답을 받지 않았습니다. true를 반환해도 설정이 적용되었다는 뜻은 아닙니다.

예제

// 안전을 위해 자동 모션 정지 활성화
Drfl.set_auto_safety_move_stop(true);

// 충돌 민감도를 20으로 설정(범위: 1~100)
// 값이 작을수록 민감도가 높아집니다(예: 사람과 협업하는 작업)
Drfl.change_collision_sensitivity(20.0f);

// 예시 모션(의사 코드)
// 로봇은 외력을 감지하면 자동으로 정지합니다
float target[6] = {500, 100, 300, 180, 0, 180};
float v[2] = {60, 60};
float a[2] = {60, 60};
// Drfl.movej(target, v, a);

// 모션 시간을 흉내 내기 위해 대기
std::this_thread::sleep_for(std::chrono::seconds(5));

// 작업 후 기본 민감도로 복원
Drfl.change_collision_sensitivity(50.0f);

이 예제는 안전 이벤트 시 자동 모션 정지를 활성화하고 충돌 민감도를 20으로 조정해 로봇이 외부 접촉에 더 민감하게 반응하도록 합니다. 모션이 끝나면 일반 운전을 위해 민감도를 보통 수준(50)으로 되돌립니다.