-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
A few changes for 0.9.1 #915
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(cherry picked from commit bd15ef1)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Massive PR with lots of changes required for 0.9.1.
User-side improvements
API changes
API methods for retrieving and changing weather conditions and lighting,
world.get_weather()
andworld.set_weather(params)
. Addcarla.WeatherParametes
class that parametrizes the weather conditions, and add weather presets to it:carla.WeatherParametes.ClearNoon
, etc.Remove
client.ping()
,client.get_server_version()
accomplishes the same.Add support for requesting the list of actors alive in the current world,
world.get_actors()
. Returns anActorList
object, behaves like a list but hasfilter
functionality and lazy initialization of Actors.Add id (id of current episode) and map name to
carla.World
classRename
contains_X()
methods tohas_X()
.Add
semantic_tags
to Actors containing the list of tags of all of its components (these tags match the tags retrieved by the semantic segmentation sensor).Add a "tick" message containing info of all the actors in the scene, this is executed in the background and cached. This way calls to
actor.get_transform()
oractor.get_location()
do not need to connect with the simulator, but can access the cached info. This makes these calls quite cheap.Add
world.wait_for_tick()
andworld.on_tick(callback)
methods for synchronizing the client with simulator updates. Both methods return/pass acarla.Timestamp
object containing, frame count, delta time of last tick, global simulation time, and OS timestamp.Add
actor.get_velocity()
andactor.get_acceleration()
, these are also cached so its quite cheap to get them.Add bounding boxes to vehicles,
vehicle.bounding_box
property.Function to enable/disable simulating physics on an actor,
actor.set_simulate_physics(enabled=True)
.Expose traffic lights and signs as actors. Traffic lights have a specialized actor class that has the traffic light state (red, green, yellow) as property.
Add methods for accessing and modifying individual items in
carla.Image
(pixels) andcarla.LidarMeasurement
(locations).Add collision event sensor, "sensor.other.collision", that triggers a callback on each collision to the actor it is attached to. The callback receives a
carla.CollisionEvent
containing the actor it collided to and the normal impulse of the collision.Add
carla.Vector3D
to generalizecarla.Location
.Other C++ improvements
detail::Client
for pure networking operations only.EpisodeProxy
that allows access to Simulator only if the episode hasn't changed.geom::Vector3D
andgeom::BoundingBox
.AtomicSharedPtr
,RecurrentSharedFuture
,CallbackList
.ActorVariant
for lazy initialization of Actors.CachedActorList
for caching Actor descriptions and reduce call to the server.Buffer
.AWorldObserver
sensor and its serializer for serializing all the actors registered in the episode and sending the "tick" message.ACollisionSensor
and its serializer for detecting collisions.not_spawnable
tag for sensors that cannot be spawned by the client (e.g. world observer).make check
targets. Very handy for filtering test while developing.Fixes
actor.set_transform()
broken for attached actors.carla.ColorConverter.None
tocarla.ColorConverter.Raw
.Issues that fixes
Where has this been tested?
Possible Drawbacks
Definitively.
This change is