趣味TECHオンライン | 趣味のモノづくりを応援するオンラインメディア

趣味のモノづくりを応援するオンラインメディア

VRでロボットアームを動かす


f:id:tokyo_ff:20191117021209j:plain

3台のロボットアームをそれぞれ頭部と両手用に役割分担させ、簡単なテレプレゼンスロボットを作成しました。

 

<投稿者:クワマイ @beet_lex

大学でロボットの勉強をしています。科学やアート、デザイン関係が大好きです。

twitter.com

www.youtube.com

kuwamai.hatenablog.com

移動する聖地―テレプレゼンス・ワールド

移動する聖地―テレプレゼンス・ワールド

 

 

動いてる様子

 

www.youtube.com

こんな感じで両手に持ったコントローラとアームの位置が同期します。HMDとカメラはパンチルト+上下移動を同期させるようにしました。トリガーの引き具合に応じてグリッパが開閉するので、ものを掴むこともできます。

【正規輸入品】Oculus Quest (オキュラス クエスト)- 128GB

【正規輸入品】Oculus Quest (オキュラス クエスト)- 128GB

 
【正規輸入品】Oculus Rift S (オキュラス リフト エス)

【正規輸入品】Oculus Rift S (オキュラス リフト エス)

 

 

きっかけはVtuber

www.youtube.com

以前からテレプレゼンスロボットやアバターなど、日常的にVRを使用するとどんな感覚になるのか興味を持っていました。Vtuberブームをきっかけにアバターを作り、こんな動画を撮ったりしてます。バーチャルにはそれなりに満足。ロボット工学を学んでいる身としてはリアルなアバターも作ってみたいと思い、今回の作品に至りました。

バーチャルYouTuberはじめてみる

バーチャルYouTuberはじめてみる

 
マニア必見!VTuber究極の解説本!行動経済学でバーチャルYouTuberの本質を分析

マニア必見!VTuber究極の解説本!行動経済学でバーチャルYouTuberの本質を分析

 

 

全体の構成

f:id:tokyo_ff:20191117021803p:plain

操作インターフェースはUnityで開発しました。カメラ映像をHMDに表示し、HMDとコントローラの位置を別のPCに送信しています。また、アームの関節角度の計算とロボットの制御にはROSを使用しています。UnityとROSの連携にはROS#というプラグインが配布されているので簡単に通信ができます。ROS#の使い方は以前ブログにまとめたので、よかったら読んでみてください。

kuwamai.hatenablog.com

Unityの教科書 Unity2019完全対応版  2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

 

 

アームを動かす

f:id:tokyo_ff:20191117022110p:plain

使用したアームは株式会社アールティさんが販売されていたRaspberry Pi Gibbonです。現在販売は終了していますが、製作に必要な部品やソフトウェアが公開されているため自分で作ることもできます。

products.rt-net.jp

 

アームの制御には公式で公開されているROSパッケージを使用しました。Topicと呼ばれる形式でアームの各関節角度を送るだけで動かせます。どのTopicがどのアーム用のデータなのかはTopicに設定したnamespaceで分けられているだけなので、簡単に右手と左手を切り替えたり、全部のアームで同じ動作をさせることもできたりします。ROS便利。

github.com

 

制御用のパッケージだけでなく、シミュレータも公開されているので実機を用いずに動作確認ができました。さらにコントローラの位置をrosbagという形式で記録しておくと、動作確認のたびにVR機器を操作する必要もないです。ROS便利。

www.youtube.com


アームの関節角度はNewton–Raphson法で解きました。計算できない姿勢が多かったりするのですが、とてもシンプルなアルゴリズムです。3自由度なら式を考えるのも簡単ですが書いてみたかったので実装しました。ごく簡単にですが、Newton–Raphson法を用いた逆運動学についてブログにまとめたので、よかったら読んでみてください。

kuwamai.hatenablog.com

 

MATLAB/Simulinkとモデルベース設計による2足歩行ロボット・シミュレーション (プレミアムブックス版)

MATLAB/Simulinkとモデルベース設計による2足歩行ロボット・シミュレーション (プレミアムブックス版)

 
“巧みさ”とロボットの力学 プレミアムブックス版

“巧みさ”とロボットの力学 プレミアムブックス版

 

 

ステレオカメラで立体視

f:id:tokyo_ff:20191117022441p:plain

カメラはZED miniを使用しており、立体的にロボットの視点を見ることができます。アームの手先部分を外し、3Dプリンタで簡単なマウンタを作成しました。ZED miniの寸法は下記リンクにあります。

support.stereolabs.com

 

こうしたテレプレゼンスロボットは無線で通信することが多いですが、めんどくさかったので今回は操作用のPCに有線で接続されています。アームとPCは無線LANで接続されているので、カメラ映像を何かしらの方法でストリーミングすれば完全ワイヤレスになります。ちなみにZED miniは立体視するだけでなく、SpatialMapping(3Dスキャン)やカメラ位置のトラッキングが行えて楽しいです。以前それらの機能を一通り使ってAR動画を撮影したので、よかったら僕のブログを読んでみてください。

kuwamai.hatenablog.com

 

アバター越しに書を嗜む

www.youtube.com

冒頭の動画ではとりあえず物を掴んでみたのですが、文字を書くことにも挑戦しました。僕は習字の授業は苦手だったのですが、アバターを通して行うとゲーム性が出てきて楽しいです。

f:id:tokyo_ff:20191117022643j:plain

これが書いた文字。左上から「寿」「くわ」自画像。力のフィードバックがないためかふにゃふにゃとしか書けないし、そもそも移動できないから自力でペンをとりに行けない。

VRは脳をどう変えるか? 仮想現実の心理学

VRは脳をどう変えるか? 仮想現実の心理学

 

 

要介護ロボット誕生

先輩や友人に手伝ってもらいながらロボットを操作していると、だんだん幼い子供かお年寄りになったような気持ちになってきました。ロボットが普及したらこうして人とロボットが助け合う場面は増えるのかなと思うと、ちょっと未来を体験してるみたいでとてもワクワクしました!今回は市販のアームでしたが、機会があれば自作アームにもトライしてみたいですね。

ホンダの新たな挑戦 元F1エンジニアの歩行アシスト開発奮闘記

ホンダの新たな挑戦 元F1エンジニアの歩行アシスト開発奮闘記

 

 

 

<投稿者:クワマイ @beet_lex

大学でロボットの勉強をしています。科学やアート、デザイン関係が大好きです。

twitter.com

www.youtube.com

kuwamai.hatenablog.com