로봇드라이버를사용하면컴퓨터에연결된실제로봇을제어할수있습니다. 로봇드라이버는일반적인소프트웨어인터페이스를사용하여특정로봇컨트롤러를제어및모니터링하여컴퓨터가산업용로봇을제어할수있도록합니다.
로봇드라이버는오프라인프로그래밍(프로그램을시뮬레이션, 생성, 로봇으로전송및실행)에대한대안을제공합니다. 로봇드라이버를사용하면시뮬레이션하는동안로봇을움직일수있습니다(온라인프로그래밍).
다음자료는로봇드라이버를사용하는온라인프로그래밍프로젝트의예제를보여줍니다:
https://robodk.com/blog/online-programming/
로봇드라이버를사용하여로봇에서 RoboDK로프로그래밍된로봇시뮬레이션을실행할수있습니다. 시뮬레이터에서로봇의움직임은실제로봇과동기화되며로봇프로그램을실시간으로디버깅할수있습니다.
다음목록은 RoboDK에서지원되는로봇드라이버중일부를보여줍니다:
●ABB
●KUKA
●Mecademic
●Mitsubishi
RoboDK에서로봇드라이버를사용하려면다음단계를따르십시오:
1.로봇을마우스오른쪽버튼으로클릭
2.로봇에연결…을선택
3.로봇의 IP를입력
4.연결을선택
다음이미지와같이연결에성공하면준비를표시하는녹색메시지가나타납니다.
GUI(Graphical User Interface)를사용하여작성된로봇프로그램은다음단계에따라로봇에서실행될수있습니다:
1.프로그램을마우스오른쪽버튼으로클릭
2.로봇에서실행옵션체크
3.프로그램을두번클릭하여시작
프로그램은실제로봇에서시작해야하며시뮬레이터는로봇의움직임을따릅니다. 로봇이사용중일때연결상태는실행중…을노란색으로표시합니다.
Python 프로그램또는 C # 응용프로그램에서로봇을프로그래밍하기위해RoboDK API를사용해서로봇의이동을제어할수있습니다.
로봇에서실행옵션은 Python 프로그램이 RoboDK에서실행될때자동으로관리됩니다. 로봇에서 Python 프로그램을실행하려면다음단계를따르십시오:
1.파이썬프로그램을마우스오른쪽버튼으로클릭
2.Run on robot 로봇에서실행을선택
로봇에서프로그램이실행되기시작하고이에따라로봇연결상태가업데이트됩니다.
프로그램이 RoboDK GUI 외부에서실행되는경우(예: 디버깅목적으로또는 C #에 RoboDK API를사용하는경우) RDK.setRunMode를사용하여RunMode를 RUNMODE_RUN_ROBOT로설정할수있습니다. 그러면로봇에서프로그램이실행됩니다. robot.Connect()를사용하여연결을설정할수도있습니다.
다음코드는 API에서직접로봇과연결하는간단한예제를보여줍니다.:
# Start the RoboDK API
RDK = Robolink()
robot = RDK.Item('',ITEM_TYPE_ROBOT)
# Connect to the robot using default connetion parameters
success = robot.Connect()
status, status_msg = robot.ConnectedState()
if status != ROBOTCOM_READY:
# Stop if the connection did not succeed
raise Exception("Failed to connect: "+ status_msg)
# Set to run the robot commands on the robot
RDK.setRunMode(RUNMODE_RUN_ROBOT)
# Note: This is set automatically if we use
# robot.Connect() through the API
# Move the robot:
robot.MoveJ([10,20,30,40,50,60])
prog = RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)
prog.setRunType(PROGRAM_RUN_ON_ROBOT) # Set the run on robot option
# Set to PROGRAM_RUN_ON_SIMULATOR to run on the simulator only
prog.RunProgram()
while prog.Busy() == 1:
pause(0.1)
print("Program done")
로봇드라이버는기본적으로 /RoboDK/api/Robot/ 폴더에있습니다. RoboDK는로봇연결설정에서특정드라이버를연결합니다:
1.로봇을마우스오른쪽버튼으로클릭
2.로봇에연결…을선택
3.추가옵션…을선택
4.드라이버경로섹션에서드라이버경로를찾거나입력
하나의로봇드라이버는독립형콘솔응용프로그램입니다. 로봇드라이버는모든프로그래밍플랫폼을사용하여개발할수있습니다. 예를들어, Python 모듈 (PY 형식) 또는모든개발환경에서빌드된실행프로그램일수있습니다.
로봇드라이버를사용하면명령줄을통해로봇과통신할수있습니다. RoboDK에서도수동으로실행할수있는같은명령을사용하여 PC에서로봇을구동합니다. 각로봇드라이버는콘솔모드에서실행하여테스트할수있습니다.
Mecademic 로봇을제어하기위한소스코드가포함된샘플 Python 드라이버 (apimecademic.py)는C:/RoboDK/bin/robot/에있습니다.
apimecademic.py 파일을두번클릭하여콘솔모드에서모듈을실행하십시오(Python이설치되어있어야함). 드라이버는새로운명령을기다립니다. 예를들어, IP와통신포트가제공된로봇에연결하기위해다음명령을입력할수있습니다:
CONNECT 192.168.100.1 10000
연결에성공하면SMS: Ready메시지가표시됩니다. 그리고다음명령을입력하여현재로봇관절을검색할수있습니다:
CJNT
로봇을이동하거나 TCP를업데이트하기위해 MOVJ, MOVL 또는 SETTOOL과같은다른명령을입력할수도있습니다:
MOVJ 10 20 30 40 50 60
일부로봇은실시간으로관절위치모니터링을지원합니다. 이경우는 JNTS_MOVING 명령을전송함으로써이동하는로봇의조인트위치에대한피드백을제공할수있습니다. 드라이버가 RoboDK에서실행하면가상로봇은실시간으로실제로봇의움직임을따를것이다. 준비메시지가전송될때까지새명령이처리되지않습니다.
콘솔과의상호작용및로봇과의연결은 Mecademic 드라이버를위한하나의 Python 모듈에의해관리됩니다. 이섹션에서설명한대로콘솔과의상호작용은모든로봇에대해같아야합니다. 그러나각로봇과의상호작용은로봇제조업체에따라다르며, 이경우적절한명령을보내기위해Meca 500 프로그램매뉴얼을참조했습니다. 이러한명령을통해 Meca 500 로봇을이동및모니터링할수있습니다.
로봇드라이버설정은오프라인에서프로그램을생성하는것(오프라인프로그래밍)만큼간단하지않을수있습니다. 연결이작동하지않으면다음단계는문제의원인을찾는몇가지팁을제공합니다:
1.로봇의 IP가올바르고도달가능한지확인하십시오. 로봇연결메뉴에서ping 버튼을선택하여 (또는명령줄에서로봇에대해ping을실행) 로봇과컴퓨터가같은네트워크에있는지확인하십시오.
2.로봇과컴퓨터가같은네트워크에있지않으면컴퓨터의고정 IP를설정하십시오.
3.Windows를사용하는경우: 연결을차단하지않으려면 Windows 방화벽이꺼져있는지확인하십시오.
4.로봇쪽에서통신포트가적절하고사용가능한지확인하십시오.
5.컨트롤러모델에따라로봇컨트롤러에서적절한지침을따르십시오.
6.로봇연결창에서연결끊기를두번클릭하여드라이버를강제로중지한다음다시연결을선택하여새연결을시도하십시오.
Ping 테스트는인터넷프로토콜(IP) 네트워크에서로봇의도달가능성을테스트합니다.
Windows에서Ping 테스트를수행하려면다음단계를수행하십시오:
1.다음을선택하여새콘솔창을열기 (windows 키 + R)
2.cmd를입력하고확인을선택
3.ping IP를입력 (여기서 IP는로봇의 IP 여야함). 예:
ping 192.168.125.2
신호손실이 0 % 인이미지와유사한응답을확인할수있어야합니다.
통신이없으면로봇과 PC의 IP가같은근거리통신망(LAN)에있는지확인해야합니다. 통신을허용하기위해 Windows 방화벽을끄거나규칙을추가해야할수도있습니다.
다음단계에따라컴퓨터의 IP를변경하십시오:
1.Windows 시작➔제어판➔네트워크및인터넷➔네트워크연결을선택
2.로컬영역연결카드를두번클릭
3.속성을선택
4.인터넷프로토콜버전 4(TCP/IPv4)를선택
5.속성을선택
6.로봇 IP 및서브넷마스크에맞춰컴퓨터의 IP를입력