JetRacerの組み立て

NVIDIAからJetson Nanoを使ったAI自動走行車JetBotに続く、JetRacerが発表されました。 github.com

こちら市販のラジコンカーにJetson Nanoとカメラを取り付け、カメラの画像からその時点でどちらに転舵すべきかを機械学習で学習させ、それを元にラジコンカーを自動走行させるというものです。

参考動画:

JetBotと異なり、ラジコンカーならではのスピード感ある自動走行を楽しむことができます。(もっと大きい場所でより複雑な形状のコース作って試してみたいが、なかなか東京付近で場所がない... どなたか場所の提供 or いい場所を教えてください...)

ラジコンカーに馴染みない方向けに簡単に補足しますと、今回取り扱うラジコンカーは二つのモーターから構成されており、

  • サーボーモータ

    • 角度を細かく調整できるモータ
    • 前輪の回転軸をサーボーモーターによってずらし、ラジコンカーの進行方向を左右に変更する。
  • DCモーター

    • 角度は細かく調整できないが高速で回転させられる
    • 前後輪を回転させ、ラジコンカーを前進・後進させる。

という役割を担っています。 デフォルトのJetRacerではDCモーターは常に一定速度で動かし、カメラから得られた情報からサーボーモータをどの程度動かすかを決め、サーボーモーターにそれを伝え、コースアウトしないように走行することで自動走行を実現しています。

今回こちらをパーツの仕入れから、実際に動かすまで一通りやってみたので、その過程をまとめました。なお車体はlatraxというものとtamiyaの2通りありますが、日本で入手しやすいtamiyaのシャーシのものを作成しました。

作成に関する注意事項

作成部品の入手難易度はやや高めかと思います。その理由は、

  1. パーツ合計がやや高額になる。(3Dプリントパーツ無しでも5万ぐらい?)
  2. 3Dプリントするパーツが3点ある。(ボード類取り付け用のベース板、シャーシへの穴あけ用の補助板、カメラモジュール取り付け台)
  3. まあまあ分厚いシャーシに穴あけするボール盤などの道具を利用する必要がある。(私はDMM.make AKIBAを利用しました。固定を接着剤とか別の方法でやるなら不要かもしれません)

一方で上の3つがクリアできれば組み立ては配線系が少しややこしいことを除けば、ラジコンの知識はほぼなくてもできます。

ただし注意事項として、ラジコン本体・プロポ(ラジコンのコントローラー)の調達はよく調べたほうがいいです。 私の場合、横着をして、シャーシ・プロポ・バッテリー・バッテリー充電用ACアダプタセットのものを買ってしまいました。(これと単三電池4本を買うだけで、ラジコンとして遊ぶことができる)

しかしプロポが2つの信号(進行・後退と左右転舵)しか送れない2chのものだったので、公式で推奨している3chのものとは異なり、プロポから自動走行or手動走行を切り替えることができませんでした。このままだと学習させる時、面倒だったので結局3chプロポを買って受信機を取り替えました。 ただし、マルチプレクサを経由せずモータードライバからの信号or受信機からの信号の配線を手で繋ぎ変えて手動・自動を変えることはできますので、予算厳しい方は私と同じく2chの車体・プロポセットを購入すればマルチプレクサなしで最低限手動自動共にJetRacerを動かすことはできます。

なお3chプロポを最初から使うと言う方は、シャーシ、プロポ、受信機、サーボモータ、ラジコン用バッテリー、ラジコン用ACアダプタを個別で調達すると安く上がると思います。

パーツ一覧(購入するもの)

パーツ 数量 価格 URL 備考
Jetson Nano 1 12300円 http://akizukidenshi.com/catalog/g/gM-14393/
MicroSDカード 1 1000~3000円 Amazonなど 私は手元にあったSanDiskのExtremeProに32GBにしました
USBバッテリー 1 2000円 https://www.amazon.co.jp/gp/product/B07L4WRCWJ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1 最低でも5Vで2A供給可能なもの。2.4Aぐらい出せると良い?
USB A -> 外径5.5mm 内径2.1mm円形ジャックケーブル 1 500円 https://www.amazon.co.jp/gp/product/B071GTKDZJ/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1
ラジコン本体+プロポ+バッテリー 1 17000円ぐらい https://www.amazon.co.jp/gp/product/B01LY45KQF/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1 プロポが2ch
プロポ+受信機 1 11000円 https://www.amazon.co.jp/dp/B01CTK6UDY/ref=cm_sw_r_tw_dp_U_x_HPoEDbQZAEVZQ 3chプロポと受信機のセット
PWM サーボーモータードライバー 1 610円 https://www.amazon.co.jp/gp/product/B01D1D0CX2/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
RC サーボマルチプレクサ 1 1231円 Pololu 4-チャンネル RC サーボ マルチプレクサー (組立て済み) :Pololu-2806:朱雀技研工房ストア - 通販 - Yahoo!ショッピング 操作をプロポ or Jetsonからのどちらかを切り替えるためのもの
3ピンジャンパーケーブルセット 1 899円 https://www.amazon.co.jp/gp/product/B07BMRY7BH/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1 Jetson、モータードライバー、マルチプレクサなどの配線に
メス-メス ジャンパーケーブル 1 680円 https://www.amazon.co.jp/dp/B01MTAD3GA/ref=cm_sw_r_tw_dp_U_x_7OoEDb1J1WX0Q
USB WiFiアダプタ 1 798円 https://www.yodobashi.com/product/100000001003540389/ WiFi通信用。M.2無線カードより安くて楽。
ラズパイカメラモジュールv2 1 4580円 https://www.amazon.co.jp/gp/product/B01EW2KDTE/ref=ppx_yo_dt_b_asin_title_o09_s00?ie=UTF8&psc=1 公式のものでないと認識しない可能性あり
IMX219 160度カメラ 1 2499円 https://www.amazon.co.jp/gp/product/B07HMXJ9Y1/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1 ラズパイカメラモジュールのカメラ部分をこちらに差し替え
M3x45mm スタンドオフ 1 1014円 https://www.amazon.co.jp/gp/product/B07NPKW74J/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&th=1 制御系のボード類をシャーシに取り付けるためのもの
M3x8mm ネジ 8個 617円 https://www.amazon.co.jp/dp/B01HZCYV3W/ref=cm_sw_r_tw_dp_U_x_CMoEDb6NMM54P スタンドオフを取り付ける
M2x8mm ネジ 18個 560円 https://www.amazon.co.jp/dp/B01HD3P98Y/ref=cm_sw_r_tw_dp_U_x_AOoEDbZNC63JA ボード類の取り付け用
バッテリー保持用ストラップ 1 999円 https://www.amazon.co.jp/gp/product/B0744DNC1K/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1 Jetson用バッテリーを車体に取り付けるためのもの

