直感的でユーザーフレンドリーなインターフェイスを使用して、産業用ロボットアームのシミュレーションとプログラミングを簡単に行うことができます。オブジェクトをクリック&ドラッグしてレイアウトを作成し、ロボットをプログラミングできます。
RoboDKソフトウェアのプログラミング経験は必要ありません。
RoboDKソフトウェアの詳細はこちらオフラインプログラミング(またはオフラインプログラミング)とは、生産環境の外でロボットをプログラミングすることです。オフラインプログラミングは、生産現場でのプログラミングによる生産停止時間をなくします。
シミュレーションとオフラインプログラミングにより、生産セルをセットアップする前に、ロボット作業セルの複数のシナリオを検討することができます。作業セルの設計でよくあるミスを時間内に予測することができます。
オフラインプログラミングは、ロボットシステムの投資対効果を最大化する最良の方法であり、適切なシミュレーションツールを必要とする。新しいプログラムの導入にかかる時間を数週間から1日に短縮することができ、短納期生産のロボット化を可能にします。
RoboDK APIは、ロボットアームをプログラミングするための最先端のAPIです。
RoboDK APIを使えば、お好みのプログラミング言語や開発環境を用いて、あらゆる産業用ロボットのシミュレーションやプログラミングを行うことができます。
RoboDK API は以下の用途に利用できます。 Python, C#/.Net, C++ そして Matlab.
シミュレーションの結果、希望する効果が得られたら、わずか2クリックでロボットプログラムをオフラインで生成することができます(オフラインプログラミング)。
RoboDKには 100 以上のポストプロセッサが含まれており、 1200 以上のロボットと 80 以上のロボットメーカーのプログラムを生成することができます。
例として、以下のプログラムが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
# ターゲット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)