オフライン・プログラミング
RoboDK付き

直感的でユーザーフレンドリーなインターフェイスを使用して、産業用ロボットアームのシミュレーションとプログラミングを簡単に行うことができます。オブジェクトをクリック&ドラッグしてレイアウトを作成し、ロボットをプログラミングできます。

RoboDKソフトウェアのプログラミング経験は必要ありません。

RoboDKソフトウェアの詳細はこちら

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

オフラインプログラミング(またはオフラインプログラミング)とは、生産環境の外でロボットをプログラミングすることです。オフラインプログラミングは、生産現場でのプログラミングによる生産停止時間をなくします。

シミュレーションとオフラインプログラミングにより、生産セルをセットアップする前に、ロボット作業セルの複数のシナリオを検討することができます。作業セルの設計でよくあるミスを時間内に予測することができます。

オフラインプログラミングは、ロボットシステムの投資対効果を最大化する最良の方法であり、適切なシミュレーションツールを必要とする。新しいプログラムの導入にかかる時間を数週間から1日に短縮することができ、短納期生産のロボット化を可能にします。

ロボティクスAPI

RoboDK APIは、ロボットアームをプログラミングするための最先端のAPIです。

RoboDK APIを使えば、お好みのプログラミング言語や開発環境を用いて、あらゆる産業用ロボットのシミュレーションやプログラミングを行うことができます。

RoboDK API は以下の用途に利用できます。 Python, C#/.Net, C++ そして Matlab.

RoboDK APIについてもっと知る

ポストプロセッサー

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

RoboDKには 100 以上のポストプロセッサが含まれており、 1200 以上のロボットと 80 以上のロボットメーカーのプログラムを生成することができます。

ポストプロセッサーについて詳しくはこちら

例として、以下のプログラムが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を使ったプログラム例

# ターゲット1の周りに六角形を描く
from robolink import *    # RoboDK API
from robodk import *      # ロボット用数学ツールボックス
 
# RoboDK APIを起動します:
RDK = Robolink()
 
# ロボットの回収
robot = RDK.Item('', ITEM_TYPE_ROBOT)
 
# ターゲット・リファレンスを取得する:
target = RDK.Item('Target 1')
target_pose = target.Pose()
xyz_ref = target_pose.Pos()
 
# ロボットを基準ターゲットに移動させる:
robot.MoveJ(target)
 
# 基準ターゲットを中心に六角形を描く:
for i in range(7):
    ang = i*2*pi/6 # 角度 = 0,60,120,...,360
    R = 200        # 半径
    
    # 新しい位置を計算する:
    x = xyz_ref[0] + R*cos(ang) # 新しいX座標
    y = xyz_ref[1] + R*sin(ang) # 新しいY座標
    z = xyz_ref[2]              # 新しいZ座標
    target_pose.setPos([x,y,z])
    
    # 新しいターゲットに移動する:
    robot.MoveL(target_pose)
 
# 移動終了時にプログラムコールをトリガーする
robot.RunInstruction('Program_Done')
 
# リファレンス・ターゲットに戻る:
robot.MoveL(target)