実現したいこと
Unityを使ってバスケットボールのシミュレーションをつくり、試合の強化学習を行いたいです。
調べたところ、以下のオープンソースを見つけたので、これを使って強化学習の実行を行いたいです。
https://github.com/chenh1001/Basketball-ML-Unity
強化学習はUnity-MLAgentsを使っています。
発生している問題・分からないこと
オープンソースをzipでダウンロードし、Unity HubのAddから/home/kaoru/ml-agents/Basketball-ML-Unity-master/Projectを選択して開き、
c#
1mlagents-learn /home/kaoru/ml-agents/ml-agents-release_19/config/ppo/Basic.yaml --run-id=BasketballRun1
以上を実行したところ、次のエラーメッセージが出ました。
エラーメッセージ
例えば
NullReferenceException: Object reference not set to an instance of an object PlayingPassNN.Initialize () (at Assets/ML-Agents/BasketBall/newBasketBall/Scripts/PlayingPassNN.cs:33) Unity.MLAgents.Agent.LazyInitialize () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Agent.cs:397) Unity.MLAgents.Agent.OnEnable () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Agent.cs:303)
NullReferenceException: Object reference not set to an instance of an object PlayingPassNN.CollectObservations (Unity.MLAgents.Sensors.VectorSensor sensor) (at Assets/ML-Agents/BasketBall/newBasketBall/Scripts/PlayingPassNN.cs:58) Unity.MLAgents.Agent.SendInfoToBrain () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Agent.cs:895) Unity.MLAgents.Agent.SendInfo () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Agent.cs:1140) Unity.MLAgents.Academy.EnvironmentStep () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Academy.cs:503) Unity.MLAgents.AcademyFixedUpdateStepper.FixedUpdate () (at /home/kaoru/ml-agents/Basketball-ML-Unity-master/com.unity.ml-agents/Runtime/Academy.cs:34)
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
エラーで指摘されている部分は
csharp
1manager = transform.GetComponentInParent<ShootingPlayerScript>(); 2manager.hasBall = false;
csharp
1if (manager.gc == null) 2 manager.hasBall = true;
など、いずれもManagerについて言及しているものと思われます。
よって、Managerをインスペクターでアサインしていないことが原因と思いました。
補足
Scriptsはオープンソースから一切変えていません。
Manager以外のインスペクターウィンドウでの設定も不安なので、ダウンロード時からどう変更したらうまくいくか確認いただけると幸いです。
初心者なので初歩的なところでつまづいているかもしれないですが、知見おありの方ご教示いただけると嬉しいです!!
実行環境
Ubuntu

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。