3Dプリントが必要なパーツ

  1. ボード類を取り付けるベース板
  2. シャーシに穴あけするときに穴あけ位置を特定するための補助板
  3. カメラモジュールを取り付ける台

組み立て

基本的にはこちらに従って組み立てます。 jetracer/hardware_setup.md at master · NVIDIA-AI-IOT/jetracer · GitHub

フェーズ1 (シャーシの穴あけ、モーターカバーの除去、スタンドオフの取り付け、受信機の取り付け)

  1. シャーシに穴あけするため、上で3dプリントした2番の補助板をシャーシの裏側(地面側)にテープなどで固定します。この際3dプリントした板の突起がある部分がシャーシ裏側のネジ部分と一致するはずです。(一部ネジを取り外さないとはみ出るので適宜ネジを外す)

  2. 補助板に空いている3mmの穴4箇所をターゲットとして3mmドリルで穴あけ、シャーシまで貫通させます。

  3. (オプション) ネジの皿部分がシャーシからはみ出ないように上の4つの穴に対して、皿穴加工をします。私は適当に6,7mmぐらいのドリルで数ミリ穴あけしました。(公式のStep2 Countersink)

  4. シャーシ表側のDCモーター付近のカバーを外します。(大きなモーターの方) これがあると、あとでベース台を固定するときに邪魔になるかと思います。

    f:id:hygradme:20190909191502j:plain:w400
    モーターカバーを外したシャーシ

  5. 先ほど開けた4つの穴を通じて、シャーシにM3x8mmのネジでスタンドオフを取り付けます。

    f:id:hygradme:20190909190352j:plain:w400
    シャーシ背面図

  6. (オプション)受信機を3chプロポ対応のものに取り替えるor取り付けます。 車体・プロポセットで買った方はシャーシに2ch用の受信機が付いていますが、こちらを取り外します。粘着力強めの両面テープで付いているだけですので頑張って外してください。

f:id:hygradme:20190911215331j:plain:w400
2chの受信機

f:id:hygradme:20190911215716j:plain:w400
2ch用の受信機を外した様子

2ch用の受信機を外した後、3ch用の受信機を取り付けます。

f:id:hygradme:20190911215946j:plain:w400
3ch用の受信機を取り付けた様子

フェーズ2(3Dプリントしたベース板に各種基盤を取り付け)

  1. マルチプレクサをM2x8mmのネジ2つでベース板に取り付けします。2箇所だけで少し不安なので、ネジのない側に何か台なり設置したい気はします...

  2. PWMサーボモータードライバーをM2x8mmのネジ4つでベース板に取り付けします。

  3. Jetson Nanoを M2x8mmのネジ4つでベース板に取り付けします。

  4. カメラモジュールのカメラ部分をIMX219のカメラに取り替え、カメラモジュールを3Dプリントしたカメラ台にM2x8mmネジ4つで取り付けます。カメラモジュールのコネクターをJetsonNanoに取り付けます。さらにカメラ台をベース板にM2x8mmネジ4つで取り付けます。最後にカメラモジュールとJetsonNanoを接続します。ラズパイ公式のカメラモジュール仕様の場合、ケーブルが半ねじりの状態になってしまいます。

  5. USB WiFiアダプタをJetson Nanoに取り付けます。

フェーズ3 結線

  1. Jetson Nanoとモータードライバの接続

これによって、JetsonNano側から来る前進・後進・右転舵・左転舵の指示をモーター側に伝えることができるようになります。1ピンのジャンパーケーブル1つと、3ピンのジャンパーケーブル1つを取り付けします。

  • Jetson側

    • 1ピンジャンパーはGNDに接続します。(図のJetsonNano上のGPIOピン上、右列側の黒線)
    • 3ピンジャンパーは3V3, 3番, 5番 に接続します。(図のJetsonNano上のGPIOピン上、左列側の黒線(3V3)・赤線(3番)・白線(5番) )
  • サーボモータードライバー側

    • 1ピンジャンパーはGNDに接続します(図の下側のモータードライバ上の一番上の黒線)
    • 3ピンジャンパーはVCC(黒線), SDA(赤線),SCL(白線)に接続します。

なお、JetsonNanoとモータードライバ間の3ピンの結線は以下のような対応になります。

  • 3V3 がVCCに(黒)
  • SDAが3番に(赤)
  • SCLが5番に(白)

