Skip to content

Commit

Permalink
Merge branch 'RJD-1057-remove-functions-forwarded-to-entity-base-midd…
Browse files Browse the repository at this point in the history
…le' into RJD-1057-remove-functions-forwarded-to-entity-base-with-middle

Signed-off-by: Mateusz Palczuk <[email protected]>
  • Loading branch information
TauTheLepton committed Jul 31, 2024
2 parents 292719d + ce9b59a commit 2ba6f86
Show file tree
Hide file tree
Showing 13 changed files with 33 additions and 1,034 deletions.
4 changes: 2 additions & 2 deletions simulation/traffic_simulator/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ ament_auto_add_library(traffic_simulator SHARED
src/traffic_lights/traffic_light.cpp
src/traffic_lights/traffic_lights.cpp
src/traffic_lights/traffic_lights_base.cpp
src/traffic_lights/traffic_lights_marker_publisher.cpp
src/traffic_lights/traffic_lights_publisher.cpp
src/traffic_lights/traffic_light_marker_publisher.cpp
src/traffic_lights/traffic_light_publisher.cpp
src/utils/distance.cpp
src/utils/node_parameters.cpp
src/utils/pose.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,5 +165,4 @@ class EgoEntity : public VehicleEntity
};
} // namespace entity
} // namespace traffic_simulator

#endif // TRAFFIC_SIMULATOR__ENTITY__EGO_ENTITY_HPP_
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_MARKER_PUBLISHER_HPP
#define TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_MARKER_PUBLISHER_HPP
#ifndef TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_MARKER_PUBLISHER_HPP
#define TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_MARKER_PUBLISHER_HPP

#include <rclcpp/rclcpp.hpp>
#include <traffic_simulator/traffic_lights/traffic_light.hpp>

