Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how does carla autopilot actually work? #36

Closed
debdip opened this issue Nov 20, 2017 · 6 comments
Closed

how does carla autopilot actually work? #36

debdip opened this issue Nov 20, 2017 · 6 comments
Labels

Comments

@debdip
Copy link

debdip commented Nov 20, 2017

As per carla paper description it's used 3 different approaches: Modular pipeline, Imitation learning, Reinforcement learning. In which approach applied in carla autopilot mode?

Is autopilot implementation is open source? I only found binary.

@lucosanta
Copy link

I think that autopilot is an Unreal Engine pilot which moves through the streets. It is a test created just to move around the town environment. You can use it just requesting the measurements and picking ai_control data. You can look a similar example in this gist.

@nsubiron
Copy link
Collaborator

Hi @debdip, as @lucosanta says, by autopilot we refer to the hard-coded AI inside the game, this AI takes advantage of all the privileged information available in game and has nothing to do with the learning approaches mention in the paper and video.

@debdip
Copy link
Author

debdip commented Nov 20, 2017

hello Mr. nsubiron and lucosanta. Thank you for your reply.
That's why maybe semantic segmentation is disabled.
I've another question Mr. nsubiron.
Is there any option available to make it enable so that I can perform PSPnet or others to apply and make decision?

@nsubiron
Copy link
Collaborator

nsubiron commented Nov 20, 2017

The AI control is sent every frame together with the measurements, you can send it back to the server to enable the autopilot, or modify if wanted to add for instance some noise to it. The gist that @lucosanta provided is a good example.

With the current API (0.6.0), this is how you get the AI control and send it back to the server

measurements = carla.getMeasurements()
ai_control = measurements['PlayerMeasurements'].ai_control
carla.sendCommand(ai_control)

After 0.7.0 this is done with

measurements, sensor_data = carla_client.read_data()
control = measurements.player_measurements.autopilot_control
carla_client.send_control(control)

@jiamings
Copy link

Does the API mean we can override ai_control and replace it with whatever we want?
Another question: can I have multiple clients that controls several cars in the same environment?

@nsubiron
Copy link
Collaborator

Does the API mean we can override ai_control and replace it with whatever we want?

Yes, you can modify it or replace with whatever you want. This is actually the way the learning methods in the paper control the vehicle.

Can I have multiple clients that controls several cars in the same environment?

No, sorry, this is not yet supported. It is one of the features we would like to add in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants