Compare commits
66 Commits
e51d68a372
...
4bea65c81f
Author | SHA1 | Date |
---|---|---|
julee | 4bea65c81f | |
MattRoweEAIF | 2a2cc5f1be | |
MattRoweEAIF | f7ed6c25e9 | |
Blyron | 4feeb77b2b | |
Ylmdrin | 92a6e71c6b | |
Sergio Paniego Blanco | c7339367b9 | |
Jorge Virgos | 4d09f0a660 | |
AreopagX | 9e94feb3a5 | |
Blyron | 00df447670 | |
MattRoweEAIF | c097d7acf1 | |
Daniel | 334740ae53 | |
Daniel | 7633334063 | |
Daniel | 2b465bcd66 | |
Daniel | aec0b261af | |
Daniel | 58e0374f4f | |
Daniel | 26dc386724 | |
Daniel | 798c9e144c | |
Daniel | 77856f467c | |
Daniel | ca81e35d59 | |
Daniel | da80757e27 | |
Daniel | 453ceca112 | |
Daniel | a959577ccf | |
Daniel | b061f9e951 | |
Daniel | f797e1593a | |
Daniel | 41e595c056 | |
Daniel | d9c217ee3c | |
Daniel | a089c3b800 | |
Daniel | 19b892f76b | |
Daniel | 8df99c0414 | |
Daniel | 2935897950 | |
Daniel | ddb5834e38 | |
Daniel | e765559384 | |
Daniel | df1eb25721 | |
Daniel | caac503fdb | |
Daniel | 4c086ad7d9 | |
Daniel | 1d4450b026 | |
Daniel | 0197e0ae5b | |
Daniel | de33210abd | |
Daniel | a0cff71434 | |
Daniel | 232cb8c250 | |
Daniel | 755c0d827d | |
Daniel | 4c1104dc47 | |
Daniel | f275e47f4e | |
Daniel | 7b2c1db39b | |
Daniel | 251b293d61 | |
Daniel | bc6e7cd5ea | |
Daraan | be8735fc28 | |
Daniel | 951fcc4cc9 | |
Minokori | fd44ea0ca1 | |
Blyron | e83b79be74 | |
Blyron | 32f97eae66 | |
Blyron | c83c045ada | |
Blyron | 7c47e7db37 | |
Blyron | 17963902e5 | |
julee | a764d0ffdb | |
Blyron | 5043ad73fc | |
Blyron | b86b1997fc | |
Blyron | 2a507990d3 | |
Blyron | d854ab5f89 | |
Blyron | 649e2aa56b | |
Blyron | 5be0e2fd17 | |
julee | 87e22790d2 | |
Blyron | 3a3b0b5c24 | |
Blyron | 1b9e638f28 | |
Axel1092 | d8d995a514 | |
julee | 409ceece3d |
|
@ -1,4 +1,5 @@
|
|||
## Latest Changes
|
||||
* Fixed a bug that caused navigation information not to be loaded when switching maps
|
||||
* Prevent from segfault on failing SignalReference identification when loading OpenDrive files
|
||||
* Added vehicle doors to the recorder
|
||||
* Added functions to get actor' components transform
|
||||
|
@ -18,6 +19,7 @@
|
|||
* 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 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
|
||||
|
|
|
@ -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.
|
||||
|
||||
<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
|
||||
|
||||
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:
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
|
@ -1999,7 +1999,7 @@ Iterate over the [carla.RadarDetection](#carla.RadarDetection) retrieved as data
|
|||
|
||||
## carla.Rotation<a name="carla.Rotation"></a>
|
||||
Class that represents a 3D rotation and therefore, an orientation in space. CARLA uses the Unreal Engine coordinates system. This is a Z-up left-handed system. <br>
|
||||
<br>The constructor method follows a specific order of declaration: `(pitch, yaw, roll)`, which corresponds to `(Y-rotation,Z-rotation,X-rotation)`. <br> <br>![UE4_Rotation](https://d26ilriwvtzlb.cloudfront.net/8/83/BRMC_9.jpg) *Unreal Engine's coordinates system*.
|
||||
<br>The constructor method follows a specific order of declaration: `(pitch, yaw, roll)`, which corresponds to `(Y-rotation,Z-rotation,X-rotation)`. <br> <br>![UE4_Rotation](/img/unreal_lhcs.png) *Unreal Engine's coordinates system*.
|
||||
|
||||
### Instance Variables
|
||||
- <a name="carla.Rotation.pitch"></a>**<font color="#f8805a">pitch</font>** (_float<small> - degrees</small>_)
|
||||
|
|
|
@ -736,7 +736,7 @@ The following tags are currently available (Note, tags changed from version 0.9.
|
|||
| `14` | Car | `(0, 0, 142)` | Cars, vans |
|
||||
| `15` | Truck | `(0, 0, 70)` | Trucks |
|
||||
| `16` | Bus | `(0, 60, 100)` | Busses |
|
||||
| `17` | Train | `(0, 60, 100)` | Trains |
|
||||
| `17` | Train | `(0, 80, 100)` | Trains |
|
||||
| `18` | Motorcycle | `(0, 0, 230)` | Motorcycle, Motorbike |
|
||||
| `19` | Bicycle | `(119, 11, 32)` | Bicylces |
|
||||
| `20` | Static | `(110, 190, 160)` | Elements in the scene and props that are immovable. <br> E.g. fire hydrants, fixed benches, fountains, bus stops, etc. |
|
||||
|
@ -940,21 +940,19 @@ While the visibility is simulated within CARLA, the scenario can be configured b
|
|||
* __Output:__ [carla.CAMData](python_api.md#carla.CAMData), triggered according to the ETSI CAM standard, unless configured otherwise
|
||||
|
||||
Triggering conditions according to ETSI standard:
|
||||
- Heading angle change > $4$°
|
||||
- Position difference > $4$ m
|
||||
- Speed change > $5$ m/s
|
||||
- Heading angle change > 4°
|
||||
- Position difference > 4 m
|
||||
- Speed change > 5 m/s
|
||||
- Time elapsed > CAM Generation time (configurable)
|
||||
- Low Frequency Container Time Elapsed $> 500$ ms
|
||||
- Low Frequency Container Time Elapsed > 500 ms
|
||||
|
||||
For the CAM V2X sensor, additional blueprint attributes apply:
|
||||
|
||||
| Blueprint attribute | Type | Default | Description |
|
||||
|-------------------------|--------|-------------------------|------------------------------------|
|
||||
| <td colspan=4> Message generation |
|
||||
| gen\_cam\_min | float | $0.1$ | Minimum elapsed time between two successive CAMs in seconds (s) |
|
||||
| gen\_cam\_max | float | $1.0$ | Maximum elapsed time between two successive CAMs in seconds (s) |
|
||||
| gen\_cam\_min | float | 0.1 | Minimum elapsed time between two successive CAMs in seconds (s) |
|
||||
| gen\_cam\_max | float | 1.0 | Maximum elapsed time between two successive CAMs in seconds (s) |
|
||||
| fixed\_rate | bool | false [true] | Generate a CAM in every CARLA tick (only for debug purposes, will result in slowdown) |
|
||||
| <td colspan=4> Data generation |
|
||||
| `noise_vel_stddev_x` | float | 0\.0 | Standard deviation parameter in the noise model for velocity (X axis). |
|
||||
| `noise_accel_stddev_x` | float | 0\.0 | Standard deviation parameter in the noise model for acceleration (X axis). |
|
||||
| `noise_accel_stddev_y` | float | 0\.0 | Standard deviation parameter in the noise model for acceleration (Y axis). |
|
||||
|
@ -993,14 +991,14 @@ Example:
|
|||
|
||||
| Blueprint attribute | Type | Default | Description |
|
||||
|-------------------------|--------|-------------------------|------------------------------------|
|
||||
| transmit\_power | float | $21.5$ | Sender transmission power in dBm |
|
||||
| receiver\_sensitivity | float | $-99$ | Receiver sensitivity in dBm |
|
||||
| frequency\_ghz | float | $5.9$ | Transmission frequency in GHz. 5.9 GHz is standard for several physical channels. |
|
||||
| noise\_seed | int | $0$ | Random parameter for initialization of noise |
|
||||
| filter\_distance | float | $500$ | Maximum transmission distance in meter, path loss calculations above are skipped for simulation speed |
|
||||
| <td colspan=4> __Path loss model parameters__ |
|
||||
| combined\_antenna\_gain | float | $10.0$ | Combined gain of sender and receiver antennas in dBi, parameter for radiation efficiency and directivity |
|
||||
| d\_ref | float | $ 1.0 $ | reference distance for Log-distance path loss model in meter |
|
||||
| transmit\_power | float | 21.5 | Sender transmission power in dBm |
|
||||
| receiver\_sensitivity | float | -99 | Receiver sensitivity in dBm |
|
||||
| frequency\_ghz | float | 5.9 | Transmission frequency in GHz. 5.9 GHz is standard for several physical channels. |
|
||||
| noise\_seed | int | 0 | Random parameter for initialization of noise |
|
||||
| filter\_distance | float | 500 | Maximum transmission distance in meter, path loss calculations above are skipped for simulation speed |
|
||||
| __Path loss model parameters__ | | | |
|
||||
| combined\_antenna\_gain | float | 10.0 | Combined gain of sender and receiver antennas in dBi, parameter for radiation efficiency and directivity |
|
||||
| d\_ref | float | 1.0 | reference distance for Log-distance path loss model in meter |
|
||||
| path\_loss\_exponent | float | 2.7 | Loss parameter for non-line of sight due to building obstruction |
|
||||
| scenario | string | urban | Options: [urban, rural, highway], defines the fading noise parameters |
|
||||
| path\_loss\_model | string | geometric | general path loss model to be used. Options: [geometric, winner] |
|
||||
|
|
|
@ -88,6 +88,12 @@ namespace detail {
|
|||
const auto id = GetCurrentEpisode().GetId();
|
||||
_client.LoadEpisode(std::move(map_name), reset_settings, map_layers);
|
||||
|
||||
// delete the pointer to _episode so that the Navigation information
|
||||
// will be loaded for the correct map
|
||||
assert(_episode.use_count() == 1);
|
||||
_episode.reset();
|
||||
GetReadyCurrentEpisode();
|
||||
|
||||
// We are waiting 50ms for the server to reload the episode.
|
||||
// If in this time we have not detected a change of episode, we try again
|
||||
// 'number_of_attempts' times.
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include <boost/asio/connect.hpp>
|
||||
#include <boost/asio/read.hpp>
|
||||
#include <boost/asio/write.hpp>
|
||||
#include <boost/asio/post.hpp>
|
||||
#include <boost/asio/bind_executor.hpp>
|
||||
|
||||
#include <exception>
|
||||
|
@ -86,7 +85,6 @@ namespace tcp {
|
|||
|
||||
void Client::Connect() {
|
||||
auto self = shared_from_this();
|
||||
boost::asio::post(_strand, [this, self]() {
|
||||
if (_done) {
|
||||
return;
|
||||
}
|
||||
|
@ -139,18 +137,15 @@ namespace tcp {
|
|||
|
||||
log_debug("streaming client: connecting to", ep);
|
||||
_socket.async_connect(ep, boost::asio::bind_executor(_strand, handle_connect));
|
||||
});
|
||||
}
|
||||
|
||||
void Client::Stop() {
|
||||
_connection_timer.cancel();
|
||||
auto self = shared_from_this();
|
||||
boost::asio::post(_strand, [this, self]() {
|
||||
_done = true;
|
||||
if (_socket.is_open()) {
|
||||
_socket.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void Client::Reconnect() {
|
||||
|
@ -165,7 +160,6 @@ namespace tcp {
|
|||
|
||||
void Client::ReadData() {
|
||||
auto self = shared_from_this();
|
||||
boost::asio::post(_strand, [this, self]() {
|
||||
if (_done) {
|
||||
return;
|
||||
}
|
||||
|
@ -182,7 +176,7 @@ namespace tcp {
|
|||
// Move the buffer to the callback function and start reading the next
|
||||
// piece of data.
|
||||
// log_debug("streaming client: success reading data, calling the callback");
|
||||
boost::asio::post(_strand, [self, message]() { self->_callback(message->pop()); });
|
||||
self->_callback(message->pop());
|
||||
ReadData();
|
||||
} else {
|
||||
// As usual, if anything fails start over from the very top.
|
||||
|
@ -219,7 +213,6 @@ namespace tcp {
|
|||
_socket,
|
||||
message->size_as_buffer(),
|
||||
boost::asio::bind_executor(_strand, handle_read_header));
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace tcp
|
||||
|
|
|
@ -79,7 +79,6 @@ namespace tcp {
|
|||
DEBUG_ASSERT(message != nullptr);
|
||||
DEBUG_ASSERT(!message->empty());
|
||||
auto self = shared_from_this();
|
||||
boost::asio::post(_strand, [=]() {
|
||||
if (!_socket.is_open()) {
|
||||
return;
|
||||
}
|
||||
|
@ -111,11 +110,8 @@ namespace tcp {
|
|||
log_debug("session", _session_id, ": sending message of", message->size(), "bytes");
|
||||
|
||||
_deadline.expires_from_now(_timeout);
|
||||
boost::asio::async_write(
|
||||
_socket,
|
||||
message->GetBufferSequence(),
|
||||
handle_sent);
|
||||
});
|
||||
boost::asio::async_write(_socket, message->GetBufferSequence(),
|
||||
boost::asio::bind_executor(_strand, handle_sent));
|
||||
}
|
||||
|
||||
void ServerSession::Close() {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -328,7 +328,7 @@
|
|||
Class that represents a 3D rotation and therefore, an orientation in space. CARLA uses the Unreal Engine coordinates system. This is a Z-up left-handed system. <br>
|
||||
|
||||
<br>The constructor method follows a specific order of declaration: `(pitch, yaw, roll)`, which corresponds to `(Y-rotation,Z-rotation,X-rotation)`. <br>
|
||||
<br>![UE4_Rotation](https://d26ilriwvtzlb.cloudfront.net/8/83/BRMC_9.jpg)
|
||||
<br>![UE4_Rotation](/img/unreal_lhcs.png)
|
||||
*Unreal Engine's coordinates system*
|
||||
# - PROPERTIES -------------------------
|
||||
instance_variables:
|
||||
|
|
|
@ -33,7 +33,7 @@ static FString PropSizeTypeToString(EPropSize PropSizeType)
|
|||
{
|
||||
return FString("unknown");
|
||||
}
|
||||
return ptr->GetNameStringByIndex(static_cast<int32>(PropSizeType));
|
||||
return ptr->GetNameStringByValue(static_cast<int32>(PropSizeType));
|
||||
}
|
||||
|
||||
static EPropSize StringToPropSizeType(FString PropSize)
|
||||
|
|
|
@ -26,5 +26,5 @@ FString CityMapMeshTag::ToString(ECityMapMeshTag Tag)
|
|||
const UEnum* ptr = FindObject<UEnum>(ANY_PACKAGE, TEXT("ECityMapMeshTag"), true);
|
||||
if(!ptr)
|
||||
return FString("Invalid");
|
||||
return ptr->GetNameStringByIndex(static_cast<int32>(Tag));
|
||||
return ptr->GetNameStringByValue(static_cast<int32>(Tag));
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ FString QualityLevelToString(EQualityLevel QualitySettingsLevel)
|
|||
{
|
||||
return FString("Invalid");
|
||||
}
|
||||
return ptr->GetNameStringByIndex(static_cast<int32>(QualitySettingsLevel));
|
||||
return ptr->GetNameStringByValue(static_cast<int32>(QualitySettingsLevel));
|
||||
}
|
||||
|
||||
static void LoadSettingsFromConfig(
|
||||
|
|
|
@ -138,7 +138,7 @@ LibCarla.client.rss.release: setup ad-rss
|
|||
plugins:
|
||||
@${CARLA_BUILD_TOOLS_FOLDER}/Plugins.sh $(ARGS)
|
||||
|
||||
setup downloadplugins:
|
||||
setup: downloadplugins
|
||||
@${CARLA_BUILD_TOOLS_FOLDER}/Setup.sh $(ARGS)
|
||||
|
||||
ad-rss:
|
||||
|
|
Loading…
Reference in New Issue