f:id:hygradme:20190909192051j:plain:w400
JetsonNanoとモータードライバーの接続

  1. サーボモータドライバとマルチプレクサの接続

マルチプレクサとはA,Bという二つの信号のどちらかをCから出力するという時にDという別の信号によって電気的にA・Bを切り替えることができる装置です。今回、A・Bの信号はJetsonNano・プロポに対応し、マルチプレクサを使うことで、自動走行or手動走行を切り替えすることができるようになります。

具体的には図のようにマルチプレクサを上から見た図で、

  • M1~M4 (上の例でいう信号Aたち。Masterの略か)
  • S1~S4 (上の例でいう信号Bたち。Slaveの略か)
  • Out1~Out4(上の例でいう信号C。ここをモータに繋ぐことでM1~M4 or S1~S4のどちらかの信号がモーター側に伝わります。 )
  • SEL (上の例でいう信号D。M1~M4 or S1~S4の切り替えを担当)

となります。

f:id:hygradme:20190909202624j:plain:w400
マルチプレクサ

二箇所取り付けます。 この時向きはGND通しが繋がるように注意してください。

  • サーボモータドライバ上の0番(黒赤黄上でJetsonと接続したピンから最も近い方)をマルチプレクサのS1に接続。(転舵信号を担当)
  • サーボモータドライバ上の1番(黒赤黄上でJetsonと接続したピンから最も近い方)をマルチプレクサのS2に接続。(前進・後進の信号を担当)

f:id:hygradme:20190912005415j:plain:w400
モータードライバとマルチプレクサの接続

  1. 受信機とマルチプレクサの接続

マルチプレクサのM1,M2,SELを受信機の1番・2番・3番と接続します。この接続によりプロポからの操作信号(転舵・前進後進・手動自動運転の切り替え)をマルチプレクサに送ることができるようになります。マルチプレクサのGND側のピンと受信機の右側のピンが繋がるように注意してください(図では黒線)

f:id:hygradme:20190912010130j:plain:w400
マルチプレクサと受信機の接続の様子

  1. マルチプレクサとサーボモータ、ESCの接続

上の手順でマルチプレクサにJetsonNano(自動運転)とプロポ(手動運転)の信号が入るようになり、この二つはSELの信号によって切り替えられるようになっています。さらにこの信号をサーボモータとESCに送り実際にモーターを動かせるようにします。 なおESC(Electric Speed Controller)は前進後進を行うDCモーターに電流を供給する装置です。入力として駆動信号とバッテリーからの電流の二つをもち、駆動信号を増幅してモーターに駆動に十分な電流を供給します。放熱用のファンがついているものです。 以下の二つの接続を行います。 なおいずれも黒線がマルチプレクサのGNDに接続されるように気をつけてください。
- サーボモータ(受信機の下に付いている)とマルチプレクサのOut1の接続(図で左側の指あたりから出ているESCの赤白黒の線)
- ESCとマルチプレクサのOut2の接続(図で右側の指あたりから出ているサーボモータの赤白黒の線)

f:id:hygradme:20190912010710j:plain:w400
マルチプレクサとサーボモータ、ESCの接続の様子

フェーズ4 最終組み立て

JetsonNanoなどが取り付けてあるベース板をM3x8mmのネジ4つを使ってスタンドオフに取り付けます。これによってベース板がシャーシに固定されます。

f:id:hygradme:20190912011909j:plain:w400
JetRacer完成

以上でハードウェア部分は完成です。気が向いたら、別の記事でソフトウェア部分について書こうと思います。

Coin Roller Master Privacy Policy

Privacy Policy

hygradme built the Coin Roller Master app as a Free app. This SERVICE is provided by hygradme at no cost and is intended for use as is.

This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.

If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Coin Roller Master unless otherwise defined in this Privacy Policy.

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to None. The information that I request will be retained on your device and is not collected by me in any way.

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

Service Providers

I may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security

I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

Contact Us

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

Project North Star Update3 の作成

はじめに

1月に機構がアップデートされたProject North Star Update 3を作ってみました。 きっかけは今年の初めに参加した某ミートアップで結構多くの人が3Dプリンターを所持しているようで私も買わないとこのビッグウェーブに乗れないなと思い、6万ぐらいのプリンターを買いました。買ったプリンターを有効活用したいと思い色々考えて、Project North Starのことを思いつきました。 周りの人の話で、リフレクターを仕上げるのが難しいという話で大変そうだなとは思っていましたが、ちょうど参加したミートアップですでに出来上がったリフレクターが買えるという話を聞き、それなら結構簡単にできるのかもと思い製作を決意しました。

作成の結果感想としては、

  1. パーツのプリントに時間が結構かかる(私のプリンターで1週間ぐらい)。そしてプリントしてたものが歪んでてショックだったことも...
  2. 図面通りのネジ、部品が日本では入手困難なものがある。
  3. 部品が揃えば組み立て、アプリ立ち上げはそんなに大変じゃない。
  4. 自作ガジェット(とは言っても説明書通りに組み上げただけだが)を作った達成感を味わえる。

と言ったところです。