namespace traffic_simulator
{
class TrafficLightsMarkerPublisher
class TrafficLightMarkerPublisher
{
public:
template <typename NodeTypePointer>
explicit TrafficLightsMarkerPublisher(
explicit TrafficLightMarkerPublisher(
const NodeTypePointer & node_ptr, const std::string & frame = "map")
: frame_(frame),
clock_ptr_(node_ptr->get_clock()),
Expand All @@ -44,4 +44,4 @@ class TrafficLightsMarkerPublisher
const rclcpp::Publisher<visualization_msgs::msg::MarkerArray>::SharedPtr publisher_;
};
} // namespace traffic_simulator
#endif // TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_MARKER_PUBLISHER_HPP
#endif // TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_MARKER_PUBLISHER_HPP
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_PUBLISHER_HPP_
#define TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_PUBLISHER_HPP_
#ifndef TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_PUBLISHER_HPP_
#define TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_PUBLISHER_HPP_

#include <memory>
#include <rclcpp/rclcpp.hpp>
Expand All @@ -24,30 +24,30 @@

namespace traffic_simulator
{
class TrafficLightsPublisherBase
class TrafficLightPublisherBase
{
public:
virtual auto publish(const TrafficLightsBase & traffic_lights) const -> void = 0;
virtual ~TrafficLightsPublisherBase() = default;
virtual ~TrafficLightPublisherBase() = default;
};

template <typename MessageType>
class TrafficLightsPublisher : public TrafficLightsPublisherBase
class TrafficLightPublisher : public TrafficLightPublisherBase
{
public:
template <typename NodeTypePointer>
explicit TrafficLightsPublisher(
explicit TrafficLightPublisher(
const NodeTypePointer & node_ptr, const std::string & topic_name,
const std::string & frame = "camera_link")
: TrafficLightsPublisherBase(),
: TrafficLightPublisherBase(),
frame_(frame),
clock_ptr_(node_ptr->get_clock()),
traffic_light_state_array_publisher_(rclcpp::create_publisher<MessageType>(
node_ptr, topic_name, rclcpp::QoS(10).transient_local()))
{
}

~TrafficLightsPublisher() override = default;
~TrafficLightPublisher() override = default;

auto publish(const TrafficLightsBase & traffic_lights) const -> void override;

Expand All @@ -57,4 +57,4 @@ class TrafficLightsPublisher : public TrafficLightsPublisherBase
const typename rclcpp::Publisher<MessageType>::SharedPtr traffic_light_state_array_publisher_;
};
} // namespace traffic_simulator
#endif // TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHTS_PUBLISHER_HPP_
#endif // TRAFFIC_SIMULATOR__TRAFFIC_LIGHTS__TRAFFIC_LIGHT_PUBLISHER_HPP_
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

#include <autoware_auto_perception_msgs/msg/traffic_signal_array.hpp>
#include <autoware_perception_msgs/msg/traffic_signal_array.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_publisher.hpp>
#include <traffic_simulator/traffic_lights/traffic_lights_base.hpp>
#include <traffic_simulator/traffic_lights/traffic_lights_publisher.hpp>

namespace traffic_simulator
{
Expand All @@ -30,7 +30,7 @@ class ConventionalTrafficLights : public TrafficLightsBase
const NodeTypePointer & node_ptr, const std::shared_ptr<hdmap_utils::HdMapUtils> & hdmap_utils)
: TrafficLightsBase(node_ptr, hdmap_utils),
backward_compatible_publisher_ptr_(
std::make_unique<TrafficLightsPublisher<traffic_simulator_msgs::msg::TrafficLightArrayV1>>(
std::make_unique<TrafficLightPublisher<traffic_simulator_msgs::msg::TrafficLightArrayV1>>(
node_ptr, "/simulation/traffic_lights"))
{
}
Expand All @@ -47,7 +47,7 @@ class ConventionalTrafficLights : public TrafficLightsBase
marker_publisher_ptr_->drawMarkers(traffic_lights_map_);
}

const std::unique_ptr<TrafficLightsPublisherBase> backward_compatible_publisher_ptr_;
const std::unique_ptr<TrafficLightPublisherBase> backward_compatible_publisher_ptr_;
};

class V2ITrafficLights : public TrafficLightsBase
Expand Down Expand Up @@ -81,7 +81,7 @@ class V2ITrafficLights : public TrafficLightsBase
template <typename NodeTypePointer>
auto makePublisher(
const NodeTypePointer & node_ptr, const std::string & architecture_type,
const std::string & topic_name) -> std::unique_ptr<TrafficLightsPublisherBase>
const std::string & topic_name) -> std::unique_ptr<TrafficLightPublisherBase>
{
/*
Here autoware_perception_msgs is used for all awf/universe/....
Expand All @@ -93,7 +93,7 @@ class V2ITrafficLights : public TrafficLightsBase
*/
if (architecture_type.find("awf/universe") != std::string::npos) {
return std::make_unique<
TrafficLightsPublisher<autoware_perception_msgs::msg::TrafficSignalArray>>(
TrafficLightPublisher<autoware_perception_msgs::msg::TrafficSignalArray>>(
node_ptr, topic_name);
} else {
throw common::SemanticError(
Expand All @@ -102,8 +102,8 @@ class V2ITrafficLights : public TrafficLightsBase
}
}

const std::unique_ptr<TrafficLightsPublisherBase> publisher_ptr_;
const std::unique_ptr<TrafficLightsPublisherBase> legacy_topic_publisher_ptr_;
const std::unique_ptr<TrafficLightPublisherBase> publisher_ptr_;
const std::unique_ptr<TrafficLightPublisherBase> legacy_topic_publisher_ptr_;
};

class TrafficLights
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#include <traffic_simulator/hdmap_utils/hdmap_utils.hpp>
#include <traffic_simulator/traffic_lights/configurable_rate_updater.hpp>
#include <traffic_simulator/traffic_lights/traffic_light.hpp>
#include <traffic_simulator/traffic_lights/traffic_lights_marker_publisher.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_marker_publisher.hpp>
#include <traffic_simulator_msgs/msg/traffic_light_array_v1.hpp>
#include <unordered_map>
#include <vector>
Expand All @@ -44,7 +44,7 @@ class TrafficLightsBase
const NodeTypePointer & node_ptr, const std::shared_ptr<hdmap_utils::HdMapUtils> & hdmap_utils)
: hdmap_utils_(hdmap_utils),
clock_ptr_(node_ptr->get_clock()),
marker_publisher_ptr_(std::make_unique<TrafficLightsMarkerPublisher>(node_ptr)),
marker_publisher_ptr_(std::make_unique<TrafficLightMarkerPublisher>(node_ptr)),
rate_updater_(node_ptr, [this]() { update(); })
{
}
Expand Down Expand Up @@ -95,7 +95,7 @@ class TrafficLightsBase
const rclcpp::Clock::SharedPtr clock_ptr_;

std::unordered_map<lanelet::Id, TrafficLight> traffic_lights_map_;
const std::unique_ptr<TrafficLightsMarkerPublisher> marker_publisher_ptr_;
const std::unique_ptr<TrafficLightMarkerPublisher> marker_publisher_ptr_;
ConfigurableRateUpdater rate_updater_;
};
} // namespace traffic_simulator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#include <traffic_simulator/traffic_lights/traffic_lights_marker_publisher.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_marker_publisher.hpp>
#include <visualization_msgs/msg/marker_array.hpp>

