set_damping_factor(damping_factor, time)
기능
힘 제어 시, 전역 좌표계(set_ref_coord() 참조) 기준으로 감쇠값(damping factor)을 설정합니다.
인수
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
damping_factor | float[6] | [1.0, 1.0, 1.0, 1.0, 1.0, 1.0] | 순서: (Translation x, y, z), (Rotation x, y, z) 범위: 0.1 ~ 2.0 |
time | float | 0 | 감쇠값 변화 시간 [sec] 범위: 0~1.0 * 주어진 시간 동안 linear transition |
- 감쇠값을 기본값(1.0)으로 설정할 시 로봇 모델에 따라 설정된 기본 감쇠 제어 이득으로 동작하며, 감쇠값을 변경하면 기본 감쇠 제어 이득에 비례한 값이 힘제어 시 적용됩니다.
- 이 함수를 통해 수정한 감쇠값은 힘제어 시에만 적용 됩니다. 순응 제어 시에는 기본값으로 적용됩니다.
- 본 기능은 M/H시리즈에 한정하여 지원하고 있습니다. A시리즈에서는 사용할 수 없습니다.
- 감쇠값을 1.0 미만으로 설정 시 접촉면에 따라 로봇에 진동이 발생할 수 있습니다. 신중히 사용하시기 바랍니다.
리턴
값 | 설명 |
---|---|
0 | 성공 |
음수값 | 오류 |
예외
예외 | 설명 |
---|---|
DR_Error (DR_ERROR_TYPE) | 인수들의 데이터형 오류 시 |
DR_Error (DR_ERROR_VALUE) | 인수의 값이 유효하지 않을 시 |
DR_Error (DR_ERROR_RUNTIME) | C Extension 모듈 에러 발생 시 |
DR_Error (DR_ERROR_STOP) | 프로그램 강제 종료 시 |
예제
# 1. 초기 자세 이동
q0 = posj(0.0, 0.0, 90.0, 0.0, 90.0, 0.0)
set_velj(30.0)
set_accj(60.0)
movej(q0)
# 2. 힘 제어 수행 (Base 좌표계 기준 -z 방향 힘 인가)
k_d = [3000.0, 3000.0, 3000.0, 200.0, 200.0, 200.0]
task_compliance_ctrl(k_d)
force_desired = 20.0
f_d = [0.0, 0.0, -force_desired, 0.0, 0.0, 0.0]
f_dir = [0, 0, 1, 0, 0, 0]
d_f = [1.0, 1.0, 0.8, 1.0, 1.0, 1.0]
set_desired_force(f_d, f_dir)
set_damping_factor(d_f)
wait(2.0)
release_force()
wait(0.5)
release_compliance_ctrl()