|
CARLA
|
The function of this class is to integrate all the various stages of the traffic manager appropriately using messengers. More...
#include <TrafficManagerBase.h>
Inheritance diagram for carla::traffic_manager::TrafficManagerBase:Public Member Functions | |
| virtual ActionBuffer | GetActionBuffer (const ActorId &actor_id)=0 |
| Method to get the vehicle's action buffer. | |
| virtual carla::client::detail::EpisodeProxy & | GetEpisodeProxy ()=0 |
| Get carla episode information. | |
| virtual Action | GetNextAction (const ActorId &actor_id)=0 |
| Method to get the vehicle's next action. | |
| virtual void | RegisterVehicles (const std::vector< ActorPtr > &actor_list)=0 |
| This method registers a vehicle with the traffic manager. | |
| virtual void | Release ()=0 |
| To release the traffic manager. | |
| virtual void | RemoveImportedRoute (const ActorId &actor_id, const bool remove_path)=0 |
| Method to remove a route. | |
| virtual void | RemoveUploadPath (const ActorId &actor_id, const bool remove_path)=0 |
| Method to remove a path. | |
| virtual void | Reset (uint64_t episode_id)=0 |
| To reset the traffic manager for the episode episode_id. | |
| virtual void | SetAutoLaneChange (const ActorPtr &actor, const bool enable)=0 |
| Enable/disable automatic lane change on a vehicle. | |
| virtual void | SetBoundariesRespawnDormantVehicles (const float lower_bound, const float upper_bound)=0 |
| Method to set boundaries for respawning vehicles. | |
| virtual void | SetCollisionDetection (const ActorPtr &reference_actor, const ActorPtr &other_actor, const bool detect_collision)=0 |
| Method to set collision detection rules between vehicles. | |
| virtual void | SetCustomPath (const ActorPtr &actor, const Path path, const bool empty_buffer)=0 |
| Method to set our own imported path. | |
| virtual void | SetDesiredSpeed (const ActorPtr &actor, const float value)=0 |
| Set a vehicle's exact desired velocity. | |
| virtual void | SetDistanceToLeadingVehicle (const ActorPtr &actor, const float distance)=0 |
| Method to specify how much distance a vehicle should maintain to the leading vehicle. | |
| virtual void | SetForceLaneChange (const ActorPtr &actor, const bool direction)=0 |
| Method to force lane change on a vehicle. | |
| virtual void | SetGlobalDistanceToLeadingVehicle (const float dist)=0 |
| Method to set Global Distance to Leading Vehicle. | |
| virtual void | SetGlobalLaneOffset (float const offset)=0 |
| Method to set a global lane offset displacement from the center line. | |
| virtual void | SetGlobalLargeVehicleWideTurn (const bool enable)=0 |
| Method to enable/disable the wide-turn manoeuvre globally for large vehicles. | |
| virtual void | SetGlobalPercentageSpeedDifference (float const percentage)=0 |
| Set a global % decrease in velocity with respect to the speed limit. | |
| virtual void | SetHybridPhysicsMode (const bool mode_switch)=0 |
| Method to set hybrid physics mode. | |
| virtual void | SetHybridPhysicsRadius (const float radius)=0 |
| Method to set hybrid physics radius. | |
| virtual void | SetImportedRoute (const ActorPtr &actor, const Route route, const bool empty_buffer)=0 |
| Method to set our own imported route. | |
| virtual void | SetKeepSlowLanePercentage (const ActorPtr &actor, const float percentage)=0 |
| Method to set % to keep on the slow lane. | |
| virtual void | SetLaneOffset (const ActorPtr &actor, const float offset)=0 |
| Method to set a lane offset displacement from the center line. | |
| virtual void | SetLargeVehicleWideTurn (const ActorPtr &actor, const bool enable)=0 |
| Method to enable/disable the wide-turn manoeuvre for a single large vehicle. | |
| virtual void | SetMaxBoundaries (const float lower, const float upper)=0 |
| Method to set limits for boundaries when respawning vehicles. | |
| virtual void | SetOSMMode (const bool mode_switch)=0 |
| Method to set Open Street Map mode. | |
| virtual void | SetPercentageIgnoreVehicles (const ActorPtr &actor, const float perc)=0 |
| Method to specify the % chance of ignoring collisions with any vehicle. | |
| virtual void | SetPercentageIgnoreWalkers (const ActorPtr &actor, const float perc)=0 |
| Method to specify the % chance of ignoring collisions with any walker. | |
| virtual void | SetPercentageRunningLight (const ActorPtr &actor, const float perc)=0 |
| Method to specify the % chance of running any traffic light. | |
| virtual void | SetPercentageRunningSign (const ActorPtr &actor, const float perc)=0 |
| Method to specify the % chance of running any traffic sign. | |
| virtual void | SetPercentageSpeedDifference (const ActorPtr &actor, const float percentage)=0 |
| Set a vehicle's % decrease in velocity with respect to the speed limit. | |
| virtual void | SetRandomDeviceSeed (const uint64_t seed)=0 |
| Method to set randomization seed. | |
| virtual void | SetRandomLeftLaneChangePercentage (const ActorPtr &actor, const float percentage)=0 |
| Method to set % to randomly do a left lane change. | |
| virtual void | SetRandomRightLaneChangePercentage (const ActorPtr &actor, const float percentage)=0 |
| Method to set % to randomly do a right lane change. | |
| virtual void | SetRespawnDormantVehicles (const bool mode_switch)=0 |
| Method to set automatic respawn of dormant vehicles. | |
| virtual void | SetSynchronousMode (bool mode)=0 |
| Method to switch traffic manager into synchronous execution. | |
| virtual void | SetSynchronousModeTimeOutInMiliSecond (double time)=0 |
| Method to set Tick timeout for synchronous execution. | |
| virtual void | SetUpdateVehicleLights (const ActorPtr &actor, const bool do_update)=0 |
| Method to set the automatic management of the vehicle lights. | |
| virtual void | ShutDown ()=0 |
| virtual void | Start ()=0 |
| To start the traffic manager. | |
| virtual void | Stop ()=0 |
| To stop the traffic manager. | |
| virtual bool | SynchronousTick ()=0 |
| Method to provide synchronous tick. | |
| TrafficManagerBase () | |
| Protected constructor for singleton lifecycle management. | |
| virtual void | UnregisterVehicles (const std::vector< ActorPtr > &actor_list)=0 |
| This method unregisters a vehicle from traffic manager. | |
| virtual void | UpdateImportedRoute (const ActorId &actor_id, const Route route)=0 |
| Method to update an already set route. | |
| virtual void | UpdateUploadPath (const ActorId &actor_id, const Path path)=0 |
| Method to update an already set path. | |
| virtual | ~TrafficManagerBase () |
| Destructor. | |
The function of this class is to integrate all the various stages of the traffic manager appropriately using messengers.
Definition at line 26 of file TrafficManagerBase.h.
|
inline |
Protected constructor for singleton lifecycle management.
Definition at line 42 of file TrafficManagerBase.h.
|
inlinevirtual |
Destructor.
Definition at line 45 of file TrafficManagerBase.h.
|
pure virtual |
Method to get the vehicle's action buffer.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::GetActionBuffer(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Get carla episode information.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to get the vehicle's next action.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::GetNextAction(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
This method registers a vehicle with the traffic manager.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::RegisterVehicles(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
To release the traffic manager.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to remove a route.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::RemoveImportedRoute(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to remove a path.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::RemoveUploadPath(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
To reset the traffic manager for the episode episode_id.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
|
pure virtual |
Enable/disable automatic lane change on a vehicle.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetAutoLaneChange(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set boundaries for respawning vehicles.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetBoundariesRespawnDormantVehicles(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set collision detection rules between vehicles.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetCollisionDetection(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set our own imported path.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetCustomPath(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Set a vehicle's exact desired velocity.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetDesiredSpeed(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to specify how much distance a vehicle should maintain to the leading vehicle.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetDistanceToLeadingVehicle(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to force lane change on a vehicle.
Direction flag can be set to true for left and false for right.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetForceLaneChange(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set Global Distance to Leading Vehicle.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetGlobalDistanceToLeadingVehicle(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set a global lane offset displacement from the center line.
Positive values imply a right offset while negative ones mean a left one.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetGlobalLaneOffset(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to enable/disable the wide-turn manoeuvre globally for large vehicles.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetGlobalLargeVehicleWideTurn(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Set a global % decrease in velocity with respect to the speed limit.
If less than 0, it's a % increase.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetGlobalPercentageSpeedDifference(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set hybrid physics mode.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetHybridPhysicsMode(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set hybrid physics radius.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetHybridPhysicsRadius(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set our own imported route.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetImportedRoute(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set % to keep on the slow lane.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetKeepSlowLanePercentage(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set a lane offset displacement from the center line.
Positive values imply a right offset while negative ones mean a left one.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetLaneOffset(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to enable/disable the wide-turn manoeuvre for a single large vehicle.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetLargeVehicleWideTurn(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set limits for boundaries when respawning vehicles.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetMaxBoundaries().
|
pure virtual |
Method to set Open Street Map mode.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetOSMMode(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to specify the % chance of ignoring collisions with any vehicle.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetPercentageIgnoreVehicles(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to specify the % chance of ignoring collisions with any walker.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetPercentageIgnoreWalkers(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to specify the % chance of running any traffic light.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetPercentageRunningLight(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to specify the % chance of running any traffic sign.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetPercentageRunningSign(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Set a vehicle's % decrease in velocity with respect to the speed limit.
If less than 0, it's a % increase.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetPercentageSpeedDifference(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set randomization seed.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetRandomDeviceSeed(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set % to randomly do a left lane change.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetRandomLeftLaneChangePercentage(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set % to randomly do a right lane change.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetRandomRightLaneChangePercentage(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set automatic respawn of dormant vehicles.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetRespawnDormantVehicles(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to switch traffic manager into synchronous execution.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set Tick timeout for synchronous execution.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetSynchronousModeTimeOutInMiliSecond(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Method to set the automatic management of the vehicle lights.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SetUpdateVehicleLights(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::ShutDown().
|
pure virtual |
To start the traffic manager.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
|
pure virtual |
To stop the traffic manager.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
|
pure virtual |
Method to provide synchronous tick.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManager::SynchronousTick(), and carla::traffic_manager::TrafficManagerServer::TrafficManagerServer().
|
pure virtual |
This method unregisters a vehicle from traffic manager.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer(), and carla::traffic_manager::TrafficManager::UnregisterVehicles().
|
pure virtual |
Method to update an already set route.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer(), and carla::traffic_manager::TrafficManager::UpdateImportedRoute().
|
pure virtual |
Method to update an already set path.
Implemented in carla::traffic_manager::TrafficManagerLocal, and carla::traffic_manager::TrafficManagerRemote.
Referenced by carla::traffic_manager::TrafficManagerServer::TrafficManagerServer(), and carla::traffic_manager::TrafficManager::UpdateUploadPath().