namespace traffic_simulator
{
auto TrafficLightsMarkerPublisher::deleteMarkers() const -> void
auto TrafficLightMarkerPublisher::deleteMarkers() const -> void
{
visualization_msgs::msg::MarkerArray marker_array;
visualization_msgs::msg::Marker marker;
Expand All @@ -26,7 +26,7 @@ auto TrafficLightsMarkerPublisher::deleteMarkers() const -> void
publisher_->publish(marker_array);
}

auto TrafficLightsMarkerPublisher::drawMarkers(
auto TrafficLightMarkerPublisher::drawMarkers(
const std::unordered_map<lanelet::Id, TrafficLight> & traffic_lights_map) const -> void
{
visualization_msgs::msg::MarkerArray marker_array;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,26 @@

#include <autoware_auto_perception_msgs/msg/traffic_signal_array.hpp>
#include <autoware_perception_msgs/msg/traffic_signal_array.hpp>
#include <traffic_simulator/traffic_lights/traffic_lights_publisher.hpp>
#include <traffic_simulator/traffic_lights/traffic_light_publisher.hpp>

namespace traffic_simulator
{
template <>
auto TrafficLightsPublisher<autoware_auto_perception_msgs::msg::TrafficSignalArray>::publish(
auto TrafficLightPublisher<autoware_auto_perception_msgs::msg::TrafficSignalArray>::publish(
const TrafficLightsBase & traffic_lights) const -> void
{
traffic_light_state_array_publisher_->publish(traffic_lights.generateAutowareAutoPerceptionMsg());
}

template <>
auto TrafficLightsPublisher<autoware_perception_msgs::msg::TrafficSignalArray>::publish(
auto TrafficLightPublisher<autoware_perception_msgs::msg::TrafficSignalArray>::publish(
const TrafficLightsBase & traffic_lights) const -> void
{
traffic_light_state_array_publisher_->publish(traffic_lights.generateAutowarePerceptionMsg());
}

template <>
auto TrafficLightsPublisher<traffic_simulator_msgs::msg::TrafficLightArrayV1>::publish(
auto TrafficLightPublisher<traffic_simulator_msgs::msg::TrafficLightArrayV1>::publish(
const TrafficLightsBase & traffic_lights) const -> void
{
traffic_light_state_array_publisher_->publish(traffic_lights.generateTrafficSimulatorV1Msg());
Expand Down
18 changes: 0 additions & 18 deletions simulation/traffic_simulator/test/src/expect_eq_macros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,6 @@
EXPECT_DOUBLE_EQ(DATA0.z, DATA1.z); \
EXPECT_DOUBLE_EQ(DATA0.w, DATA1.w);

#define EXPECT_QUATERNION_EQ_STREAM(DATA0, DATA1, STREAM_MESSAGE) \
EXPECT_DOUBLE_EQ(DATA0.x, DATA1.x) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.y, DATA1.y) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.z, DATA1.z) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.w, DATA1.w) << STREAM_MESSAGE;

#define EXPECT_QUATERNION_NEAR(DATA0, DATA1, EPS) \
EXPECT_NEAR(DATA0.x, DATA1.x, EPS); \
EXPECT_NEAR(DATA0.y, DATA1.y, EPS); \
Expand Down Expand Up @@ -136,16 +130,4 @@
EXPECT_EQ(DATA0.trajectory_shape, DATA1.trajectory_shape); \
EXPECT_LANE_CHANGE_CONSTRAINT_EQ(DATA0.constraint, DATA1.constraint);

#define EXPECT_COLOR_RGBA_EQ_STREAM(DATA0, DATA1, STREAM_MESSAGE) \
EXPECT_DOUBLE_EQ(DATA0.r, DATA1.r) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.g, DATA1.g) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.b, DATA1.b) << STREAM_MESSAGE; \
EXPECT_DOUBLE_EQ(DATA0.a, DATA1.a) << STREAM_MESSAGE;

#define EXPECT_COLOR_RGBA_NEAR_STREAM(DATA0, DATA1, EPS, STREAM_MESSAGE) \
EXPECT_NEAR(DATA0.r, DATA1.r, EPS) << STREAM_MESSAGE; \
EXPECT_NEAR(DATA0.g, DATA1.g, EPS) << STREAM_MESSAGE; \
EXPECT_NEAR(DATA0.b, DATA1.b, EPS) << STREAM_MESSAGE; \
EXPECT_NEAR(DATA0.a, DATA1.a, EPS) << STREAM_MESSAGE;

#endif // TRAFFIC_SIMULATOR__TEST__EXPECT_EQ_MACROS_HPP_
Original file line number Diff line number Diff line change
@@ -1,8 +1,2 @@
ament_add_gtest(test_traffic_light test_traffic_light.cpp)
target_link_libraries(test_traffic_light traffic_simulator)

ament_add_gtest(test_traffic_lights
test_traffic_lights_internal.cpp
test_traffic_lights.cpp
)
target_link_libraries(test_traffic_lights traffic_simulator)
44 changes: 0 additions & 44 deletions simulation/traffic_simulator/test/src/traffic_lights/helper.hpp

This file was deleted.

Loading

0 comments on commit 2ba6f86

Please sign in to comment.