見出し画像

PICO4不具合解決(コントローラと突然死)

これマジ?日本語圏内で情報少なすぎるだろ…というわけで作りました。


PICO4不具合

症状の概要1:コントローラーの調子が悪すぎる。具体的にはオープンハンドが出せなくて、ピースサインがずっと出てくる。

中古のPICO4で、右手や左手のハンドジェスチャーがずっとチョキになる。トリガー押し込みなどは動作する。一方でSteamVRでは右トリガーがずっと押されていると判定される。机にコントローラおいてもしばらく改善されず、1分ぐらい?放置してコントローラがスリープに入って復帰させると正しく認識されるが装着している間にまた押しっぱなしになる。

症状の概要2:クラッシュしまくるというか突然死ぬ

VRChatでエラーワールド飛ばさるようになり、突然クラッシュする症状が出てきた。

コントローラでピースしか出ない問題

暫定対応したい場合、バインドで何とかする場合を追記しました。
そのあと、物理的に何とかする話を書きました、試してみてね。

暫定対応:コントローラーON/OFFで一時的に何とかしたい場合

電池パック抜いたり刺したりでとりあえず元に戻る場合。コントローラーのON/OFFで何とかなります。
赤い丸で囲んだ〇ボタンを長押しすると、対応したコントローラーがブルブルと震えて電源が落ちます。もう一度押すと電源が入ります。
一時的にこれで治ります。

出典:PICO4ユーザーマニュアルより

バインドで何とかする:SteamVRでトリガータッチをOFFにする。

スティックが勝手に触ったと判定されるのでピースが出てしまうなら、OFFにしてしまえばいいという設定で誤魔化す方法。
じゃあピース出せないじゃん、となるのですが左右のコントローラーの[A][B][X][Y]に指を乗せればピースサイン出せれるのでそこまで影響はないんじゃないかと思います。
すでにSNSではSteamVRのコントローラーバインドでOFFにすればいいと説明してくれている方が多いのですが、フレンド曰くスクリーンショットが無いので分からないと話があったのでここに載せます。いぇ~い、見てる?

SteamVRを開きます、まずは左横にビローンと出る画面まで来てください。
[VR設定]をクリックしてください
[コントローラ]を選んでください
[コントローラーのバインドを管理]を選んでください。
コントローラーのバインドを管理の下にあるVR DASHBOARDと記載がある項目を選んでください。
VRCHATを選んでください
このバインドを編集というのがあるので選んでください
この画面が出たら何をするのか説明するので一旦手を止めてください。スクリーンショットは作業が終わった後の画面です。

これから何を変更するのか説明します。通常であれば左右のJoyStickには
 クリック
 タッチ
 位置
にそれぞれ何がバインドがアサインされるか割り振られています。
このうち、ピースサインになってしまうのは、コントローラーに手が振れてないのにハードウェア側でタッチされた判定があるためです。なのでコントローラーのスティックタッチ入力とSteamVRの関連付けを解除します。
具体的には[タッチ]の項目を[なし]に設定変更して、設定を保存するまででが作業です。
重要なのでもう一回書きますが、設定を保存するまで、です。
スクリーンショットはすでに”なし”にアサインされていますが、これを目指してください。作業前はここに何かアサインされているはずです。また片側だけスクリーンショットを載せますが、反対側も同様に設定してください。

項目のJoyStickにポインターを当てると[鉛筆マーク]が出てきます。
鉛筆マークを押してください
鉛筆マークがチェックに変わると編集画面です。タッチの欄をクリックしてください。(画面は作業済みなのでなしが選ばれてます)
プールアクションが出てきます。ずーっと下まで行ってください。
なし というのがあるのでポインターで選んでください。
タッチの部分が なし になっていればOKです。チェックボタンを押してください。
反対側も同様にタッチの項目を なし に変更してください。
編集が終わったら 個人用バインドを保存 を選んでください。
なんか言われますが保存してください
正しく設定されたかはコントローラーバインドを表示で見れます
スティックには2つしかアサインされおらず、タッチがなければ完了です

というわけで、何も買わずに誤魔化すのはこれで完了です。
とはいえ、VRChat以外でも気になるので物理的に解決する方法は下です。

