ロボットを使用したり2軸直交ロボットを使用したりする場合、干渉してはいけない範囲、つまりロボット以外の機械や構造物が存在することがあります。
それらと干渉することによって、機器の破損や生産ラインが復旧できないということが発生してしまいます。
これらを防ぐためには干渉領域キューブと呼ばれるものを生成し、干渉しているかどうかを判定する必要があります。
キューブとは立方体という意味で、本来ロボットを使用することを想定しているため3次元での単位表現となっております。
このキューブをドライバ側で管理できる場合もあるのですが、2軸直交ロボットで設定が可能かよくわからなかったのと、自分のプログラム上で干渉するか判定していた方が管理しやすい(ブラックボックスを増やしたくない)ということで作成しました。
IAIのRSELを使用しCC-Linkで通信を行い、通信速度は5Mbps程度でしたので現在位置の情報もそれなりの速度で送られてきました。
実際干渉しそうな場合にも停止しましたので速度的には問題ないと感じましたが、本来ならドライバ側にキューブを作成するのが良いかと思います。
今回はST言語を使用した干渉領域キューブ作成方法をGX Works3を用いて紹介します。
広告
ST言語 干渉領域キューブ作成方法 GX Works3
干渉領域キューブ作成概略
Point.連立方程式を演算してY座標が干渉するか確認する
干渉領域キューブ プログラム例
Point.ST言語で干渉領域の座標演算すると簡単に記述することが可能
まとめ
・連立方程式を演算してY座標が干渉するか確認する
・ST言語で干渉領域の座標演算すると簡単に記述することが可能