産業用ロボットSIer 300社掲載

2021.03.31

産業用ロボットの制御に使用するプログラミングや言語について詳細に解説

産業用ロボットに動きを教えるための「ロボットティーチング」にはさまざまな手法がありますが、中にはプログラミングで動かす方法もあります。

本記事ではロボットティーチングの種類について解説した上で、どのようなプログラミング方法があるのかを解説します。産業用ロボットのプログラミングで使用されるSLIM言語やティーチング時に義務付けられている資格についても紹介しているので、ぜひ参考にしてみてください。

この記事の結論

・産業用ロボットのオフラインティーチングではプログラミングを使う
・オフラインティーチングにはテキスト型・シミュレータ型・エミュレータ型・自動ティーチング型の4種類がある
・産業用ロボットのプログラミングにおける標準言語はSLIM言語
・ロボットティーチングには特別教育の受講が必須

産業用ロボットのオフラインティーチングでプログラミングが必要

産業用ロボットに作業内容を教えるために実施するロボットティーチングの種類は次の4パターンに大別されます。

  • コンピュータやティーチングボックス上で行う「オフラインティーチング」
  • ロボット実機を操作しながら行う「オンラインティーチング」
  • 作業者がロボット本体を直接動かしながら行う「ダイレクトティーチング」
  • AIの自己学習機能を利用する「ティーチレス」

このうちプログラミングが必要になるのは「オフラインティーチング」です。

プログラミングを使用したオフラインティーチングの種類

オフラインティーチングにおけるプログラミング方法は4つの種類に分類できます。

  • テキスト型
  • シミュレータ型
  • エミュレータ型
  • 自動ティーチング型

詳しく見ていきましょう。

テキスト型とは

テキスト型とは、プログラムを直接テキストエディタ上で書いていく最もシンプルな方法です。比較的単純な動きや、同一形状物の搬送などをティーチングする場合に活用されています。

シミュレータ型とは

シミュレータ型とは、コンピュータ上でロボット動作のシミュレーションをしながらプログラミングを行う方法です。

この方法の特徴としては、ロボット言語のコンパイラを実行することで、異なるメーカーのロボットであっても共通のプログラムを適用することができる点が挙げられます。
また、シミュレータ型のメリットには、ロボットを実際に動かす前に動作の確認が行えるため、金銭的なコストだけでなく、時間コストの削減ができます。

ただ、シミュレーション上の動作と、実際の動作に多少の違いが発生してしまう場合がある点は注意が必要です。

エミュレータ型とは

エミュレータ型とは、基本的にシミュレータ型と似ていますが、コンパイラが不要でロボット言語を直接実行できる点がメリットです。

エミュレータ型では疑似環境によるロボット実機の動作検証ができるため、プログラムの精度が向上します。

このようなメリットが多いことから既存のロボットに多数採用されています。
注意点として、エミュレータ型は比較的単純な動きに対してのみ有効であり、複雑な動きには適していません。

自動ティーチング型とは

自動ティーチング型とは、設計用のCADデータから動作プログラムを自動生成する方法で、コンピューターのソフトウェアを使用します。
しかし、この方法は技術的な難易度が高いことから現場での導入は進んでいないという状況があります。

自動ティーチング型は、製造業界において大きな効果を持つ技術ですが、実装には高度な技術と豊富な経験が必要です。

そのため、将来的に自動ティーチング型が主流となることが予想されますが、現時点では、導入する際は、慎重に取り組む必要があります。

産業用ロボットのプログラミングで使われる言語とは

産業用ロボットのプログラミングには、SLIM(Standard Language for Industrial Manipulators)という言語が標準言語として使用されています。
SLIM言語とは、異なるロボットメーカーのロボットを共通のプログラムで使用できるために開発されたプログラミング言語で、手続き型プログラミング言語のBasicに似た文法形式を採用しています。

