スリーアップ・テクノロジー 臨地実務実習

大阪国際工科専門職大学 情報工学科4年:吉村友希

こんにちは!頑張ることが好きな男、

吉村友希(よしむらともき)です!

私はロボットコースに所属しており、大学生活では自己研鑽のために様々な分野に挑戦しています。

技術者志望でありながら、ビジネス的な視点も身につけるために、最近では企業志望の学生向けイベントに参加しています。

常に新しいことに挑戦し、成長を続けることが私のモットーです。

興味深いプロジェクトに取り組みながら、皆さんと一緒に学び、共有していきたいと思います!

スリーアップテクノロジーさんには、技術者としてのスキルを磨くだけでなく、プロジェクト管理やマーケティングなど、ビジネスに不可欠な知識を身につけたいという思いで実習先に決めさせていただきました。この実習を通じて、

技術とビジネスの両面で成長し、将来的に幅広い視点で物事を考えられるエンジニアに近づきたい!!と考えています。

~Open VLAを用いたDENSOロボット制御システム~

実習のメインテーマです。では、そもそもOpen VLAとはなんなのか、説明していきます!!

OpenVLA(Open Vision-Language-Action)は、視覚と言語情報を統合し、産業用ロボットの制御を行うためのオープンソースモデルです。

スタンフォード大、カルフォルニア大、MIT、TOYOTA、Googleが共同開発しており、その時点でかなり期待されているということが分かります。

主にLlama 2ベースの言語モデルとDINOv2およびSigLIPビジュアルエンコーダを組み合わせており、制御したいロボットを迅速に適応させることができます。

そして、なんといってもこのモデルのすごいところは。様々なロボットの97万エピソードものデータを学習しているところです。

とても簡単に言うと、

テキスト命令とリアルタイムの画像データを入力として、ロボットの座標の指令値をだしてくれるモデル


ということです!!

これを初めて知った時はAIがロボット制御する時代が来たか、と感動しました!!

実習最初の方は500ダウンロードだったモデルも、実習最終週にはなんと40000ダウンロードを越えています!!

ロボット関係のAIモデルとしては異例の数字なので、どれほど注目されているかを実感しました!!

実装までのフロ―

実装までのフローをとっても簡単に示すと以下のようになります!!

それぞれのSTEPの作業を簡単に示していきます。

STEP1:環境構築

環境構築で行った作業は、カメラの取り付けとソフトのセットアップです。

Open VLAではリアルタイムの画像データが必要になるので、ハンドと作業のフィールド全体が見えるようにカメラを取り付けました。

ソフトについて、実習開始時はDENSO Robotが対応しているROSを使うつもりでいました。

ROSの環境構築は普通のソフトとは違い、かなり複雑で作業工程が多かったので、ROSを通して制御することはかなり難しいものでした。

開発の途中であまりに時間をかけてしまいそうだったので、途中からはDONSO Robotが内部で行っているb-cap通信を使って直接pythonで動かす方向性に切り替えました。この時の三上さんの決断力はとても勉強になりました!!

STEP2:モデルのファインチューニング

このSTEP2が、この実習のメイン部分です。ファインチューニング(追加学習)をするにあたって、なぜ必要なのか、どうやって実現するのかを説明します!!

ファインチューニングをする理由

このOpen VLAは上記の通り、97万エピソードを学習しています。おそらくですがその中にDENSO Robotは含まれていないので、事務所にあるDENSO Robotに合わせたモデルにする必要があります。それが、ファインチューニングをする理由です。

どうやって実現するのか

ファインチューニングに必要な学習の要素は、以下の3つです。

命令文

ロボットの座標の変化量

リアルタイムの画像

これらのデータをファインチューニングさせることで、DENSO Robotに適したモデルにすることができます。

その為に、Robotを手動で制御し、データセットを作成するプログラムを制作しました!!

なんとPS5のコントローラのスティックやボタンでリアルタイム制御できるのです。。。

○○ボールを取れ!という命令と、手動でボールを取った時の座標の変化量、2fpsごとに撮影した画像をデータセットに保存できました。

これでファインチューニングの準備は完了。

STEP3:モデルの推論結果をロボットに送信

ファインチューニングが終了しました。ようやくここまできたと思い、一度推論結果を見てみると数値がダメダメでした。

もともと動いていた変化量とは全く違った内容が出力され、原因もわからず、望んできた数値が出てきませんでした。

私はAI学習のコードや推論のコードの知識が皆無で、コードの勉強も挑戦したものの、時間の無い中では全く間に合わなかったので、ファインチューニングと推論は完成しませんでした。この点は特に私たちの技術力では厳しいと判断し、三上さんにも助けていただいたのですが、おそらくファンチューニングのやり方に問題があるのだろうというところで、実習の第一の目標であったOpen VLAを用いたDENSOロボット制御システム開発は達成できませんでした。

しかし、この開発の中で得られたものはとても多くありました。次はそれを記していこうと思います。

この実習で学べたこと

この1か月半の実習で学んだことが、技術的な観点と、生活面の観点で1つずつあります。

技術面

技術面での学びは突破力です。

今回の開発は、世界的に見ても先駆者がいない内容なのでネットで調べてもデータもなく、chatGPT4oもわからない内容でした。

そんな中で、理解するまでに時間がかかりすぎるものもあり、同じところでずっと手こずっていました。

また、ロボットの通信等でトラブルがあった際などでも、手こずってしまいました。

そんな問題を解決するためには、突破力が大事だったのです!例えば、分からないことを時間をかけてできないなら、別の方法を取ったり、とりあえず動かしてみる!の精神で動かなければそのエラーを解決していくなど、基礎からではなく完成から物事を見るのです。

これは経験で得られる部分もあると思うのですぐ身に着けれるものではないですが、意識するだけでも違うと思うので、学校でも社会に出ることになっても、心がけていきたいです。

生活面

生活面での学びは行動力です。実習中に他の起業している方ともお会いさせていただく機会があり、熱量と行動力に圧倒されました。

これまでのお話や現在どんな気持ちで働いているかのお話を聞いて、自分の中で長所であった行動力がまだまだ足りないことに気づかされました。

新しいことに対する挑戦の姿勢や、一般企業に就職することと個人で起業する違い、会社の稼ぎ方やビジネスについてとても勉強になりました。

これからは少しずつでも自分の価値を希少な存在にできるように意識しようと思いました!!

最後に

自己紹介の部分でも記載しましたが、今回私は技術とビジネスの両面で成長し、将来的に幅広い視点で物事を考えられるエンジニアに近づきたい!!という思いの元この実習に参加させていただきました。スリーアップ・テクノロジーさんで過ごす1か月半は本当に刺激的で、目標に近づくための想像以上の成長につながりました。

今のこの熱量を忘れることなく、社会人になっても挑戦し続ける人間でいられるように頑張ります。

スリーアップ・テクノロジーの三上さん、お忙しい中実習を受け入れてくださり、本当にありがとうございました!!

また、最後までこのブログを読んでくださった皆さん、ありがとうございます!!