1.腕全体(手両手、腕、ひじのあたりまで)を化粧水で保湿する

何をいきなり言うんだと思うかもしれないですが聞いてほしい。
アルミテープ無くてもハト麦化粧水ぶちまけまくった親指ならちゃんと認識するんです。乾燥肌は電気貯めてセンサー不良が起きやすい。スマホとかでもよく言われてる話。
一番効果あったのはこれかもしれないので、最初に書きました。
ちなみに1時間程度で肌が乾燥してピースサインに戻るので、乳液を試しましたがコントローラがべとべとになる割には効果薄かったので化粧水だけでいいと思います。

2.静電防止袋を巻く

何を言ってるんだと言わないでください、効果があったんです。グラボやマザーボードに入っている袋をハサミでカットしてぐるっと巻いてみてください。導電性がある物体のおかげかよくなりました。まだ試してみてないですがマイコン買うときに突き刺さっている導電性のスポンジとか、導電糸もいいかもしれません。

こんな感じに巻いてます

3.アルミテープを巻く

PICO4環境でみんなやってるアルミテープ巻くやつ。親の仇のごとく巻いてください。

実際に巻いた様子。

アーチ部分以外を親の仇と思うぐらい巻いてください。

これで親指というかオープンハンドになったことでしょう。
ダメ?じゃあ巻き方を厳重にしてみましょう。電池パックの蓋を開閉できないようにアルミテープを3重ぐらいに巻いてみてください。イメージはコンデンサみたいなものを作ってるんだと思ってください。
※これを試したフレンドから巻き方についてコツがあるっぽいと教わる。アルミテープ屑がいっぱい出てたからそれをグルグル巻きにしたものをコントローラー握るときに持つといいらしい。こんな感じ。

どうです?ダメ?じゃあ銅箔テープはどうでしょう?割と電子工作でもGNDとして銅箔テープ貼るのはノイズ除去等で使われるのでオススメです。

4.EMSゲルパッドを貼る

さっき巻いたコントローラに巻き付けたアルミテープと手が接触する手のひら側にEMSゲルパッドを貼る。腹筋とかに使うあのジェルパッド。たぶん大きいと思うので適度なサイズ(親指の付け根を覆う程度)までハサミで切って貼り、アルミテープグルグル巻きのコントローラを握る。

無ければキッチンペーパーとかスポンジ、ティッシュでなんかいい感じに化粧水をしみこませる場所を作ってください。そしてハトムギ化粧水でもいいし、塩水でも水道水でもいいので湿らせてください。コントローラ握ると不快感があるかもしれないが我慢してください。

画像より大きめに作っても全然OKだし位置は人それぞれ

これで多分治ったはず。あと化粧水で手をケアして。
追加してもダメ?次へ。

5.静電気防止スプレーをカバーに振りかける

スプレーはしっかりしたヤツを使う。

これをカバー類にぶちまけて使う。

表も裏もまんべんなく使ってね

これが乾燥したら使えるはず。
ダメ?次へ。

6.電池を1.5[V]出力の単三リチウムイオン電池に変える

エネループやめて1.5[V]出力可能なリチウムイオン電池に乗り換えた。
これによってコントローラの追従不安定や認識不良の不具合が解消された。
最初はリチウムイオン電池チャージャー付を使ってたけど、意外とめんどくさいので、USBで充電できるのを使ってる。

これで治ったはず。ダメ?もうこれ以上はオレわかんねえや。

突然死が多すぎる問題

PICO4のキャッシュクリアで治った。
どうすりゃいいんじゃというと
1.まず電源OFF状態で"電源ボタン"と"音量+ボタン"を長押しして起動する。
2.PICO4のロゴが表示されて次の画面が出てきたら、"音量ボタン+"と"電源ボタン"から手を放す。

3.この画面が出ている状態で、再度”音量ボタン+”と”電源ボタン"を長押しする。5秒ぐらい長押しすると次の画面が出る。

ユーザーIDとか製品IDは白く切り抜いてる

4.Wipe cahe partitionを選択する。音量ボタンの+と-で上下選択、電源ボタンで決定となる。

