Universal Robots社のURロボットは世界で最も売れている協働型ロボットである。人気のポイントは従来型の産業用ロボットと異なり、人と接触しても安全性が高いために、ロボットを安全柵の中に入れなくても使えることである。
URロボットは、前回解説したRethink Robotics社のSawyerロボットのように、アームを手で軽く動かすことはむつかしそうだが、大まかには動かせるので、残りの細かい位置・姿勢の設定だけをTeaching Pendantでやればよい。
今回のテーマはUR ロボットのアカデミーのWebサイトで学ぶことができる。
独特なロボット言語体系を持つが、命令言語を直接打ち込むのではない。ノートパッド型のティーチングペンダントで命令ボタンなどを選択しながら、アームを動かして設定したい位置姿勢などを記憶させ、プログラムを完成させる。文字入力にはウェート時間や負荷質量などがある。UR社ではストレートフォワードなプログラミング方法だと宣伝している。理解しやすいと思う。
プログラミングは下図1のようなempty(空の)プログラムから始まる。
次に、Moveボタンを押すと、Move命令と仮の移動目標位置がWaypointとして表示される(図2)。WaypointがMove命令と同行ではなく、一段下にインデントされて配置されのが特徴である。ロボットアームを手で動かすか、またはティーチングペンダントを使って最初のWaypointまで動かしてOKボタンを押すと、仮のWaypointが実際のWaypoint_1に変更される。同じMove命令(Movej,Movel,Movep,Movec)が続く場合は、Move命令は省略してWaypoint(Waypoint_1,Waypoint_2,...)だけが並ぶのが特徴である(図3)。
図2
同様にして、最後の点までを記憶させてゆく(図3)。
図3
次に、Waypoint_2で品物を把持させたければ、Waypoint_2に移動した後にハンドを閉じる命令
Set TO[0]=On
を設定して、ハンドを閉じ品物を掴む。把持すればハンドに品物の質量が負荷されるので、Set命令の設定テーブルの中で
Set the total payload to 1.6 kg
として指定し、負荷質重を外力(外乱)と間違えないようにする(図4)。
次に、ハンドが品物を掴むまでにかかる時間を Wait命令で
Wait 1.0 second
として、Waypoint_2で確実に品物を把持してから、MoveLでWaypoint_3(図5)へ移動するようにする。
図5