ドローンのシミュレーション
動力学のシミュレータを少し動かしてみたくて。。
https://github.com/utiasDSL/gym-pybullet-drones
に。。こんな表がのってました。
Overview
gym-pybullet-drones |
AirSim | Flightmare | |
---|---|---|---|
Physics | PyBullet | FastPhysicsEngine/PhysX | Ad hoc/Gazebo |
Rendering | PyBullet | Unreal Engine 4 | Unity |
Language | Python | C++/C# | C++/Python |
RGB/Depth/Segm. views | Yes | Yes | Yes |
Multi-agent control | Yes | Yes | Yes |
ROS interface | ROS2/Python | ROS/C++ | ROS/C++ |
Hardware-In-The-Loop | No | Yes | No |
Fully steppable physics | Yes | No | Yes |
Aerodynamic effects | Drag, downwash, ground | Drag | Drag |
OpenAI Gym interface |
Yes | Yes | Yes |
RLlib MultiAgentEnv interface |
Yes | No | No |
確か、前にAirsim入れたよなぁ~ って。。
【自作UAVへ】MicrosoftのAirSimを入れて、遊んでみようと思ったけど、できないじゃん。Udacityの方は動いた【ドローン】
でも、非力なマシンでは動かなかった(笑) 今のPCだと動くんだろうけど。。
じゃぁ、Gym-pybullet-drones一回入れてみるかな??って。。
https://github.com/utiasDSL/gym-pybullet-drones/tree/master/assignments#on-windows
ここ読むと。。 Windows 10の場合のこと書いてありますが。。
そのままで動かなかったです(笑)
インストールと、実行忘備録
AnacondaでPythonをもう入れているという前提ですが。。conda baseのコマンドラインで
conda create --name pybullet python=3.7
pybulletのところは、好きな名前でいいです。。
(pybullet) C:\Users\user>pip3 install --upgrade numpy Pillow matplotlib cycler (pybullet) C:\Users\user>pip3 install --upgrade gym pybullet stable_baselines3
それと、exampleを動かすには、
pip3 install scipy pip3 install ray[rllib]
が要りました。
に行って、最新版のリリースのコードをダウンロードしてZipを展開し。。
なんちゃら_sim.pyとかをVS-codeなどで開き
17・18行目をコメントアウトしているのを外し
>>> import sys
>>> sys.path.append('../')
pybullet:condaの環境で実行すると。。
こんな感じで動いて
こんなグラフが生成されるという。。
exampleの中のファイルを実行する時にも、
#### Uncomment the following 2 lines if "module gym_pybullet_drones cannot be found" import sys sys.path.append('../')
を
from gym_pybullet_drones.envs.BaseAviary import DroneModel, Physics
とかの前に入れると動きます。
Log付きで出るのは便利ですね。
で。。ちょいちょいエラーでるので。。 修正しながら動かす感じですね(笑)
あと。。numpyが読み込めない。。 とか言われた時は。。
https://stackoverflow.com/questions/58868528/importing-the-numpy-c-extensions-failed
pip uninstall -y numpy
pip uninstall -y setuptools
pip install setuptools
pip install numpy
で回復しました。Vscodeの問題??
ということで。。
動くみたいなので、ちょっとコード見てみるかな??(笑) みないか?
コメントを残していただけるとありがたいです