본문 바로가기

Robot/ABB Robot

ABB IRB-6600 6축 로봇 RelTool 로 제어...

사용자 삽입 이미지



스웨덴에 로보트회사 ABB에서 나오는 IRB-6600 은 6축 로봇 입니다...

아무래도 4축보단 축이 2개 더 있다보니 모션 제어에 있어서...

좌표가 헷갈리죠...4축에선 User 좌료를 만들어서 쉽게 쉽게 제어가 가능 했지만...

6축에선 그리 녹녹하지만은 않더군요...


그래서 사용한 명령어가 RelTool 입니다.

로봇과 함께 제공되는 Robot Documentation 에서..

Reference manual을 보겠습니다..

RAPID reference manual에서 Functions 부분을 보면...


2.93. RelTool - Make a displacement relative to the tool

Usage - RelTool (Relative Tool) is used to add a displacement and/or a rotation, expressed in the active tool coordinate system, to a robot position.

Arguments - RelTool (Point Dx Dy Dz [\Rx] [\Ry] [\Rz])


이라고 되어있네요..즉 현재 로봇 툴이 위치한 곳에서 원하는 데로 툴의 상태를 바꿀수 있습니다...

기본적으로 4개에 인자가 필요합니다...

우선 기본이 되는 툴의 포인트를 가지고 X,Y,Z 축으로 이동 합니다...이거야 4축에서도 동일하죠..

하지만 6축에 경우 현재 툴에 대한 X,Y,Z 각도 변화가 가능합니다.


좌표는 로봇 좌표 입니다...우선 RelTool 을 가지고 기본적으로 제어는 가능하지만...

툴기준으로 위치 XYZ로 움직이는것도 헷갈립니다..하지만 여기서 툴의 각도 XYZ로 변형을 주는건..

더 헷갈리더군요....그래서 원하는 좌표로 통일 시켜주기 위해서..

사용자 함수를 만들어 쓰는게 편합니다..


  PROC MoveCalPos_Sub(robtarget SourcePos,num nx,num ny, num nz,num Rnx,

                                      num Rny,num Rnz,zonedata zonein)
           !! change [virtual coordinate] to [tobot coordinate] 
           MoveL RelTool(SourcePos,-ny,-nx,-nz\Rx:=-Rnx\Ry:=Rny\Rz:=Rnz),

           vSpeedMid, zonein, toolGrip;
 ENDPROC


MoveCalPos_Sub 라는 사용자 함수를 만들었습니다..

입력한 값에 따라서 MoveL 로 로봇을 움직여 주는 함수 입니다...

어떻게 움직일지는 로봇 Base 좌표를 놓고 생각해 보시면 됩니다..

로봇 Base 가 로봇을 마주보고 생각해야 한다면...

MoveCalPos_Sub 함수를 거친 다음에는...로봇이 바라보는 시점으로 좌표를 생각 하면 됩니다...

ABB에 RAPID를 원활이 사용 가능 하면서 사용자 함수를 만들어 쓸 정도에

실력이 있다면 이해가 가능 하리라 생각됩니다...

'Robot > ABB Robot' 카테고리의 다른 글

RobotStusio 6 날짜 제한 풀기  (0) 2015.12.07
TextMate ABB RAPID 용 Syntax Regular Expression  (0) 2014.07.28
IRB6600 IRC5 IO 보드 결선..  (1) 2008.04.04