ホントに消していいのか?と聞かれるのでYESを音量ボタンから選んで、電源ボタンで決定。

実行されると表示されている画面の下部にcache wipe completeと出る。
やったぜ。

この後はStreamingAssistant経由で接続する。
一応補足で、この処理をするとPICO4のStreamingAssitantに保存されているデータとPC側の不整合が発生するので、PICO4のStreamingAssitantのキャッシュクリアと再起動が必要。USBでつないでるからかもしれないがやり方次の通り。
1.PICO4内で設定>アプリの管理>ストリーミングアシスタント>キャッシュをクリアを押す。
2.PICO4再起動(必要があればPC側も再起動)
3.PICO4でストリーミングアシスタントを起動すると、PCと接続できるはず。
4.もし再起動してもつながらない場合は、ストリーミングアシスタントの再インストールをしてみる。

解決に至るまでの道のり記録

バージョン情報(適時更新)

PICO4の方
システムバージョン:5.8.2
Andoroid:10
ソフトウェア:
c000_rf01_bv1.0.1_sv5.8.2_202310121309_p
hoenix_b6282_user
PC側のStreamingAssistantバージョン:V9.5.6.1

コントローラーの話切り分けてた記録

コントローラー:標準品にeneloopPRO(BK-3HCD 1.2v min.2500mAh)
詳細:何が問題出てるかというと、コントローラーのハンドトラッキングが正常に動かない。ニッケル水素電池使ってると、右手がずっとハンドジェスチャーがチョキが出て毎回電池パック抜き差ししたりしてる。SteamVRでコントローラーのテストをするがタッチや押し込み等々異常はなかった。
※Twitterでみかけたアルミテープ貼るの試したがダメだった。
※コントローラーの分解動画を見て見たが、アーチ状になっているパーツのコネクタがIPEX-4っぽいので、なんか電圧か電力足りてないんじゃねと思い始める。
※アルカリ電池なら正しく動くが、充電池だとずっとチョキが出る症状に悩まされてる。
※ニッケル水素電池の都合で本来コントローラーを動作させる電圧に足りてない疑惑がある。
(メーカー推奨は通常アルカリ電池の最大電圧1.5[V]+2本の3.0[V]構成だが、ニッケル水素だと最大電圧1.2[V]+2本の2.4[V]となるので電圧足りて無くない?)

Panasonicのページよりスクショ。確かに一部機器では動かないとある

※10440(だいたい単四サイズ)か14500(だいたい単三サイズ)の規格が候補だけど、3.7[V]だからダミースペーサーかなぁ…
※2023/10/27のメタバース展示会の、とある企業で雑談してたらeneloopは推奨電圧以下だからPICO4コントローラーで動作不具合出ると教えて貰った。実際ブースでも充電池じゃなくてアルカリ電池のストックがすごかった。マジか。
※20231028に安定化電源とコントローラーをつないでみたら、2.4[V]なら動作が安定する。電圧を少し(2.21[V]まで)落とすとハンドジェスチャーがチョキのままで、安定化電源をON/OFFしても復帰しない。自分の環境だと再現性があるので、ニッケル水素電池やめてリチウムイオン電池運用に変えてみるかな…でも3.7[V]出力は流石にヤバいんじゃないかなぁとか思ってる。
※単三型リチウムイオン電池で、出力1.5[V]で保護回路つきかつ直列につないでいい製品がAmazonに売ってるので試しに買ってみる。

ついでに家の電池もなかったので試しにUSBの方も買ってみた。

※着荷してたから充電して4時間ほど使ってみた。確かに電圧降下は起きておらずひたすら1.5[V]x2本の3Vが出てた。トラッキング性能も上がってきておりよさそうである。親指立てるポーズができるようになって、かなり嬉しい。
※しばらく様子見するついでにメーカーにここまでやったからと修理について相談したら無償検査するねと言われた。
https://bbs.picoxr.com/post/7143850417754439688
こういうツールもあるよと教えて貰ったが試してない。
※そういや公式ドキュメントってどうなってたっけ?と思って調べてみたらPICO4コントローラーは無かった。
https://docs.vrchat.com/docs

該当箇所抜粋