SLIM言語は1992年に日本産業規格を取得しており、SLIM言語をベースとしたオフラインティーチングシステムを提供しているロボットメーカーが数多く存在します。
SLIM言語を採用することにより、メーカーの異なるロボットを同じプログラムで制御することができることから、プログラムの再利用性が高くなります。

また、SLIM言語はプログラミング初心者でも学習しやすいとされており、教育用としても優れているといえるでしょう。

産業用ロボットのプログラムの作成と編集の方法

産業用ロボットのプログラムを作成・編集する方法には次の2種類があります。

  • ティーチングボックスを使う方法
  • パソコンのソフトウェアを使う方法

ティーチングボックスを使う方法とは

ティーチングボックスは、ロボットのティーチペンダントに付属しているリモコン状の機器を指し、操作を実行するためのコマンドの入力時に使用します。

一般的なティーチングボックスにはキーボードが備わっていますが、画面上に表示されるコマンドの選択肢から選択する方法と、1文字ずつコマンドを入力する方法があります。
ただし、メーカーにより操作方法が異なるので、マニュアルの確認が必要です。

また、ティーチングボックスは、動作速度や範囲、方向などを指定することもできます。
これらの設定を使用することで、よりロボットを正確に操作することが可能です。

このことから、ティーチングボックスは製造現場などでの作業効率の向上には欠かせない装置だといえます。
最近では、より直感的な操作方法を採用した使いやすいティーチングボックスの開発が行われており、さらに使いやすくなるよう進化を遂げています。

パソコンのソフトウェアを使う方法とは

ロボットのプログラム作成は、基本的に専用のソフトウェアを使用します。
各ロボットメーカーが開発した専用ソフトウェアを使用することで、より効率的にプログラムを作成できます。

専用ソフトウェアは、パソコン上で起動してシミュレーションや動作確認を行いながらプログラムを作成します。
実際にロボットを動かす前に、動作の正確性や安全性を確認することが可能です。

また、USB接続などでパソコンとロボットのコントローラを接続することによって、パソコン上で作成したプログラムや位置データなどをロボットに送信することができるので、現場でのプログラム作成や設定の変更が簡単に行えるようになります。

このように、専用ソフトウェアやパソコンを使用することにより、ロボットのプログラム作成や設定の変更が簡単かつ効率的に行えるようになりました。

産業用ロボットのプログラミングの命令の種類

ここでは、産業用ロボットのプログラミングで用いられる主な命令(処理)について紹介します。

  • 移動命令
  • 速度命令
  • 入出力命令
  • 繰り返し処理命令
  • 分岐・ジャンプ命令
  • 演算命令
  • その他

移動命令とは

移動命令は、ロボットを指定した位置へ移動させる命令です。
主に、直線補間と円弧補間の2つの動きを指定することができます。

直線補間は、始点と終点の2点を指定しておき、始点と終点を結ぶ直線上を動く動作です。ロボットがある位置から別の位置へ移動する場合に使用されています。

円弧補間は、中心位置、回転方向、終点の3点を指定しておき、コンパスの要領で円弧を描くように周回する動作です。この命令は、曲線的な動作が必要な場合に使用され、円形の部品を掴むときなどに使用されています。

移動命令は、プログラミングにおいて基本的な命令の一つであり、精度や速度などのパラメータを細かく調整しておくことで、更に正確な動作が可能となります。

速度命令とは

ロボットのプログラムには、移動速度に関する命令が含まれており、移動速度は作業の効率化や品質の向上に関わります。

一般的な命令には、分速(mm/分)や倍速(%)があります。
分速はロボットが1分間に移動する距離を指定する命令で、倍速はロボットが設定された速度の何倍で動くかを指定する命令です。

他にも、加減速時間を設定することで動作を滑らかにすることができ、製品の加工精度やワークの停止位置精度を向上させることができます。
加減速時間を最適化することで、製造工程にかかる時間(タクトタイム)を短縮することも可能です。

近年では、ロボットのセンサ技術や画像処理技術の向上から、移動速度の制御だけでなく、動作範囲や力の制御などの高度な命令が可能になり、自動化や柔軟な製造ラインの高度な構築が可能です。

入出力命令とは

入出力命令は、ロボットや機器が外部機器とデータ通信を行うために使用される命令です。これらの命令をうまく活用することにより、ネットワーク接続やBluetoothなどを通じたデータ通信が可能です。

特に、工場の「スマートファクトリー」施策では、機器同士をネットワークで接続することが重要なため、入出力命令は欠かせない命令です。

近年では、入出力命令の技術革新により、機器同士の通信がよりスムーズに行われるようになったことから製造プロセスの効率化に貢献しています。

繰り返し処理命令とは

繰り返し命令とは、ロボットに特定の動作や処理を、一定時間、または一定回数の繰り返しを実行するために必要な命令です。
この命令を使用することで、単調な作業や繰り返しの多い作業を自動化することができます。

繰り返し命令には、一定時間を指定して繰り返す「時間指定繰り返し命令」と、繰り返す回数を指定して繰り返す「回数指定繰り返し命令」などがあります。
繰り返し命令は、その他の命令と組み合わせることで高度なプログラムを作成することができます。

分岐・ジャンプ命令とは

分岐・ジャンプ命令とは、異なる条件の場合に、次の動作を変えるための命令です。
ある条件が成立した場合と、成立しなかった場合に別の動作が行われるようにプログラムで制御します。
例として、検品作業中に、優良品と不良品を判別するために分岐・ジャンプ命令を使用する場合で説明します。
優良品の場合は次の作業に進む、不良品の場合は別の作業を行う、といったプログラムの設定が可能です。

分岐・ジャンプ命令では、プログラムの制御を柔軟に設定できることから幅広く使用されています。
ただし、プログラムが複雑になることで、制御フローが見えにくくなり、プログラムの保守性や可読性が低下する場合があるので注意が必要です。

演算命令とは

演算命令とは、四則演算や三角関数などの数学的な命令を指し、ロボットの制御や動作の精度を高めることができます。

演算命令では、ロボットが移動前の場所から移動後の場所まで行動する際に、距離や角度の計算を行います。そのため、数学的な演算を行いながら移動に必要な距離や角度を計算します。

また、ロボット特有の演算命令では、ワークの位置データを演算する命令があります。
ワークの位置データは、ロボットが作業を行う際の精度に影響するので、正確に演算することで、作業精度を高めることが可能です。

条件分岐などの制御命令をうまく組み合わせることで、複雑な動作を自動化することができます。

その他

ロボットメーカーによっては、塗装やハンドリングなどの専門作業にも対応できるオプション命令を用意している場合もあります。

産業用ロボットのティーチングやプログラミングには「特別教育」の資格が必要

ロボットティーチングの工程も含め、製造現場に産業用ロボットを導入する場合には、ほとんどの場合「特別教育」を受講することが義務付けられています。

産業用ロボットの特別教育で実施すべき内容については、厚生労働省「安全衛生特別教育規程」第59条3項で定められており、試験科目は次の2科目に分かれています。

  • 教示(ロボットに対し、位置や速さ、動作の順番などを教える業務)
  • 検査(ロボットの点検・調整・修理など、メンテナンスを行う業務)

このうち「教示」科目において、産業用ロボットのティーチングに関する知識やティーチングの実技が課されます。

産業用ロボットのプログラミング言語について

本記事では産業用ロボットのオフラインティーチングで使用されるプログラミングの概要や標準言語のSLIM言語、ロボットプログラミングで使用される命令の種類などについて解説しました。

オフラインティーチングにおけるプログラミング方法は主に4種類あり、エミュレータ型のプログラミング方法が比較的普及しています。ロボットプログラミングにおける標準言語としてはSLIM言語という言語が定められており、SLIM言語をベースとしたシステムを採用しているロボットも多数存在します。

産業用ロボットのプログラミングやティーチングに興味が沸いた方ははじめの一歩として、産業用ロボットの「特別教育」の受講をぜひ検討してみてください。

関連記事