이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
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를 반환하고 알람이 보고됩니다. |
반환값
값 |
설명 |
|---|---|
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)으로 되돌립니다.