ということはPICO4をQuest系のバインドに変えるのが正しい気がしてきた。
今度メーカーに送って検査に異常がなく、さらにコントローラー問題が再発したら考える。
※2023/10/30、非破壊検査でレントゲンを撮る。分かったことが色々あるが大きな収穫として、コントローラーはNordicのモジュール使っていること。
帰宅してから気づいたが、分解解説記事に載ってたので結構無駄足だったかもしれない。

https://electronics360.globalspec.com/article/19651/techinsights-teardown-pico-4-headset

Nordic Semiconductorのチップは結構特殊でファームは自分で書き込んで初めて使えるもの。割と組み込み系のシェアが強い印象。そしてSDKはWebが最新だから勝手に気づいて勝手に落としてこい、という結構ヨーロピアンなスタンスなので、そのリファレンス見る必要があるかもと思った。あとはジョイコンにもタッチセンサーがついているのはわかった。
一方でとりあえずVRChatで遊びたいので静電気(電荷)の話から試しに家にあった静電気除去シートを貼り付けてみた。効果あったかといわれるとあったかもしれない程度になる。かと言ってBodySenseの試験機とかすぐ使えないからどうするかなーと思う。
※2023/10/30の深夜ぐらいにふと気づく。遊んだ後コントローラーを手放すと、どうも左手だけしっとりしていて、右手は超乾燥している体質っぽい。左手は不具合が出ない。じゃあハトムギ化粧水でも買ってみるかと思いつつ、そこまで時間はなかったので思いつく程度にしておく。実際はグリセリン溶液を薄めたものを使おうと思う。この段階で考えているのは、電荷を対地へ逃がすのではなくて揃えたらいいんじゃない?と思った。静電容量センサーがついてるのは大まかに3か所で
トリガー:人差指
グラブ:中指
上部スイッチ群:親指
かなと思う。この3か所の電荷のたまり度合いが均衡じゃないから起こるのでは?と思い始める。でもそんな事ある?過酷なテストの末に市場に出されたモノだぞ…
※コントローラ分解している兄貴のアドバイスをもらったものの、コントローラというか本体一式の検査があるので分解はしない方針にした。
※2023/11/01帰宅中の薬局にグリセリン売ってなかった。あるものでとりあえず試す方向にする。まずアルミテープでがんじがらめに固める。具体的には親指、人差指、中指を同線で連結して操作してみた。しかしながらしばらく遊ぶとダメ。GNDとしてアルミテープをつないで空間に数センチ垂らしてみたがダメだった。気持ち静電防止除去スプレーで拭いてみるがダメだった。使ったクリーナーはこれ。

※2023/11/02でんじろう先生のYotubeで静電気の回を見ていて、もし電荷が溜まりやすいならば数センチと言わず、もっと長いアルミホイルビラビラくっつければいいんじゃね?と思った。早速試してみた所うまくいった。
30cmのアルミテープを二つに折りたたみ、糊付け1cmだけ残して15cmくらいの帯を作る。その後粘着部分を画像みたいに貼り付ける。コントローラーのボタン上側とスティック根元にギリギリ触れるか触れないかの場所に配置する。これで解決したように見受けられるがごくまれに発生する。そこで、本当に電荷がアルミテープに溜まってればペロッとアルミテープを自分の舌でなめると電荷移動して解消されるはずなので試すと、テープの端っこなめたら電気の味(わかる人はわかるあの味)がしてコントローラーのチョキも解消される。コントローラー電源ON/OFF以外のやり方は見つかったが、クッソ汚いのと、すでに帯電防止スプレー買ったこともあり一旦没案

※2023/11/03 帯電防止スプレーが届いたのでカバー類に振りかけて試してみる。

