Closed nabenosuke closed 4 years ago
■UDP版のcolor_sensor
だけ動き,MMAP版のcolor_sensor
が動作しない件について
UDP版とMMAP版の違いとして,athrill実行時の引数に指定するファイルが異なる
という点があります.
UDP版の場合
$ athrill2 -c1 -t -1 -m memory.txt -d device_config.txt ../asp
MMAP版の場合
$ athrill2 -c1 -t -1 -m memory_mmap.txt -d device_config_mmap.txt ../asp
また,MMAP版ではUnityのシミュレータ起動時にmmapファイルの初期化を行っているため, Unityのシミュレータの起動→athrillの起動の順で実行する必要があります.
■line_trace
でロボットが動かない件について
color_sensor
との違いは特にありません,MMAP版ではファイルパスが
異なるぐらいだと思います.
UDP版の場合,color_senosr
と異なるポート番号を使用しているのであれば,
color_sensor
で動作していたポート番号を使用してみてください.
MMAP版の場合,再度MMAPファイルのパスが正しいかご確認ください.
ファイルパスが正しくないなどの理由で,MMAPファイルが読み込めなかったとき
Unity側の画面下部のConsole
タブ内で,MMAPファイルが読み込めなかった旨の
エラーが出力されます.
ありがとうございます。 Unityのシミュレータを起動した後にUDP版、MMAP版に対応したファイルを引数としてathrillを実行しましたが、動作しませんでした。
line_trace
を動かす際ポート番号を確認しましたが、color_sensor
と同じポート番号であり、エラーも出力されませんでした。
また、環境が6月ごろに導入した時のままでしたので、それぞれgit pullで新しくしたところ、UDP版のcolor_sensor
も動かなくなりました。
今まで動かなかった他の3つパターンも、#### motor control start
までは出力されていた覚えがあるのですが、それも出力されなくなりました。
原因の切り分けのために,導入・使用手順のどの段階まで進んでいるのか確認させてください.
timer32.o
が作成されるかご確認ください)asp
という実行ファイルがビルドを行った時間で作成されているかご確認ください)#### motor control start
のメッセージが出力されるかご確認ください)申し訳ありません。環境を見直す過程で.bashrcのPATH設定でタイプミスを起こしていました。
また、line_trace
のUDP版が動作しない件は、device_config.txtを弄ってしまっていたことが原因でした。
これらを修正したところ、athrillのビルドからathrillの実行まで成功していることを確認しました。
しかし、MMAP版はどちらも動作しませんでした。 Unityの置くべき場所を把握できていないのですが、Windowsでの導入手順ではWindows上のUnityとWSL上のathrill間でMMAP通信を行っているのでしょうか。
Unityの置くべき場所を把握できていないのですが、Windowsでの導入手順ではWindows上のUnityとWSL上のathrill間でMMAP通信を行っているのでしょうか。
はい,その通りだと私は認識しています. 一度,athrillなどの単体ロボット向けシミュレータに関わるリポジトリをWIndowsのフォルダ(例えばCドライブの任意のフォルダ)などに場所を変えて試していただくことは可能でしょうか?
リポジトリをCドライブ上のフォルダに移したところ、どちらも動作させることができました。ありがとうございました。
color_sensor
でロボットがコースを一周した後コースを外れて落下するのですが、これは仕様でしょうか?
リポジトリをCドライブ上のフォルダに移したところ、どちらも動作させることができました。ありがとうございました。
color_sensor
でロボットがコースを一周した後コースを外れて落下するのですが、これは仕様でしょうか?
仕様ではありません. ライントレース制御パラメータのチューニングがうまく行ってないのだと思います. 単体ロボットシミュレータとしては,あくまでもサンプルプログラムの提供(動くところまで)なので,完全な制御ができているプログラムは可能ならやりたいですが,必須ではないという認識でおります.
把握いたしました。 ありがとうございました。
導入手順、使用手順に沿ってV850版で
single-robot-HackEV(v2.0)
を使ってline_trace
とcolor_sensor
を動かそうとしたところUDP版のcolor_sensor
の場合だけ動き、MMAP版やline_trace
だとロボットが動かないのですが、何が違うのでしょうか。なおWindowsから使っており、Unity以外はWSL上に配置していて、MMAP版を使う際はMMAPファイルのパスを
\\wsl$\Ubuntu-18.04\home\username\ev3rt-athrill-v850e2m\sdk\workspace\color_sensor(line_trace)\unity_mmap.bin(athrill_mmap.bin)
と指定しています。