SE道場 - 金型研磨ロボットシステムの開発 |     ✤ We Love Softbrain ✤ 

    ✤ We Love Softbrain ✤ 

        日々の仕事や、プライベートな趣味まで掲載しています。

 
皆さん、こんばんはビックリマーク
シニアAですクローバー
 
今日は、私が初めて作成したロボット開発を紹介する。
思えば、いろんなことがありました・・・・・

お客様との設計書レビューを控えたある日、担当取締役が『プロジェクトリーダのA君はいないかはてなマーク』とメンバに尋ねた。
今日は休みだと知ると、『設計レビューの資料を事前に見たいんだ。 誰かA君に連絡を取ってみてくれ』
 
こんな感じで事件が始まったのだが、時間が経つにつれ、おおごとになっていったあせる

・『印刷した資料はどこかに出てないかはてなマーク
・『Aさんに連絡が取れません』
・『サーバの中を調べましたが、それらしいファイルは見当たりませんン』
・『机の中を探しましたが、設計書らしいものは一つもありません』
・『Aさんのパソコンの中を調べましたが、ドキュメントらしい資料は週報しかありません』

など、週報には設計終了と書いてあったが、実際に設計はしていなかったようだガーン
だから雲隠れしたのだろう。
 
このAさんが行うはずだったシステムこそ、金型研磨ロボットシステムだったビックリマーク

ユーザとの打ち合わせの日は、取締役と私が行き、お客様に謝り、もう一度開発を進めることになった。

会社としても、赤字プロジェクトには要員は割けられないため、私1人でカバーすることになり、私としては『いざ出陣ビックリマーク』的な感じだった。

ロボットの概要としては、磨き職人がアームに取り付けた砥石で金型を研磨し、そのときのアームの3軸座標(X軸、Y軸、Z軸)を全て記録する。

その座標を使って、ロボットを磨き職人と同じように動かし、金型を磨くことだビックリマーク

CPUはインテル8080(8ビット)、割り込みコントローラ8259、カウンタ制御8253、ポート制御8255があり、アセンブラ言語で開発した。
 
開発の前半は、ロボットの肩・肘・手首それぞれに当たる部分の3軸座標を100ミリ秒毎に全て記憶した。
メモリが一杯になったらアラートする処理を組み込み、意外と簡単に完了したビックリマーク
 
開発の後半はロボットの真髄『磨き』の部分だ。
 
現在の座標から、次の座標に100ミリ秒後に到達するように、肩・肘・手首の各モータ(正転/逆転を含む)を設定して動かしたが、これは失敗だった。
 
目標座標に到達してから次の座標へ移動させるのでは、動きがぎこちなく、スムーズに磨けないことがわかった。
 
ここからは試行錯誤の連続ビックリマーク
プログラムを直しては検証、検証してはプログラムを直すのに2週間が過ぎたころ、ようやく固まってきた。

結果的には、目標の座標への道のりの半分まで進んだら、そこから次の座標に向かい、折り返し座標の場合は、目標の座標まで到達してから折り返す方法が、職人の磨き方に最も近いことが判明ひらめき電球
 
砥石で磨く動きはほとんど前後しかないことや、8ビットCPUが遅いことが原因で、先のプログラミングが最適だったようだ。
お客様の承諾を得て納品にこぎつけ、プロジェクトを完遂することができた。
 
1人祝杯を駅前の居酒屋であげ、セルフ反省会をおこなった生ビール
 
次回のSE道場は・・・『探索の極意(2)』ですビックリマーク
お楽しみに音譜
 
 

SE道場では、プログラミングの極意や開発の苦労話等、様々な記事を投稿していますビックリマーク是非ご覧くださいクローバー
 

 

1つ前の開発秘話は...