Merge branch 'dev' into areopagx/navigation-bugfix

This commit is contained in:
Blyron 2024-09-11 20:31:09 +02:00 committed by GitHub
commit 199a5847cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 5769 additions and 3 deletions

View File

@ -19,6 +19,7 @@
* PythonAPI `Sensor.is_listening` was defined twice (property and method), cleaned and clarified it as a method. * PythonAPI `Sensor.is_listening` was defined twice (property and method), cleaned and clarified it as a method.
* Added V2X sensors for cooperative awareness message and custom user-defined messages to support vehicle-to-vehicle communication * Added V2X sensors for cooperative awareness message and custom user-defined messages to support vehicle-to-vehicle communication
* Added named tuples for BasicAgent.py's detection result to allow for type-hints and better semantics. * Added named tuples for BasicAgent.py's detection result to allow for type-hints and better semantics.
* Added type-hint support for the PythonAPI
## CARLA 0.9.15 ## CARLA 0.9.15

View File

@ -15,6 +15,8 @@
The __Digital Twin Tool__ enables procedural generation of unique 3D environments based on road networks derived from the [OpenStreetMap](https://www.openstreetmap.org) (OSM) service. Through the Digital Twin Tool interface in CARLA's Unreal Engine editor a user can select a region of map from OSM and download the road network as the basis for a new CARLA map. The tool then fills the spaces between the roads with procedurally generated 3D buildings that adjust to the layout of the road, creating a realistic 3D road environment with high variability. The __Digital Twin Tool__ enables procedural generation of unique 3D environments based on road networks derived from the [OpenStreetMap](https://www.openstreetmap.org) (OSM) service. Through the Digital Twin Tool interface in CARLA's Unreal Engine editor a user can select a region of map from OSM and download the road network as the basis for a new CARLA map. The tool then fills the spaces between the roads with procedurally generated 3D buildings that adjust to the layout of the road, creating a realistic 3D road environment with high variability.
<iframe width="100%" height="400px" src="https://www.youtube.com/embed/gTutXdS2UkQ?si=hssM3YRCAjSIzdXM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
## Building the OSM renderer ## Building the OSM renderer
If you are using Linux, you have the option of using the OSM renderer in the CARLA interface to navigate a large OSM map region that you have downloaded. You first need to build the OSM renderer before proceeding to build CARLA. Run `make osmrenderer` inside the CARLA root directory. You may need to upgrade your version of CMake to v3.2 or above in order for this to work. This will create two folders in your build directory called `libosmcout-source` and `libosmcout-build`. Before proceeding to build CARLA, you need to then edit the `Build.sh` file in the directory `$CARLA_ROOT/Build/libosmcout-source/maps` like so, to ensure the executable is found: If you are using Linux, you have the option of using the OSM renderer in the CARLA interface to navigate a large OSM map region that you have downloaded. You first need to build the OSM renderer before proceeding to build CARLA. Run `make osmrenderer` inside the CARLA root directory. You may need to upgrade your version of CMake to v3.2 or above in order for this to work. This will create two folders in your build directory called `libosmcout-source` and `libosmcout-build`. Before proceeding to build CARLA, you need to then edit the `Build.sh` file in the directory `$CARLA_ROOT/Build/libosmcout-source/maps` like so, to ensure the executable is found:

View File

@ -129,7 +129,7 @@ pip3 install --user -Iv setuptools==47.3.1 &&
pip install --user distro && pip install --user distro &&
pip3 install --user distro && pip3 install --user distro &&
pip install --user wheel && pip install --user wheel &&
pip3 install --user wheel auditwheel pip3 install --user wheel auditwheel==4.0.0
``` ```
--- ---

File diff suppressed because it is too large Load Diff

View File

@ -237,6 +237,10 @@ void export_geom() {
self.TransformPoint(location); self.TransformPoint(location);
return location; return location;
}, arg("in_point")) }, arg("in_point"))
.def("inverse_transform", +[](const cg::Transform &self, cg::Vector3D &location) {
self.InverseTransformPoint(location);
return location;
}, arg("in_point"))
.def("transform_vector", +[](const cg::Transform &self, cg::Vector3D &vector) { .def("transform_vector", +[](const cg::Transform &self, cg::Vector3D &vector) {
self.TransformVector(vector); self.TransformVector(vector);
return vector; return vector;

View File

@ -279,8 +279,11 @@ def main():
for spawn_point in spawn_points: for spawn_point in spawn_points:
walker_bp = random.choice(blueprintsWalkers) walker_bp = random.choice(blueprintsWalkers)
# set as not invincible # set as not invincible
probability = random.randint(0,100 + 1);
if walker_bp.has_attribute('is_invincible'): if walker_bp.has_attribute('is_invincible'):
walker_bp.set_attribute('is_invincible', 'false') walker_bp.set_attribute('is_invincible', 'false')
if walker_bp.has_attribute('can_use_wheelchair') and probability < 11:
walker_bp.set_attribute('use_wheelchair', 'true')
# set the max speed # set the max speed
if walker_bp.has_attribute('speed'): if walker_bp.has_attribute('speed'):
if (random.random() > percentagePedestriansRunning): if (random.random() > percentagePedestriansRunning):

View File

@ -1595,7 +1595,7 @@ void UActorBlueprintFunctionLibrary::MakePedestrianDefinition(
Definition.Attributes.Emplace(FActorAttribute{ Definition.Attributes.Emplace(FActorAttribute{
TEXT("can_use_wheel_chair"), TEXT("can_use_wheelchair"),
EActorAttributeType::Bool, EActorAttributeType::Bool,
Parameters.bCanUseWheelChair ? TEXT("true") : TEXT("false") }); Parameters.bCanUseWheelChair ? TEXT("true") : TEXT("false") });
@ -1626,7 +1626,7 @@ void UActorBlueprintFunctionLibrary::MakePedestrianDefinition(
WheelChairVariation.Type = EActorAttributeType::Bool; WheelChairVariation.Type = EActorAttributeType::Bool;
if(bCanUseWheelChair) if(bCanUseWheelChair)
{ {
WheelChairVariation.RecommendedValues = { TEXT("true"), TEXT("false") }; WheelChairVariation.RecommendedValues = { TEXT("false"), TEXT("true") };
} }
else else
{ {

View File

@ -5,3 +5,9 @@
// For a copy, see <https://opensource.org/licenses/MIT>. // For a copy, see <https://opensource.org/licenses/MIT>.
#include "WalkerBase.h" #include "WalkerBase.h"
AWalkerBase::AWalkerBase(const FObjectInitializer &ObjectInitializer)
: Super(ObjectInitializer)
{
}

View File

@ -16,6 +16,7 @@ class CARLA_API AWalkerBase : public ACharacter
GENERATED_BODY() GENERATED_BODY()
AWalkerBase(const FObjectInitializer &ObjectInitializer);
public: public:
UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere) UPROPERTY(Category="Walker Base", BlueprintReadWrite, EditAnywhere)