職場でも使ってるから流石にこれでダメならヤバいやろと思う。これでだいぶ改善したがまだ完全ではない、1時間に1度ぐらいピースになる。
※同日、VRChatでスタンガン使ってゾンビ殺しまくって気づく。あれ、もしかしてアルミテープに対して、ちゃんと接触できてないんじゃない?お手洗いの帰りにハト麦化粧水をぺちぺち手のひらでもちもちになるまで使った。すると劇的に改善した。
※同日、また今度は追従が悪くなってきた。手が乾燥しきっていたのでハトムギ化粧水を再度つけると改善することは分かった。しかしめんどくさすぎる。そこでアルミテープでハトムギ化粧水ホルダを作って、ついでにアルミテープでがんじがらめにした。3時間遊んだがまったく問題発生しなかった。めっちゃ快適に遊べた。
※2023/11/03の深夜から11/04早朝、PICO4のバッテリーを充電して化粧水ホルダにしみこませたら全く不具合発生せず。同様の症状に悩んでいたフレンドはアルミテープとハト麦化粧水で治ったとのこと。TIPSとして、もし起きてもコントローラのトリガー、グリップ、ジョイスティックを軽く押し込みしていればすぐ直るとのこと。この時トリガーとグリップボタンは指を置くのではなく、軽く押し込むらしい。めっちゃ感謝されたので良かった。
※毎回ハト麦化粧水パッド作るのダルいなぁと思ってきたので、代替品を探し始める。要するに電力をアルミで作ったGNDに流し込めばいいので通電パッドでいいじゃんと思う。腹筋鍛えるゲルパッドとか、低周波治療器のパッドが使えるんじゃねと思ったから買ってみる。
※導電性の物質なら何でもいいんじゃない?と思ったので水道トラブルのマグネットを湿気させてみたがダメだった。
※2023/11/04昼頃 Vketに行く前に、コントローラを加湿(タッパーにぬるま湯入れたコップとコントローラーを入れた)すると明らかに1時間は何も対策しなくても動く。ただ水道水に含まれる塩素で錆びるとか不安になるのでこの案は没。
※やっぱり化粧水が効いている間は明らかに反応がいい。一方で手の甲あたりが化粧水効果がなくなるとピリピリしてくる。親指ピースサインのままになるのもこのあたりから。乳液もトラベル用の小さいのを買ってみたがベトベトするわりに効果なかった。5-6時間ぐらい遊んでいる間に化粧水補充時間が5分x3回=15分ぐらいのペース。腕時計で化粧水補充及びお手洗いの帰りに化粧水のラップタイム記録してたが
1:12:45
1:56:32
2:23:12
という時間だった。
時間だけに着目すると、化粧水で保湿されている時間が徐々に伸びているがやっぱり限界があるように思える。やっぱり面倒。腹筋や乳首に電気流すゲルパッドの到着を待つ。
※2023/11/05 ゲルパッドが届いた。かなりいい感じになってる。2時間ぐらいVRCで遊びまくったが全く起こらない。肌の保湿が効いているのかもしれないがもう十分検証しただろ…
※2023/11/07 レンタルのPICO4が家に届いたので、本体をサポートセンターに送る。レンタル品で起きたら、完全にお前の環境ということになるので悲しい。
※2023/11/08 残念ながら何も対策していない状態だと、PICO4コントローラーでチョキしか出せない状態(SteamVRはスティックにずっと触れていると判定されている状態)になる。化粧水だけ肌に塗ってみると、やっぱり効いている間は反応問題ないが乾くとアウト。
※同日 化粧水自作のためにグリセリンとヒアルロン酸を買ってみる。ハト麦化粧水以外のいい感じの化粧水ならもう少しいいのでは?と思ったため。
※2023/11/09 グリセリンとヒアルロン酸が届く。試してみると肌は肌でも手のひらよりは手の甲側と腕が明らかに乾燥していたことが分かるぐらい化粧水が吸い込まれていく。これで不具合起こらなければ完全に肌環境の問題となる。
※2023/11/12 PICO4くんが修理から戻ってくる。結果は異常なしかつ事象は再現せずとのこと。Twitterとかに書いてある通りじゃんということで今のところ、おまえの環境が悪い、ということになる。この日も化粧水をぬりぬりしながらVRChatで遊びまくってた。
※2023/11/12 寝ている最中に、ふと「最近の車のESD試験大変なんだよ、タッチパネルとかあるからさ~」と飲み会で近況報告していた友人との記憶が蘇って来た。"静電気放電イミュニティ試験規格 ISO 10605"なので、まあまあアドバイスを貰えるのではないかと連絡した。
※同日、お互いの近況報告を交えつつ、PICO4コントローラーの話と、このnoteの内容を投影しながらアドバイスをもらった。するとアルミテープがよくないんじゃないか?という意見となった。普通銅テープだよね?と言われて確かに…と納得する。ついでに銅テープでGND作ったら、テープの上の適当な場所に100[Ω]のカーボン抵抗か0.047[μF]程度のフィルムコンデンサつけたら?とアドバイスをもらう。フィルムコンデンサと導電性接着剤付き銅箔テープは備蓄してないので、とりあえず100[Ω]カーボン抵抗をアルミテープで張り付けてみると、ずいぶん反応は良くなった。ついでに銅箔テープをAmazonで買っておく。