懸念として現在、私が購入したディスプレイのドライバーボード(https://www.smart-prototyping.com/Project-North-Star-Display-Driver-Board)が品切れのようで、すぐに入手できないと思われます。ドライバーボード、ディスプレイ基盤が入手できない場合はexiiiさんが公開されている簡易版(https://exiii.jp/2018/07/19/project_north_star_jp-2/)を製作すると良いと思います。 というか基盤系の入手難易度が理由だか、この記事のようにgithubのProjectNorthStarのレポジトリみて作るほうがマイナー? とりあえず可能な限り忠実にgithubのProjectNorthStarのレポジトリの指示通りに作成しましたが、結構お金かかるのでお気をつけください。 なおPCはWindows10、GTX1070 Max-Qのものを使用して動作確認しました。 また説明が結構適当でメモ書きみたいになっており申し訳ございませんが、不明点があれば質問願います。

材料費

  • 基盤: $80 (約9000円)
  • ディスプレイx2 :$65x2 (約14500円)
  • リフレクター: $40 (約4500円)
  • LeapMotion: 9900円
  • 3Dプリンターフィラメント代: 1000円ぐらい?
  • MiniDisplayPort-DisplayPortケーブル:2000円
  • USB2.0ケーブル:200円
  • ボルトナットスプリング類:計4000円?
  • ジャンパーワイヤー:500円程度?
  • (溶接ヘルメット 3000円)

概算で48700円ですね。もっともジャンパーワイヤーやLeapMotionなど過去に買っていたものを流用したので、実際は3万程度追加で使ったかなという印象です。

手順説明

設計図などのダウンロード

githubのレポジトリを一式ダウンロードします。特にMechanicalのなかの North Star Release 3 3D Files/3D Printing STL.zip にフレームの3Dデータ(.stl)が保存されているので、こちらを解凍します。 GitHub - leapmotion/ProjectNorthStar: The open-source files comprising Leap Motion's Project North Star AR Headset. こちらの部品を揃えていきます。

購入が必要なパーツ

  • LeapMotion: 私は前から持っていましたが、最近はどこで買うのがいいのでしょうか? とりあえずアマゾンでありそうだったので貼っておきます。

Amazon CAPTCHA

  • 基盤(ディスプレイ用のドライバーボード) 左右のディスプレイを接続できるようになっています。またminiDisplayPortを搭載しており、PC側DisplayPortで接続します。 $80かかります。 Project North Star Display Driver Board

  • ディスプレイ(1440x1600) x2
    リフレクタに投影する映像を表示します。こちらが二つ必要です。$65 x 2=$130かかります。 www.smart-prototyping.com

  • リフレクタ 反透過で現実空間を観れる一方、現実空間にディスプレイの映像が重ねられて表示され、AR体験ができます。 こちらは左右で1セットになっています。$40です。 Project North Star Lens

  • DisplayPort Mini - DisplayPort ケーブル 上述基盤とPCを接続します。Smart PrototypingのHPには1mのケーブルが良いということでしたが、2mのケーブルでもいけました。

https://www.yodobashi.com/product/100000001002134414/

  • 5V電圧供給用ケーブル: 基盤に+-のピンが取り付けられており、そこに5V電圧で電力供給する必要があります。お手頃なのは安いUSB2.0ケーブルを買ってきて、USB Aオス側を残して逆側を切断し、電源供給用の線2本をジャンパーワイヤーと接続してピンに取り付けるのが楽だと思います。(USB 2.0ケーブルはなんでも良いと思います。私は秋葉原で200円ぐらいのものを買ってきました)

配線4本のうち、5V電圧の+-となる赤黒のみを使用します(データ転送用の緑白は使いません) なお基盤の販売サイトにも注意書きとして書いてますが、基盤のピン二つの+(赤、MiniDisplayPort側)と-(黒、MiniDisplayPortからみて奥側)の順序を間違えないようにしてください。逆流防止のダイオードは組み込まれておらず、最悪基盤が破損するようです。

f:id:hygradme:20190413144209p:plain
USB 2.0説明

(参考)USB2.0の生贄ケーブルですが、アマゾンで調べたらこの辺りがヒットしました。 Amazon CAPTCHA

今なら単体のものも再入荷しているようです。 Amazon CAPTCHA

3Dプリントが必要なパーツ

3Dプリンターは初心者でいまいち適切な設定がまだわかっておりませんが、 普通にstlファイルをスライスソフトで読み込み、接地面が最大になりそうな方向に回転させ、65mm/s、積層ピッチ0.2mm、ラフトありで印刷しました。 以下がプリントが必要なパーツです。

メインフレーム

  • HMDメインフレーム(110-001) メインとなる部分。ディスプレイ、リフレクターを取り付けるフレームとなります。一番綺麗に印刷したほうがいいパーツだと思います。ちなみに私のプリンターなら分割なしで印刷できましたが、0.2mm積層ピッチで14時間ぐらいかかりました。

  • Facial インターフェース (115-001):おでこと接触するパーツ。

  • Leapmotion固定フレーム(120-001): Leapmotionを取り付けるフレームで、メインフレームの上側に来るパーツです。次に説明する基盤を取り付けるパーツ121-000がその上にきます。

  • 基盤固定フレーム(121-001): 基盤を取り付けるパーツです。 上記のLeapmotionを取り付けるフレームの上にくるパーツです。

  • 基盤固定パーツ(121-002): 基盤のMiniDisplayPort付近を固定するパーツです。ただこれをつけると基盤の5Vピンとぶつかってしまうのと、なくても一応なんとかなるので組み立て時は使用しませんでした。Release3.1バージョンではピンの部分がかけていて、ピンが通せるようになっているみたいです。

  • 上蓋(120-002): 上記の基盤を取り付けたパーツ121-001を上から蓋するパーツです。T265とかD435iとかStructure Coreで6DoF化したり、Mappingしたりする場合はここを差し替えるのだと思います。

  • Display固定パーツ(111-001:左 112-001:右 または 111-002:左 112-002:右) ディスプレイをはめ込み、メインフレームにディスプレイを固定させるためのパーツです。薄くてディスプレイとリフレクターへの距離が遠くなるバージョン(111-001、112-001)と 厚くて距離が近くなるバージョン(111-002、112-002)の選択になります。私は組み立ての部分で述べますが、薄いバージョン(111-001,111-002)を選びました。

頭部側面関連

  • メインフレーム接続パーツ 左右 (113-000,114-000) メインフレーム(110-001)とスライド式の側面パーツを繋げる部分です。スライド機構のレールとなるパーツ(900-005)をM2.5ボルトで固定します。

  • スライド機構用レール(900-005) x2 スライド部分(230-002,240-002)を通して、HMDを前後に調整できるようにするためのレール部分です。図面では6061のアルミニウム合金を使用するよう指定されていますが、加工が大変そうなので、こちらも3Dプリンターで作成しました。なお、レールの断面部分は少し小さめに(1mmぐらい)印刷しないとスライド部分をレールに通した時キツキツとなってしまい可動できなくなるので注意が必要です。

  • レール終端キャップ(110-002)x2 レールからスライド部分が抜け落ちないようにストッパーとなる部分です。

頭部上面固定関連

  • スライド部分(230-002,240-002) レールを通して、HMDを前後調節できるようにするパーツです。

  • スライダー取り付け部分(複合パーツ番号230-000,240-000)

    • 円形状パーツ(220-001) x2
    • 円形状パーツ(220-002)x2
    • S形状のパーツ(230-001,240-001) 左右
    • スライドブレーキ(230-003,240-003) 左右
    • ケーブル止めフック(230-004,240-004) 左右
  • 頭部上面メインパーツ(210-001) おでこ辺りの1/4ドーム形状のパーツです。

  • 頭部上部頭側パーツ(210-002) 上の1/4ドーム形状のパーツの内側に取り付けるパーツです。本来はウレタンフォームなどをここに挟んで頭へのクッションにするものと思われます。 なおこちらのパーツ印刷後にドーム形状のパーツに沿うように曲げないといけませんが、私はコンロで炙りながら少しづつ曲げました。

組み立て

基本は図面通りに組み立てていけば大丈夫です。 私は以下の順に組み立てました。(NorthStarの図面を転載)

  1. 左右のレール部分を組み立て

    f:id:hygradme:20190419213918p:plain
    sideframe

  2. メインフレームにディスプレイ、左右のレールを取り付け
    なお図面中の3番(690-001)の特殊なナット(加熱しながら部品の穴に入れると溶けて入り込む)が入手できなかったため、薄いバージョンを選び、4箇所の穴を少し広げ、ディスプレイ側からM2のナットを入れ、メインフレーム側からM2x8mmボルトで固定しました。なお図面でM2.5ボルトとM2.5の特殊ナットを使うペアが何箇所が出てきますが、ナットが手に入らないため全て無視しました。
    f:id:hygradme:20190419221221p:plain
    f:id:hygradme:20190419220242p:plain

  3. 基盤を基盤用の台に取り付け
    f:id:hygradme:20190419220301p:plain

  4. 基盤の台をLeapMotionを搭載する上側フレームに取り付け、上蓋で閉じる。上蓋で閉じる前に基盤へMiniDisplayportを繋いで、上蓋の溝にケーブルを合わせて閉じるとケーブルがすっぽり埋まって良い。
    f:id:hygradme:20190419220359p:plain

  5. 上側フレームをメインフレームに取り付け。
    f:id:hygradme:20190419220523p:plain

  6. レールに通すスライダーの作成(左右対称)
    f:id:hygradme:20190419220633p:plain

  7. 頭の上に乗るドーム部分の作成。なお3,4番はそのままつけるのではなく、6で作成したスライダーの穴に通してからつけるものと思われる。
    f:id:hygradme:20190419215037p:plain

  8. スライダー部分とメインフレーム部の結合
    f:id:hygradme:20190419220659p:plain

完成図 f:id:hygradme:20190419213145j:plain

なお図面の通りに組み立てて完成させても、頭に組み立てたNorthStar一式を固定することができず、ヘルメット形状の何らかの支えが必要になります。 他の方もよくやっているようですが、溶接ヘルメットの頭部固定部分を流用しました。 なお面の部分無しバージョンが配達に時間がかかるようで、一方面付きのバージョが3000円でしかもPrimeで買えるのでこちらを買いました。面はそのうち溶接したくなった時に有効活用します。

ディスプレイの接続確認

ディスプレイドライバーをMiniDisplayPort経由でPCに接続および電源をUSBなどで供給(PCなどのUSBポートですと電力供給不足でディスプレイがチカチカするだけで起動しないなどのことがあるので、USB電源アダプター経由で電源供給してください。なお私は当初5V-2.4Aのアダプタを使おうとしていましたが、電力供給が足りないらしく5V-3Aのものを追加購入しました。当初は5V-2AのアダプタとUSBケーブルを二つ用意し、並列でつなぎ電流をあげていましたが、試行錯誤しているうちにケーブルを買い換えたのもあるのか、5V-3A、USBケーブル1本で供給が十分になりました。

ディスプレイがしっかりと表示されたら、PCからNorthStarのディスプレイ2枚が1枚の追加ディスプレイとして認識されているはずです。ディスプレイ設定で「ディスプレイの拡張」を選択してください。 PC側ではNorthStarの2枚のディスプレイを1枚と認識しており、ここに真ん中で半分に分かれた映像を表示し、それが左右のリフレクターにそれぞれ投影され立体的に見えるという仕組みです。スマホVR・ARの仕組みに近いと思います。

アプリ起動

LeapMotionのドライバーのダウンロード

必ずLeapMotionのgithubのページのzipを解凍してexeを実行してインストールしてください。(公式サイトのものだと動かなかったです) 確認時点ではLeapDeveloperKit_4.0.0+52238_win.zipというファイル名でした。 UnityModules/Multidevice Service at feat-multi-device · leapmotion/UnityModules · GitHub

Unity2018.2 以降?のダウンロード

2018.2以降が必要であることが、Project North Starのレポジトリのページに記載されています。

LeapMotionのUnity Plugin(unitypackage)のダウンロード、プロジェクトへの読み込み。

githubのProjecrNorthstarページからpackageをダウンロード、Unityプロジェクトにインポートしてください。 github.com

サンプルシーンはAssets->Plugins->LeapMotion->North Star->Scenes->NorthStarです。

キャリブレーション

ヒエラルキーのAR CameraRigのwindow Offset ManagerのX Shiftの値を変更して、NorthStar実機のスクリーン上にゲームシーンが表示されるように調節してください。 値変化後にMove Game View to Headsetを押すことで画面を表示することができます。(押せば押すほどゲームビューが増殖するので、適宜Close all Game Viewsを押してゲームビューを消してください。

また、AR CameraRig->Head -> Leap Providerのxyzを変更することで、手の表示位置を調整することができます。

おまけ

とりあえず間も無く新しい時代がやってきますが、それを記念して元号の手話(平成、令和)を識別するジェスチャーを作ってみました。

Daily Routine Manager Privacy Policy

Privacy Policy

hygradme built the Daily Routine Manager app as a Free app. This SERVICE is provided by hygradme at no cost and is intended for use as is.

This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.

If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Daily Routine Manager unless otherwise defined in this Privacy Policy.

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to None. The information that I request will be retained on your device and is not collected by me in any way.

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

Service Providers

I may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security

I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

Contact Us

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

今年のガジェット

2018年も終わろうとしていますが、今年購入したガジェット、よく使ったガジェットについて整理したいと思います。

新規購入ガジェット

1月

  • なし

2月

3月

4月

  • FirstVR

5月

6月

  • HTC Vive Tracker 2.0 x3
  • 指向性スピーカー
  • Intel RealSense D435

7月

  • HTC Vive Pro Fullset
  • Giiker

8月

9月

  • なし

10月

  • Vuzix Blade

11月

12月

  • Line Clova
  • Clova Friends Dock
  • WebCam
  • Tello
  • Wireless earphone
  • Realsense D435i

よく使用したガジェット

  • iPhoneX
    メインスマホ。2017年に購入。自身初のiOSスマホをメインに使用。Androidに比べてレスポンスの良さ、背面デュアルカメラによるポートレート撮影、TrueDepthによる顔認証、3Dスキャン、AirDropを始めとする他のMac製品との連携などは便利で良い。 一方、ウィジェットが自由に配置できない、PCとつないで自由にデータを出し入れしずらい、アプリ開発に制約がある(アプリがバックグラウンドになっているとき音・バイブレーションを自由に選べない、実機でアプリをテストするときにxcodeを経由しないといけないなど不便なところはある。 全体として、メインに使うには良いスマホである。当分メインで使用する予定。

  • Hololens
    2017年前半に購入するが、作りかけのアプリを3個ぐらい放置した状態で2017年は終わってしまう。2018年後半にHoloDartAssistantをとりあえず仕上げストアにリリース。おかげで知り合いが結構増えた。アウトプットの重要性を再認識する。

  • Mirage Solo
    2018年のGWあたりに購入。初のスタンドアロン6DoFのVRバイスで購入時感動し、コントローラーが3DoFにも関わらず卓球アプリTableTennis6DoFをDaydreamStoreにリリース。ダウンロード数は自分が出したアプリの中では最高記録を達成したが、UIUXの悪さ、非対応デバイスのインストールによる不満等もあり評価はかなり低くなってしまった。6DoFコントローラーが来年一般販売されたら改良してより使いやすくしたい。

  • Macbook Pro 13inch
    2017年後半に購入。開発のメインPC。選定理由はiOSアプリ開発Macが必須だったため。Hololensアプリ開発にも使用するためParallel DesktopでWindows Proを入れてWindowsとしても使用。持ち運び便利で不満はあまりない。あえて言うならVRバイス用のマシンとして使えない、ディープラーニングの学習を行う・フォトグラメトリするにはスペックが足りないぐらい。NvidiaGPU搭載版が出てくれたらな.... 一応外付けGPUも試したが、取り外しはシャットダウン時のみ、持ち運びでしづらい、Macのアップデートで使えなくなる等の問題があり実用性が低いと感じた。

  • 自作PC (with GTX 1080) Windows Pro とUbuntu
    2017年後半に購入。ディープラーニング用に購入したが、2018年前半はなぜかマイニングをひたすらさせ一ヶ月の電気代が4000円上昇すると言う事件が発生。仮想通貨の価格暴落によりマイニングは停止。2018年半ばからフォトグラメトリ用マシンに変わり、終盤はディープラーニング用に復帰。

  • Pixel3
    11月上旬に到着。基本は2枚目のsimカードで出先でのテザリング用。暗所での写真撮影が極めて綺麗。またAndroidなのでクラウド上のLinuxマシンにアプリから接続し機械学習の学習状態を確認できるのが良い。DaydreamもARCoreも対応なのも良い。

  • iPad Pro10.5と Apple Pencil
    2018前半に購入。iPad2を前に購入してサーフェイスに乗り換えてからずっと使っていなかったが、メイン機をMacbookに変えてからペンが使える文章閲覧端末が必要だと思って購入。 Apple Pencilの書きごごちはかなり良い。iPad2時代にペン先に透明のディスクがついているペンとか筆とかで頑張ってた時に比べ圧倒的に便利になった。一方後半に発表されたiPad Pro 11inchはFaceID、TypeC、ペンの充電方法改善などでさらに便利になっているようでそちらを待っても良かったかなとも思っている。

  • Structure Sensor
    2018中盤に購入。3Dスキャンに前から興味があったのでiPad Proで使用できる物を購入した。itseez3Dによって手軽に様々な物をスキャンできて便利。なおそのあとフォトグラメトリも着手し始め、GTX1080で計算に結構時間がかかってしまうが、意外と綺麗に3Dモデルを作成できることがわかり、状況によってどちらを使用するかの見極めを行う必要があると思っているところ。

  • Line Clova とClova Friends Dock
    去年Google Assistantをラズパイに入れてスマートスピーカー買う必要ないなと思っていたが、赤外線対応など実現できていない部分があったのでスマートスピーカーの既製品を購入。 キャンペーンでClovaが3000円程度で変えて、Dockも含めて7000円程度で揃えられた。部屋のエアコン、電気、目覚まし、外から家電の遠隔操作などができ急速にIoT化を進めることができた。

来年使用・購入予定のガジェット

  • Looking Glass
    今年は間に合わなかったが、年明けすぐに到着する予定。何に使えるかは要検証だがかなり気になっている。

  • Qrio Lock等スマートロック系
    Line Clovaが対応したら部屋の鍵をスマートロックにしたい。

  • Oculus Quest
    コントローラー6DoFはかなり魅力的。初のOculus製品の購入になりそう。

  • Hololens2?
    出たら必ず買う。端末で機械学習の推論が結構できるようになるとの噂があるので期待。

  • xArm
    Kickstarterで20万以上投入。予定通りなら2019年4月発送らしい。2019はロボット制御にも足を踏み入れたい。

  • Vuzix Blade
    流石に2019には技適通るだろうから、そしたら色々実験したい。

  • Magic Leap
    とりあえず試してみたい。

  • Tello PayPayに便乗して購入。プログラムによるドローン制御はやってみたい。

HoloDartAssistant Privacy Policy

Privacy Policy

hygradme built the HoloDartAssistant app as a Free app. This SERVICE is provided by hygradme at no cost and is intended for use as is.

This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.

If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at HoloDartAssistant unless otherwise defined in this Privacy Policy.

Information Collection and Use

For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to None. The information that I request will be retained on your device and is not collected by me in any way.

The app does use third party services that may collect information used to identify you.

Link to privacy policy of third party service providers used by the app

Log Data

I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.

Cookies

Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

Service Providers

I may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security

I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

Contact Us

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.

This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

Mirage Solo 向けアプリを Daydreamで配信する

はじめに

Mirage Solo買った当初から「これからはスタンドアロン6DoFのVRの時代だ」と思い、もっと練習したいなと思っている卓球を題材にアプリを作りました。 コントローラーは3DoFで色々と不便なところはありますが、せっかく作ったのでとりあえずアプリ公開してみました。

Daydreamアプリの公開は経験がなく、日本語情報も(悲しいことにストアのコンテンツ数も...)少ないので何かと苦労するかと思い、雑ですが公開に当たってつまずいたことをまとめます。

環境

作成したアプリ:

https://play.google.com/store/apps/details?id=com.yhrscoding.TableTennisDaydream

www.youtube.com

アプリの申請方法

基本的には通常のAndroidアプリのようにgoogle play consoleでapkをアップロード、説明文、画像を入れて公開です。
しかし、通常のAndroidアプリと異なりDaydream向けの配信はgoogleの審査が必要です。審査基準は以下の公式サイトに乗っています(英語です)
https://developers.google.com/vr/distribute/daydream/publishing-requirements

ボタン等をHMDの向き等ではなく、コントローラーでクリックするとかDaydreamロゴを使わないといったことを除けば、Daydream向けアプリ固有で必要な設定はおおよそ以下になると思います。

1. Daydreamにアプリを配信することを示す
Google Play Console上で、ストアでの表示 -> 価格と配布 -> ユーザープログラム -> Daydream -> Daydreamにアプリを配信しますにチェック(ここにチェックが入れば更新のたびに審査に自動でかけられるようです)

2. 公開するアプリの頭の動きの激しさを示す(VR酔いの原因となるとされる実空間の動きとVR空間の動きの乖離が自分のアプリにどれだけあるかで回答が変わります)
Google Play Console上で、Daydream->動きの有無で公開予定のアプリの動きの激しさを3段階のどれかにする。なお頭の動きの激しさについては、審査基準のページに書いてありました。

Virtual motion is a major contributor to user discomfort in VR applications. Virtual motion is defined as changing the position or rotation of the user's virtual head position (and hence camera) without the user performing those movements using their own head at 1:1 scale. ...

とりあえず以下のような大まかなまとめです。コントローラーの動きの激しさは関係なく、要はユーザーに見える景色がユーザーの頭の移動以外でどれだけ変化するかでレーティングが変わります。

  • ユーザー自身が頭を動かしたことでVR空間上でも同距離だけ頭が移動する通常のmotionだけならランクは一番下の No Motion (0 degrees of freedom)
  • 平面上の移動をコントローラで行うようなアプリ(ユーザーの頭の動きではなく、コントローラー等の操作がVR表示の変化を起こす)かつ移動に急な加減速を含まないアプリはModerate Motion (2 degrees of translated virtual motion)  
  • 急な加減速、2自由度を超える動作を含むアプリはIntense Motion (2+ degrees of virtual motion)

    例として、今回の卓球のアプリのように、ユーザーの頭の位置がそのまま反映されるだけのアプリはNo Motion。エレベータのボタンを押すと昇降したり、ボタンを押せば前に進むようなアプリはModerate Motion。激しい加減速を含むジェットコースターや、アップダウンのあるコースを動くスキーのアプリなどはIntense Motion。という感じになるようです。

3. VRアイコンをアプリで設定する
Unity上でPlayer Settings -> XR Settings -> Virtual Reality SDKs -> Daydreamで「Foreground Icon」 と 「Background Icon」にそれぞれ画像を設定しなければいけません(Foreground Iconが背景透明な浮き出たせたいものの画像、Background Iconはその他の背景?のようです)

4. 全天球キャプチャー画像をアップロードする
Google Play Console上で、ストアでの表示 -> ストアでの掲載情報 -> 画像および映像 -> Daydreamの360度立体画像 に4096x4096の全天球画像(4096x2048の同じ画像を上下に配置して4096x4096でOK)をアップロードします。
なお全天球キャプチャーは以下のアセットを使いました。
https://assetstore.unity.com/packages/tools/camera/360-screenshot-capture-112864

使い方は以下のレポジトリのreadmeに書いてあるコードをほぼそのままスクリプトに貼り付け、ゲームオブジェクトにアタッチしてその関数を呼び出せば360画像が保存されます。(保存先はログに出てきます)
https://github.com/yasirkula/Unity360ScreenshotCapture

補足

全天球画像を上下に並べるのは以下のアプリ(mac)を使いました。(mac標準搭載の画像のビュアーの編集機能を使って並べることもできるようですが、微妙に上下の配置がおかしかったらしく、1回目のリジェクトの1項目になってしまったのでアプリで正確に並べました。)
https://itunes.apple.com/jp/app/hua-xiangno-dakisawo-jianete/id980577198?mt=12&ign-mpt=uo%3D4

1回目の審査結果

以下の4つの理由によりリジェクト

App eligibility issues:
  • Daydream app has a 360 Stereoscopic image The app must include one 360-degree stereo image to indicate it is a Daydream app. The majority of the image provided is not lined up properly causing double vision for the user. This issue is especially apparent when looking left, right, and down.
    -> 上述のストアの掲載情報の360度立体画像に関する指摘。上下が微妙にずれているよということらしい。上述のアプリでしっかりと揃えました。
APK Version(s) Eligibility Issue
  • The app does not use the Daydream controller properly The app makes use of head gaze when menu UI are present. For more information about controller guidelines, please see the Daydream App Quality Requirements.
    -> UIボタンをクリックする際にコントローラー+HMDの向きの両方が操作手段として入っているという指摘のようです(Canvas にGvrPointerGraphicRapycasterだけでなく、GraphicRaycasterもアタッチされたままだったため)。これを受けてGraphicRaycasterを無効にしました。
  • The app is missing a VR icon The app is missing a VR icon or the icon does not meet our requirements. The VR icon contains the Unity logo as a placeholder image. Guidelines and requirements for the assets can be found in the Daydream App Quality Requirements.
    -> VR iconが無い(Unityロゴが出てるぞ)との指摘。上述のForeground IconとBackground Iconを設定しないといけない。審査基準読んでいなかったために指摘された凡ミス。アプリのスクショを2つとってgimpで背景除去した物をForeground Iconにもう一つをBackground Iconに設定しました。
f:id:hygradme:20180804022610p:plainf:id:hygradme:20180804020539p:plainf:id:hygradme:20180804020430p:plain
  • Motion Intensity Rating You must correctly select one of three Motion Intensity levels for your app. For descriptions of the Motion Intensity levels, please see the Daydream App Quality Requirements.
    -> アプリの動きの激しさに関する自己申告を3段階中一番激しいものにしたがそんなに激しく無いという評価を受けたようだ。とりあえず一つ下のランクに変更した(ここで上の審査基準を読んでおけばよかった... 再度リジェクト食らう結果になった...)

2回目の審査結果

APK Version(s) Eligibility Issue
  • App does not maintain high performance with 6 degrees of freedom The app does not meet our performance standards for standalone devices. Make sure you are not enabling v-sync.
    ->アプリが6DoFでハイパフォーマンスを維持できないから、v-syncを無効化しろということらしい。とりあえず、Edit -> Project Settings -> Quality -> Others の「V sync Count」を「Every V Blank」から 「Don't sync」に変更しました。

  • Motion Intensity Rating App experience does not match with Motion Intensity needs to be set as No Motion. You must correctly select one of three Motion Intensity levels for your app. For descriptions of the Motion Intensity levels, please see the Daydream App Quality Requirements.
    -> アプリの動きの激しさに関する自己申告を3段階中真ん中のものにしたら、またもや間違えで今度は親切に「君のアプリはNo Motion」だと言われた。ここで審査基準をしっかりと読んでやっと理解した。

3回目の審査結果

Thanks for submitting your app for Daydream. We accepted TableTennis6DoF ...

無事審査を突破しアプリがDaydreamに配信されました。