MoveBlending.srv
기능
로봇 제어기에서 하나 이상의 라인 또는 원호 구성된 경로 정보을 받아 로봇을 경로 정보에 설정된 blending radius로 블렌딩하여 등속으로 이동시키기 위한 서비스 입니다.
인수
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
segment | std_msgs/Float64MultiArray[] | - | (pos1[6]:pos2[6]:type[1]:radius[1]) x 50(max) 최대 50개까지의 경로 정보 |
posCnt | int8 |
| 유효 경로 정보 개수 |
vel | float64[2] | - | 선속도, 각속도 |
acc | float64[2] | - | 선가속도, 각가속도 |
time | float64 | 0.0 | 도달 시간 [sec] |
ref | int8 | 0 | MOVE_REFERENCE_BASE =0 MOVE_REFERENCE_TOOL=1 MOVE_REFERENCE_WORLD=2 |
mode | int8 | 0 | MOVE_MODE_ABSOLUTE =0 MOVE_MODE_RELATIVE =1 |
syncType | int8 | 0 | SYNC = 0 ASYNC = 1 |
알아두기
- segment의 type[1] 에는 직선이동 또는 곡선이동 여부를 입력합니다. 예를들어 직선이동이면 0을, 곡선이동이면 1을 입력합니다.
- vel 에 하나의 인자를 입력한 경우(예를들어, vel ={30, 0}) 입력된 인자는 모션의 선속도에 대응되며, 각속도는 선속도에 비례하여 결정됩니다.
- acc 에 하나의 인자를 입력한 경우(예를들어, acc ={60, 0}) 입력된 인자는 모션의 선가속도에 대응되며, 각가속도는 선가속도에 비례하여 결정됩니다.
- time 지정 시, vel, acc 를 무시하고 time 기준으로 처리됩니다
- ref 의 인자에서 DR_WORLD 는 M2.40 이상의 버전에서만 사용 가능합니다.
- mode 가 MOVE_MODE_RELATIVE 인 경우 posb list의 각 pos는 앞 선 pos에 대한 상대좌표로 정의됩니다.
주의
- posb에서 blending radius가 0인 경우, 사용자 입력 오류가 나타납니다.
- 연속된 Line-Line segment가 같은 방향을 가질 경우 Line의 중복입력으로 사용자 입력 오류가 나타납니다.
- 블렌딩 구간에서 조건에 따라 급격하게 방향전환이 발생하게 되는 경우 급가속을 방지하기 위해 사용자 입력오류가 나타납니다.
- 선행모션과 후행모션에 대한 온라인 블렌딩은 지원하지 않습니다.
리턴
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
success | bool | - | 성공 여부 : True or False |