分かりやすいユーザーフレンドリーなインターフェースを使用して、簡単に産業用ロボットをシミュレーションおよびプログラミング。 オブジェクトをクリックアンドドラッグしてレイアウトを作成し、ロボットをプログラミングできます。
プログラミングの経験は必要いらない。
オフラインプログラミングとは、生産環境外でロボットをプログラムすることです。 これにより、現場でのプログラミングによる生産停止時間が取り除けます。 シミュレーション機能と共に使うことで、生産セルを設置する前に、ロボットセルの複数のシナリオが検討できます。 おかげで、作業セルの設計でよくある間違いなどは、事前に予測できたりします。
オフラインプログラミングは、ロボットシステムの投資収益率を最大限までに上げる方法であり、適切なシミュレーションツールが必要となります。 新しいプログラムの採用にかかる時間を数週間から1日に短縮できるため、短期生産のロボット化が可能になります。
産業用ロボットをプログラムする為、最も最先端なAPIであるRoboDK APIへの完全アクセスを取得。
RoboDK APIで、好みのプログラミング言語と開発環境を利用して、あらゆる産業用ロボットをシミュレートおよびプログラミングできます。
RoboDK APIは、パイソン、C#/.Net、C++とマトラボで利用可能。
望む効果のシミュレーションが得られたら、オフラインでわずか2クリックでロボットプログラムを生成(オフラインプログラミング)。
RoboDKポストプロセッサーは、40を超えるロボットメーカーのプログラム生成をサポートしています。
実例として、ABBロボット用に次のプログラムが生成されます。
MODULE MOD_HexagonPath PROC HexagonPath() ! Program generated by RoboDK for ABB IRB 1600ID-4/1.5 ConfJ \On; ConfL \On; tl.tframe:=[-4,0,371.3],[0.92387953,0,0.38268343,0]; MoveJ [[1010.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[810.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[910.6,58.7,662.2],[0,0,1,0],[0,-1,0,0],ex],sp,z1,tl; MoveL [[1110.6,58.7,662.2],[0,0,1,0],[0,-1,0,0],ex],sp,z1,tl; MoveL [[1210.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[1110.6,-287.6,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[910.6,-287.6,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; MoveL [[810.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; Program_Done; MoveL [[1010.6,-114.4,662.2],[0,0,1,0],[-1,0,-1,0],ex],sp,z1,tl; ENDPROC ENDMODULE
# Draw a hexagon around Target 1 from robolink import * # RoboDK's API from robodk import * # Math toolbox for robots # Start the RoboDK API: RDK = Robolink() # Get the robot (first robot found): robot = RDK.Item('', ITEM_TYPE_ROBOT) # Get the reference target by name: target = RDK.Item('Target 1') target_pose = target.Pose() xyz_ref = target_pose.Pos() # Move the robot to the reference point: robot.MoveJ(target) # Draw a hexagon around the reference target: for i in range(7): ang = i*2*pi/6 # Angle = 0,60,120,...,360 R = 200 # Polygon radius # Calculate the new position: x = xyz_ref[0] + R*cos(ang) # new X coordinate y = xyz_ref[1] + R*sin(ang) # new Y coordinate z = xyz_ref[2] # new Z coordinate target_pose.setPos([x,y,z]) # Move to the new target: robot.MoveL(target_pose) # Trigger a program call at the end of the movement robot.RunInstruction('Program_Done') # Move back to the reference target: robot.MoveL(target)