diff --git a/CHANGELOG.md b/CHANGELOG.md index dd6a7be18..138f015a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/Docs/ref_sensors.md b/Docs/ref_sensors.md index 142798920..d346f338b 100644 --- a/Docs/ref_sensors.md +++ b/Docs/ref_sensors.md @@ -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.
E.g. fire hydrants, fixed benches, fountains, bus stops, etc. | diff --git a/LibCarla/source/carla/client/detail/Simulator.cpp b/LibCarla/source/carla/client/detail/Simulator.cpp index 8b4089a88..5083dd378 100644 --- a/LibCarla/source/carla/client/detail/Simulator.cpp +++ b/LibCarla/source/carla/client/detail/Simulator.cpp @@ -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. diff --git a/LibCarla/source/carla/streaming/detail/tcp/Client.cpp b/LibCarla/source/carla/streaming/detail/tcp/Client.cpp index e3982f614..47f9e4c25 100644 --- a/LibCarla/source/carla/streaming/detail/tcp/Client.cpp +++ b/LibCarla/source/carla/streaming/detail/tcp/Client.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include #include @@ -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 diff --git a/LibCarla/source/carla/streaming/detail/tcp/ServerSession.cpp b/LibCarla/source/carla/streaming/detail/tcp/ServerSession.cpp index a726fbf1c..8851f1fa5 100644 --- a/LibCarla/source/carla/streaming/detail/tcp/ServerSession.cpp +++ b/LibCarla/source/carla/streaming/detail/tcp/ServerSession.cpp @@ -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() { diff --git a/Util/BuildTools/Linux.mk b/Util/BuildTools/Linux.mk index 8e64f7689..5484207d5 100644 --- a/Util/BuildTools/Linux.mk +++ b/Util/BuildTools/Linux.mk @@ -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: