「ロボットプログラミング」
ワンモア豊中/千里中央
ワンモアでは定期的に新しいプログラムを実施しています。今回は、リモートワーク増加に伴い、ITスキルを学びたいという方が多くなっているかと思います。そこでワンモアでは大阪府職業開発能力協会様よりITマスターの講師をお招きし1月から全6回にかけてロボットプログラミング講座が開かれました。ITマスターとは情報技術関連職種で高いレベルの技能、一定以上の実務経験、指導力を持ち、厚生労働省の認定を受けた熟練技能者のことを指します。
✔今回の内容 ロボットプログラミングとは? ・プログラミングとは、コンピューターにやってほしいことを理解できる言葉(プログラム)にし、それを順番に作る作業 ✔講座の様子 ・ビュートローバーARM ・TOMOT-Aro1 ✔プログラミングから学ぶこと ・プログラミング的思考 ・問題解決能力や忍耐力 ・成功体験により自信がつく |
ロボットプログラミングとは?
プログラミングと聞くと「長くて難しい暗号のようなもの」や「パソコンスキルに長けた人がやるもの」とイメージする方もいらっしゃるのではないでしょうか。私自身も興味はあったのですがなかなか実践するまでには至りませんでした。
そもそも「プログラミング」とは何なのかについてお話したいと思います。まず、「プログラム」とはコンピューターにやってほしいことを理解できる言葉にしたものを言います。そして、「プログラミング」はそのプログラムを順番に作る作業のことをいいます。イメージとしては体育祭の種目や合唱コンクールの演目がプログラムにあたり、それを順番に書き出す作業がプログラミングということになります。そして、プログラミングをする上で必要になるのが「プログラミング言語」です。「プログラミング言語」はコンピューターと人間の仲介役すなわちコンピューターが理解できる言語のことをいいます。これにより人間はコンピューターに命令を出すことができるようになります。
このプログラミングを応用することでゲーム・アプリケーション・Webサイト・プログラミングロボット・システムの開発、単純作業の自動化など日常生活のみならず業務の効率化も図ることができます。馴染みのあるものでいうとLINEやInstagram、Nintedo Switch、ソフトバンクのPepper、銀行のATMもプログラミングによって作られています。また、これらのプログラミングを扱う職業としてはプログラマーやWebデザイナー、ゲームクリエイター、システムエンジニア、Webディレクターなどが挙げられます。
近年ますますIT業界の需要が高まってきており、今では小学校を含めた義務教育課程で「プログラミング教育」が導入されるまでになりました。また、それに伴い産業分野へのロボットの導入も今後さらに増えていくことかと思います。一見ロボットの導入はいいことばかりに思えますが、少なからずデメリットもあります。メリットについて、ロボットはAI(人工知能)によってこれまで人が担当していた作業を代わりに行う役割があるため、人件費を削減することができます。それにより人材不足を解消することにもつながります。また、作業の自動化によって人よりも早く作業できるようになるため、生産スピードが向上し、同じ時間内でも生産できる量を増やすことができます。このようなメリットに対しデメリットは、初期費用が高額なこと、不具合への対応が困難なこと、誤作動による怪我のリスクがあることが挙げられます。ロボット1台購入するにも最低でも数十万はかかるため費用対効果に見合っているか検討しなければなりません。不具合への対応については、有識者が必要になり、一度不具合が発生してしまうとタイムロスにもなりかねません。誤作動による怪我のリスクについては、AIといっても機械のため誤作動はつきものです。より一層日々のリスク管理が必要になると思います。このように、ロボット導入については今後もまだまだ課題があるように思います。
ワンモア内での講義の様子
前項では「そもそもプログラミングとは何か」から始まりロボットについてもお話しました。本項では実際のロボットプログラミング講座の様子についてお伝えできたらと思います。
今回ワンモア豊中では技術者育成のためではなくまずはPCに苦手意識のある方でもプログラミングの楽しさを感じていただくことを目標に実施しました。講座ではプログラミング学習用教材ロボット「ビュートローバーARM」を使用しました。本体には赤外線センサが裏側に2個搭載されており、障害物検知・ライン上を走らせるライントレース・赤外線ボールの追跡などのプログラムを行なうことが出来ます。このロボットでは、C言語の開発環境から学習する方法(テキスト型プログラミング言語)と専用ソフトを用いて学習する方法(ビジュアルプログラミング言語)の2通りあり、今回は専用ソフトである「ビュートビルダー2」という命令ブロックを矢印でつないでいき、図1のようにフローチャートを作成することでプログラミングできるソフト(ビジュアルプログラミング言語)を使用しました。このソフトでは、前進・旋回やセンサ入力による分岐などのブロックを置いていくだけでロボット本体を制御することができます。また、PC操作もマウスのドラッグ&ドロップ操作がメインとなっておりロボットプログラミング初学者のみならずPC操作が苦手な方でも扱いやすいものになっていました。
1回目の講座では前半に講師のお二人にITに関する仕事やプログラミングについてのお話しをしていただきました。後半は実際にロボットとソフトを使用しそれぞれの機能について学びました。まず初めに赤外線センサを黒のラインに合わせ、センサが読み取る数値の変化を記録し、左右にある赤外線センサがそれぞれ担う役割を確認しました。そして、「前進」や「止まる」のブロックを用いて基本的なプログラムを作成しました。私自身プログラミングを学ぶのが初めてであったためロボットがプログラムした通りに動くだけでも思わず嬉しくなりました。
下記にあるような記号を使ってロボットの動きを決めていきます
図フローチャートの種類例
処理内容 | 記号 | 機能 | 記述例 |
開始/終了 | □ | フローチャートの 開始と終了を表す | 開始/終了 |
処理 | ○ | フローチャートで 行う処理を表す | まえにすすむ 止まる うしろにもどる |
条件 | ◇ | 処理を分岐する判定条件を表す | IFセンサ1<0 |
反復 | ◎ | 反復処理の開始と 終了を表す | LOOP |
2回目の講座からは本格的にプログラムを作成し、ライントレースを実施しました。ラインに沿って動くように条件分岐ブロックを用いて細かい調整をするのが大変でした。回を重ねるごとにコースも複雑になっていき、何度も試行錯誤する受講者の様子がうかがえました。
5回目の講座では番外編として株式会社日本ビジネスデータープロセシングセンター様(以下、日本データー様)の講師による「TOMOT-Aro1」というロボットについてご講義していただきました。日本データー様によると、「TOMOT-Aro1」は、これからの教育現場で求められている最新技術や次世代技術を学習できる教材であり、環境構築不要のため導入が容易で簡単に教える・学ぶことができるカリキュラム化されたロボット教材であるとのことです。今回は、「TOMOT-Aro1」のいくつか機能があるうちの、「ティーチング制御」という機能を体験させていただきました。予めロボットにさせたい動きをティーチングし、それをロボットが記憶し動きを再現するという仕組みでした。頸・肩・肘・股・膝の関節を自在に動かすことができますが、バランスが崩れてロボットが倒れないよう慎重にポーズを考える必要がありました。ある程度の仕組みを理解した後は、グループごとに分かれてロボットにティーチングするポーズを10パターン考えました。その後、全体で披露したのですが、どのグループもユーモアなポーズを考えておられ大変盛り上がりました。私の中では特にスクワットをしてドリンクを飲むポーズが印象に残っております。スタッフが審査員を務め、優勝チームには日本データーの講師より「TOMOT-Aro1」のカッティングボードが贈呈されました。
最終講座ではこれまでに学んだプログラミングを活かしてタイムレースを実施しました。ライン上を3周走らせてスタート地点で止まるまでのタイムを競うもので、初めはスピードが速すぎるあまりコーナーでコースアウトしてしまう方も何名か見受けられましたが、細かいスピード調整を重ね、最後には受講者全員がコースアウトしないように走らせることができました。また、上位の方には景品も贈呈されました。
プログラミングから学ぶこと
プログラミングは課題に対して自ら計画し、それを実行することですぐに結果が可視化できるものです。そのため、物事を体系的に整理して順序立てて考える「論理的思考力」すなわち「プログラミング的思考」を学ぶことができます。また、問題が発生した原因を分析・推測し、解決策を考え、改善しようとする問題解決能力や思うようにいかなくても諦めずに取り組む忍耐力が身につくのではないかと思います。そして、自分が計画したプログラムを遂行できたことによる成功体験も得られ自信につながるのではないかと思います。これらは就労場面においても必要なことであると思います。そのようなプログラミング能力以外にも仕事をするうえで必要な能力が身につくロボットプログラミングに私は大変魅力を感じました。また、最近では障害者雇用の求人でプログラミング業務を必要とする企業を見かけるようになりました。今後は楽しくプログラミングを行うのと同時にこれらの能力を学べるような定期プログラムとして導入していけたらと思います。