技術開発日記

ちょっとしたものづくりや電子工作のメモなど。技術開発とは今は呼べないかな。

ロボット中級者とはなんなのか

別に結論があるわけでもないのですが。

この記事を書き終わって読み返して思うのは、もう少しに気軽に中級者を名乗れるくらいの界隈のほうが楽しいのでは?ってとこですね。初級者のコースを一周したら中級者!ってやつですね。

ちなみに界隈によっては初級者と初心者を使い分けたりするようですが、そこまで考えてはいません。

自分のロボット経歴は初級者まで?

私は今でこそロボットを趣味にしていますが、課程として体系立てて学んだことはありません。大学は機械科ですが「バイオ系」のラボでしたし。

就職の際に配属ガチャでロボット部門になったものの、諸般の都合や自分が無能さが原因で「パワポエンジニア」とならざるを得ず、自分なりの製作意欲が満たされないために、趣味として手を出したのがキッカケです。

そこからOpenCVArduinoIntel Edison、Raspberry Pi、ROSと興味を移しつつ、基本は自走ローバーやドローン(Parrot Mamboの改造)なんかを作っていました。

Arduinoはこの本で(後半は機体製作の手間が大きく断念した)一通りのことを学びました。
books.rakuten.co.jp

Arduinoで衝撃だったのが、「シリアル通信でPCと通信し、PC上のプログラムに応じてボードが動く」ことを理解したことですね。概念としてずっと必要性は認識しつつ方法は検討もつかなかったことで、これで一気に世界が広がりました。


機体についても徐々にパワーアップし、Makeblockという深センの企業(今はSTEMキットを売っているが当時は個別部品の通販ができた)のパーツで自前でロボットを組んでいました。

f:id:ktd-prototype:20190722230911j:plain
当時組んでいたロボット(Parrot Mamboが乗っているが特に連接はしていない)

ROSはこの本から入りました。初めてのOSデュアルブートです。
books.rakuten.co.jp

初級者とは?

ハウツー本のとおりに作れる

・・・とまあココまでで覚えてきたことの延長で基本的に今のロボット趣味も動いています。
基本的には「手取り足取り教えてくれる(言われた通りに部品を組んでコードを書けば動くような)手本があればそれを再現できる」というやつです。ハウツー本の写経とそのアレンジ&組み合わせですね。

この範囲が初級者な気がします。

最近の進捗は

  • 新しいものを作った
  • 新しい通販サイトを見つけてモータの出力が上がった
  • 3Dプリンタを手に入れて部品選択の幅が広がった

・・・ことによるもので、本質的には技術が向上したわけではありません。初心者コースを修了し、そのままそのコースを周回するスピードを少しずつ増しているイメージですね。

ハウツー本のアレンジや組み合わせも初級者の範囲?

中級者よりの初級者って所でしょうか?

なにができたら中級者なのか?

一般的には?公式ドキュメントの読解能力?

自分で初級者とかいう分類を持ち出してなんですが、中級者がなんなのかと言うと、正直よくわかりません。

ただ、逆に言えば「初心者向けハウツー本やそれに準じた詳細さの技術ブログ」に縛られなくなったら中級者なのではないかと思えます。

初級者の場合「ハウツー本や技術ブログ」が見つからないものは作れません。
もう一歩先に行くには「各パーツやソフトウェアパッケージのデータシート、公式ドキュメントを読んで動かせる」という能力が必要になってくる気がします。
これが意のままにできるようになったら中級者というイメージですね。製作の幅がぐっと広がりそうです。

ただまあ、昨今の多くの器材はドキュメントが充実していて、英語に対する心理的障壁さえ乗り越えればほぼ「手取り足取りの」ガイドが手に入るため、この定義も曖昧になりますが。

この定義に沿うと、近藤科学のサーボをコマンドリファレンスを参考にPythonで動かせるようにしたというのは、結構中級者っぽい動きだった気がします。
ktd-prototype.hatenablog.com

設計能力というのもあり?

「必要な要件を定義して、個々のパーツや機能モジュールの必要性能を導出し部品選定や製作ができる」ということでも良いかも知れません。

課程として工学を学ぶとその領域における「設計手法」みたいのは習うはずですので、その延長でしょうか。
ザックリ必要スペックを洗い出すくらいならその範囲でできますから中級者としてちょうどいいと思いますが、ものすごく厳密に安全性(率)、達成率、処理時間等を加味し始めると、かなり上級者寄りかもしれません。

移動ロボットの場合だと?大域的情報に基づく自動走行?

結局これが言いたいだけで、しかも非常に恣意的な話になるのですが、移動ロボットの場合だと、「多少なりとも大局的な情報に基づく自動移動がさせられるか」というのがもう一つのポイントになる気がします。

超音波やIRを用いた測距センサで衝突防止とか落下防止というのはよく聞きますが、それは都度都度のセンシングに過ぎません。

センサ自体は上記でも構わないのですが、過去のセンシング結果も用いたマッピング、現在のセンシング結果とのマッチング、それを活用した経路計画と追従・・・となってくると、移動ロボットとしては一人前な気がするのです。

飽きて凍結していましたが、自律ローバーを作り始めたのはこれを実践することで(せめて自分の脳内だけでも)中級者を名乗りたい、という欲望があったからです。
ktd-prototype.hatenablog.com


ようやく製作意欲が戻ったと思ったらまた新しい機体に浮気していますが笑、こちらについても初心を忘れること無くやっていこうと思います。
浮気した機体↓



じゃあ上級者は?

わかりません。

専門性を増すほどスキルも細分化・深化していくものだと思うので、ロボットの上級者というもの自体、概念的なものかもしれません。

強いてあげるとすれば

安定稼働

屋内でも野外でも、製作中のロボットの試運転用に恣意的に選択した、あるいは整備した場所「以外」で、中級者が製作した相当以上のロボットが安定して動いたらOK、とかでしょうか?

設計性能の反映と再現

前述の「安定して動く」とは何なのかとか、突き詰めるとキリがありませんが、設計が細部まで煮詰まっていた場合には、「その通りに製作し実世界で動かせる」ことをポイントにしても良いかも知れません。

カタログスペックだけでなく実スペック、安全率、性能指標の達成率、寿命等も含めた設計性能の再現です。


収入を得られる

それでお金を取ったらOK、とかでも良いかも知れません。