microsoft / AirSim-NeurIPS2019-Drone-Racing

Drone Racing @ NeurIPS 2019, built on Microsoft AirSim
https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/
MIT License
361 stars 92 forks source link

Run multiple simulations at a time #118

Closed ghost closed 5 years ago

ghost commented 5 years ago

I want to run multiple simulations at a time, so I used different local host IPs to do it. I added the following to my AirSim's settings.json file: "LocalHostIp": "127.0.0.x" Then, I passed this same IP to AirSim Multirotor client in python: client = airsim.MultirotorClient(ip="127.0.0.x") The connection was successful but I got error when starting the race:

Code:

>>> import airsimneurips
>>> client = airsimneurips.MultirotorClient(ip="127.0.0.5")
>>> client.simLoadLevel('Qualifier_Tier_1')
True
>>> client.confirmConnection()
Connected!
>>> client.enableApiControl(vehicle_name='drone_1')
>>> client.arm(vehicle_name='drone_1')
True
>>> client.simStartRace(1)
WARNING:tornado.general:Connect error on fd 12: ECONNREFUSED
WARNING:tornado.general:Connect error on fd 12: ECONNREFUSED
WARNING:tornado.general:Connect error on fd 12: ECONNREFUSED
WARNING:tornado.general:Connect error on fd 12: ECONNREFUSED
WARNING:tornado.general:Connect error on fd 12: ECONNREFUSED
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/export/livia/home/vision/fmokhayeri/anaconda3/envs/tf-gpu/lib/python3.6/site-packages/airsimneurips/client.py", line 144, in simStartRace
    competitor.initialize_drone()
  File "/export/livia/home/vision/fmokhayeri/anaconda3/envs/tf-gpu/lib/python3.6/site-packages/airsimneurips/baseline.py", line 20, in initialize_drone
    self.airsim_client.enableApiControl(vehicle_name=self.drone_name)
  File "/export/livia/home/vision/fmokhayeri/anaconda3/envs/tf-gpu/lib/python3.6/site-packages/airsimneurips/client.py", line 53, in enableApiControl
    return self.client.call('enableApiControl', True, vehicle_name)
  File "/export/livia/home/vision/fmokhayeri/anaconda3/envs/tf-gpu/lib/python3.6/site-packages/msgpackrpc/session.py", line 41, in call
    return self.send_request(method, args).get()
  File "/export/livia/home/vision/fmokhayeri/anaconda3/envs/tf-gpu/lib/python3.6/site-packages/msgpackrpc/future.py", line 43, in get
    raise self._error
msgpackrpc.error.TransportError: Retry connection over the limit
ghost commented 5 years ago

I seems that the problem is only with simStartRace. When I use normal AirSim commands there is no problem, for example: "moveToPositionAsync".