家に転がってたカーボン抵抗

※2023/11/13 導電性接着剤付き銅箔テープが届いた。買ったのはこれ。

これに100[Ω]抵抗をショートさせてみる。どうせ銅箔テープとカーボン抵抗でループができるだろうから、極を分離する必要ないだろうと思った。

ショートさせておく

どうなったかは化粧水つけないで試してみる。




現在の結論:おま環(主に肌と水分)

本体クラッシュの話切り分けてた記録

2023/10月入ってからたまに不調になることが増えた。
具体的になんか妙にラグいというか、
※2023/10/29遊んでから、軽量モデルをテストしたところPICO4君がクラッシュしまくるようになった。同じPICO4使ってる人も不調があるとのことで、調べることにした。
※開発者ツールを仕込んでいたのでログを見ると日付バラバラだがここ1ヵ月ぐらいエラーを吐きまくってた時間が散発的に起こってた様子。VRChatで写真撮ってたときの時刻と比較すると、顕著にエラーが出てたのはどちゃくそ重いホラーワールド行った時と、Quest対応ワールドでどちゃくそ重いアバターが動いてる時だった(そういえばゲーム進行不可能になったぐらい重かったなーと思い出した)
※この10月入ってからファームアップデートがPICO4あったが、ファームアップ前から起きていたことがわかる。よってファームウェアは一旦可能性から除外。
※Redditで似たような症状ないか調べてみるとドンピシャな投稿がいくつかあった。どうも最適化されてない3Dオブジェクトを読み込むとバチクソ不安定になるらしい。
ここで言う「最適化されてないメッシュは、なに?」と言うと、3Dオブジェクトのポリゴンやメッシュ頂点が重なるアレ。程度の問題ではあるらしいが衣装着せ替え程度で生じるものは問題ないらしく、フォトメトグラフィックの最適化が済んでないものや、ゲームぶっこぬきアバターとかそういうのが該当するらしい。パーティクルとライティング関連は時間制限で消失することから関係ないらしいので、武器満載の自分のアバターが影響起こしてる可能性はなかった。
※PICO4はSnapdragon XR2のSoC搭載Android端末。なら組み込み系特有のファーム書き込み失敗時のリカバリー機能があるはず。よくある起動時ボタン同時押しとかそういうやつ。
※調べたらあった、解決策もサクッと出てきた。
https://www.reddit.com/r/PicoXR/comments/10crgj8/my_pico_4_freezing_pls_fix_this/
※早速キャッシュクリアしてみる。
まず電源ボタンと音量+ボタンを長押しして起動する。
するとPICO4のロゴが表示されて次の画面が出てきたら、音量ボタン+と電源ボタンから手を放す。

この画面が出ている状態で、再度”音量ボタン+”と”電源ボタン"を長押しする。5秒ぐらい長押しすると次の画面が出る。

ユーザーIDとか製品IDは白く切り抜いてる

Wipe cahe partitionを選択する。音量ボタンの+と-で上下選択、電源ボタンで選択となる。

ホントに消していいのか?と聞かれるのでYESを音量ボタンから選んで、電源ボタンで選択。

実行されると表示されている画面の下部にcache wipe completeと出る。
やったぜ。

この後はStreamingAssistant経由で接続するがVRChatで遊んでいて不具合は特にない。
再度該当のエラーが発生したワールドに行ってみると不安定になる症状が再発したが、キャッシュクリアすると問題なく遊べる。

この記事が気に入ったらサポートをしてみませんか?