* Added IMU sensor to the client-server pipeline
* Fixed lane_explorer.py with the new debug API
* Changed compass output to standard compass degrees
* - Added accelerometer calculation to IMU.
* Added angular velocity to the IMU
* Changed IMU acceleration from world to local
* Updated changelog
* Updated accelerometer. Now uses vehicle movement component information instead of pawn information.
* Added docs regardings new sensors
* Fixed SI units in Lidar
* Fixed core dumped when using other python modules
* Explicitly deleted Vec3D from FVec constructors
* Removed redundant DeltaTime calculation
* Initial commit
This commit imports files from scenario_runner repository
* WIP TrafficDistributor
Set horizontal integral component to 0
Fixed startup concurrency issue
* TrafficDistributor first crude version
* Code asthetics, Uncrustified.
* Code clean up
* Fixed more concurrency bugs
* Reduced number of vehicles per core
Fixed some unhandled exceptions
* EOD commit 29AUG2018
* Re-organizing directory structure
* WIP code re-organization
* Redesigned PipelineStage
Implemented Messenger to communicate between stages
Implemented LocalizationStage
Added StageEnum
Removed unecessary files
* WIP Testing LocalizationStage
* Implemented and benchmarked LocalizationStage
Achieved single stage throughput of 600,000,000
* Implemented CopyBufferList() in LocalizationStage
* Fixed stage stalling and corrected benchmark
* Setting worker thread count to 1
* Code re-organization for porting MotionPlannerStage
* WIP - porting MotionPlanner
* Moved thread management logic into PipelineStage base class
* Implemented output data frame switching
Moved relavent structures and types from MotionPlannerStage.h to PIDController.h
* Re-organized directory structure to be consistent with rest of the project
Initialized frame_selector in constructor
* WIP - EOD commit 02SEP209
* WIP - managed to break deadlock between sender and receiver
* Implemented common mutex sharing for thread management in PipelineStage
Added small timeout for thread locking in PipelineStage
Finally broke deadlocks in stage integration
* Porting BatchControlStage to new design
* Ported BatchControlStage to new design
Fixed array indexing bug
Messaging actor_id instead of actor pointer to BatchControlStage
Improved thread co-ordination logic in PipelineStage
* Fixed array exetreme indexing issue
* Fixed thread co-ordination logic for multiple worker thread case
* Ported PID state map to dynamically allocated vector
Changed thread co-ordination time out to 1ms
* WIP - EOD 03092019
* Ported CollisionStage to new design
Added debug helper parameter
Added directionality pre-condition to check polygon overlap
Streamlined boundary functions
Fixed actor id to array index map
Passing individual buffers from localization
Using unsigned int keys in VicinityGrid
* WIP - fixing localization conflict on frame switching
* Fixed localization frame switching bug
* Ported TrafficLightStage to new design (#2078)
* Implemented TrafficLightStage with new architecture
* Implemented slowdown on approaching junction
* Integrated all stages into Pipeline class
* Ported PipelineExecutable.cpp to work with new Pipeline
* WIP - Fixing TrafficDistributor
* Switching to single thread stage actions
Added release options to CMakeLists.txt
Changed vicinity grid keys to string
* Changed TrafficDistributor to TrafficDistribution
This class only meant to keep track of vehicles acrros different road positions
* Changed TrafficDistributor declaration in LocalizationStage
* WIP - Lane changes
* Streamlined traffic distribution implementation
* Implemented a working lane change policy
* Fixed const correctness for ActionThreadManager and Action methods
Chaned varialbe++ to ++variable wherever suitable
* Using STL's numeric_limits instead of arbitrary high values for infinity
Made suitable constants static
Camelcase starting with uppercase for InMemoryMap methods
Fixed comment notions in all files
* Streamlined boolean return values from methods in CollisionStage.cpp
Using short hand for boost::geometry
More comments on boundary calculation logic
Camelcasing for methods
* Fixed TrafficDistribution vehicle tracking logic
Removed distance limit for lane change
* Moved lane change logic to TrafficDistributor.cpp
* Implemented logic to avoid collisions with unregistered actors
* Implemented graceful stop functionality for traffic manager
* Code aesthetics
* Added debug support for TrafficDistributor.cpp
Fixed Test.cpp
* Defined constants in TrafficDistributor.cpp
Code aesthetic changes
* Update README.md
* Aphabetical ordering of header include statements
* Code streamlining and aesthetic changes
* Review comment changes (#2116)
Review comment changes
Removed frame_map from TrafficLightStage
* Made changes for review comments (#2117)
* Fixed implicit private inheritence for LocalizationStage
Removed unecessary using <method> statements in concrete stage classes
* Removed break logic from all loops
* Added detailed comments to all header files
* Minor review comment changes to collision stage
* Detailed comments for all .cpp files
* Implemented batch spawn and delete
* Added minimum distance check for lane change
Increased wait time after sending batch spawn command
* Simplified geodesic boundary creation in collision stage
* Changing to unsigned integers when appropriate
Shorter name aliasing
* Changes for code reveiw comments
* Removed white spaces
* Code review changes
Using carla::geom::Math::DistanceSquared whenever possible
Better name aliasing
Function signature checks
* Code aesthetics, text formatting
* Changes for appropriate auto keyword usage
* Grammar check
* Grammatical correction
* Distance based check points and boundary generation
instead of index based checks
* Using explicit typing wherever possible instead of auto
* Review comment changes
* Review comment changes
* Added time margin for approaching vehicles for lane change
Increased minimum collision boundary
Streamlined InMemoryMap::StructuredWaypoints
Implemented gradual braking in PIDController
Added left right checks in SimpleWaypoint
Removed redundant method in SimpleWaypoint
* Initial implementation for reproducibility
* Fixed radomization during path selection
* Added Vicinity grid-key checker for grid to actor_id map
* WIP: junction negotiation enhancement
* Polygon to polygon distance based collision negotiation
* Update Linux.mk
* Update CMakeLists.txt
* Update Vars.mk
* Update README.md
* Update getting_started.md
* Review comment changes
Namespace aliasing checks
Redundant function call checks
Default constants defined in motion planner stage
Removed hard braking to slow down near junctions
Lane change approaching vehicle check time margin
Added -h option to get help on traffic manager
* Reverting to carla::client::Vehicle::GetTrafficlightState non-signalised junctions
* Added communication timeout and implemented stopping when carla stops
Removed throughtput measurement logic from PipelineExecutable
* Updated gitignore
* updated CHANGELOG.md
* updated CHANGELOG.md
* WIP: negotiating non-signalised junction
* Time duration ticketing system for non-signalised junctions
Changed from pre-randomised to run time randomised decisions at junctions
* Removing debug draw statements
* Fixed make and cmake, more work required
* Added traffic manager build to jenkins
* updated docs
* Exposed DOF and Exposure in Python for RGB sensor
* Fixed blueprint waypoint functions
* Added Tonemapper settings
* Improved lens shader
* RGB camera have lens shader by default
* Adjusted lens shader
* Added lens disortion to Depth and SemSeg sensors
* Added Chromatic Aberration to Camera API
* Added the blueprint doc_gen and updated docs
* Sorted blueprint attributes in docs
* Added docs about new camera attributes
* Spelling fixes in docs
* Sorted includes
* Fixed travis pylint 3
* Updated CARLA video link (README)
* Updated API reference - deleted overview
* Added css to docs
* Added documentation standard section
* Updated API docs
* Updated documentation following the standard
* Updated How to create map and import docs + documentation related standard + improvements
* Word change
* Updated importing assests from RR
* Fixes and new section for pedestrian navigation
* Changed image position
* Updated
* A couple of fixes regarding links and titles
* Updated import docs
* Updated docs
* Updated CARLA video link (README)
* Updated API reference - deleted overview
* Added css to docs
* Added documentation standard section
* Updated API docs
* Updated documentation following the standard
* Updated How to create map and import docs + documentation related standard + improvements
* Word change
* Updated importing assests from RR
* Fixes and new section for pedestrian navigation
* Changed image position
* Updated
* Added c++ doc section, Updated bp_library,docs improvements
* Minor changes
* Docs updates
* Added c++ doc section, Updated bp_library,docs improvements
* Minor changes
* Docs updates
* Updated jenkins file - master rebase
* Updated Jenkins - rebase
* Fixed doxygen link
* Waypoint tutorial extended and fixes
* Merge branch 'master' into fdomf/docs
* Fixes
* Merge branch 'fdomf/docs' of https://github.com/carla-simulator/carla into fdomf/docs
* Updated some python API class & methods
* Merge branch 'master' into fdomf/docs
* updated python api
* Updates
* Fixed broken link in camera&sensors doc
* Python API doc updated
* Added python api
* Added first lite version of python cookbook and docs related links
* Bp_doc_gen
* Merge branch 'master' into fdomf/docs
* merge master python api docs
* Updated doc
* make PythonApi.docs
* Merge branch 'master' into fdomf/docs
* Updated python API doc generator
* New debug recipe
* Docs fixes
- Fix naming: Use 'LaneInvasionSensor'/'lane_invasion' instead of mixture with 'LaneDetector'/'lane_detector'
- Create server-side LaneInvasionSensor (to be able to access it via ROS bridge)
An initial reference location is read from the header of the OpenDRIVE definition (/OpenDRIVE/header/geoReference)
The expected format is based on the Proj4 syntax:
+lat_0=<LATITUDE as double> +lon_0=<LONGITUDE as double)
Example (Town01):
<OpenDRIVE>
<header revMajor="1" revMinor="4" name="" version="1" date="2018-10-26T12:17:35" north="2.0479999989271146e+1" south="-3.4888998413085938e+2" east="4.1446086126736287e+2" west="-2.0712774024007370e+1" vendor="VectorZero">
<geoReference><![CDATA[+lat_0=4.9000000000000000e+1 +lon_0=8.0000000000000000e+0]]></geoReference>
</header>
...
While creating the new carla ros bridge some extensions became necessary
within CARLA:
The parent property of an actor via python interface is not yet filled.
Therefore, the parent_id of Actors has to be transferred from the CARLA
server via rpc interface.
In addition, actor attributes are published via python interface.
Changes in detail:
carla/rpc/Actor.h:
- add parent_id field to the Actor class for rpc transport
TheNewCarlaServer.cpp:
- fill the parent_id field with the appropriate value
client/ActorList:
- added GetActor() function to get an actor by id
client/ActorVariant:
- added actor_list optional parameter to Get() and MakeActor() function
which allows to query for the parent actor in case the actor_list is
available
client/ActorAttribute:
- solved problem of independent rpc::ActorAttribute* classes by
introduction of ActorAttributeValueAccess class, to be able to reuse
most of the functions for both ActorAttribueValues and ActorAttributes
ActorBlueprintFunctionLibrary:
- extended actor attributes by attribute 'role_name' having {autopilot,
scenario, ego_vehicle} as recommended values for vehicles or
{front,back,...} for sensors to be able to distiguish the different
actors in a meaningful way when transferring to ROS topic names
- extended vehicle attributes by not-modifiable attribute 'object_type'
to be defined at blueprint creation time to provide ground truth
object classification type
PythonAPI:
- libcarla: provide the actor attributes within python as dictionary
- make use of role_name attribute to provide information required for
ROS bridge to distinguish ego vehicle from others
No feature of cmake newer than 3.5 is used. Therefore, we can use
cmake 3.5, which is also standard in Ubuntu 16.04, whereas cmake 3.9
is non-standard.