RoboDKで
オフラインプログラミング

分かりやすいユーザーフレンドリーなインターフェースを使用して、簡単に産業用ロボットをシミュレーションおよびプログラミング。 オブジェクトをクリックアンドドラッグしてレイアウトを作成し、ロボットをプログラミングできます。

プログラミングの経験は必要いらない。

オフラインプログラミング

オフラインプログラミングとは、生産環境外でロボットをプログラムすることです。 これにより、現場でのプログラミングによる生産停止時間が取り除けます。 シミュレーション機能と共に使うことで、生産セルを設置する前に、ロボットセルの複数のシナリオが検討できます。 おかげで、作業セルの設計でよくある間違いなどは、事前に予測できたりします。

オフラインプログラミングは、ロボットシステムの投資収益率を最大限までに上げる方法であり、適切なシミュレーションツールが必要となります。 新しいプログラムの採用にかかる時間を数週間から1日に短縮できるため、短期生産のロボット化が可能になります。

ロボットAPI

産業用ロボットをプログラムする為、最も最先端なAPIであるRoboDK APIへの完全アクセスを取得。

RoboDK APIで、好みのプログラミング言語と開発環境を利用して、あらゆる産業用ロボットをシミュレートおよびプログラミングできます。

RoboDK APIは、パイソンC#/.NetC++マトラボで利用可能。

ポストプロセッサー

望む効果のシミュレーションが得られたら、オフラインでわずか2クリックでロボットプログラムを生成(オフラインプログラミング)。

RoboDKポストプロセッサーは、40を超えるロボットメーカーのプログラム生成をサポートしています。

実例として、ABBロボット用に次のプログラムが生成されます。

ABB IRC5コントローラーのロボットをオフラインプログラミングした結果:

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

RoboDK APIを使用したプログラム例

# 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)