15 #ifndef TRAFFIC_SIMULATOR__VEHICLE_SIMULATION__EGO_ENTITY_SIMULATION_HPP_
16 #define TRAFFIC_SIMULATOR__VEHICLE_SIMULATION__EGO_ENTITY_SIMULATION_HPP_
22 #include <traffic_simulator_msgs/msg/entity_status.hpp>
23 #include <traffic_simulator_msgs/msg/polyline_trajectory.hpp>
24 #include <traffic_simulator_msgs/msg/vehicle_parameters.hpp>
41 const std::unique_ptr<concealer::Autoware>
autoware;
46 const std::shared_ptr<SimModelInterface> vehicle_model_ptr_;
48 std::optional<double> previous_linear_velocity_, previous_angular_velocity_;
50 geometry_msgs::msg::Pose initial_pose_;
54 static auto makeSimulationModel(
56 const traffic_simulator_msgs::msg::VehicleParameters &)
57 ->
const std::shared_ptr<SimModelInterface>;
61 const bool consider_acceleration_by_road_slope_;
63 const bool consider_pose_by_road_slope_;
65 Eigen::Vector3d world_relative_position_;
73 auto calculateEgoPitch() const ->
double;
75 auto getCurrentPose(const
double pitch_angle) const -> geometry_msgs::msg::Pose;
77 auto getCurrentTwist() const -> geometry_msgs::msg::Twist;
79 auto getCurrentAccel(const
double step_time) const -> geometry_msgs::msg::Accel;
81 auto getLinearJerk(
double step_time) ->
double;
83 auto getMatchedLaneletPoseFromEntityStatus(
84 const traffic_simulator_msgs::msg::
EntityStatus & status, const
double entity_width) const
87 auto updatePreviousValues() ->
void;
93 const traffic_simulator_msgs::msg::VehicleParameters &,
double,
94 const
std::shared_ptr<
hdmap_utils::HdMapUtils> &, const rclcpp::Parameter & use_sim_time,
95 const
bool consider_acceleration_by_road_slope, const
bool consider_pose_by_road_slope);
98 const traffic_simulator_msgs::msg::
EntityStatus & status,
double current_scenario_time,
99 double step_time,
bool npc_logic_started) ->
void;
101 auto
update(
double time,
double step_time,
bool npc_logic_started) ->
void;
111 auto
updateStatus(
double time,
double step_time) ->
void;
Definition: ego_entity_simulation.hpp:39
auto getStatus() const -> const traffic_simulator_msgs::msg::EntityStatus &
Definition: ego_entity_simulation.cpp:491
const traffic_simulator_msgs::msg::VehicleParameters vehicle_parameters
Definition: ego_entity_simulation.hpp:70
auto update(double time, double step_time, bool npc_logic_started) -> void
Definition: ego_entity_simulation.cpp:284
const std::shared_ptr< hdmap_utils::HdMapUtils > hdmap_utils_ptr_
Definition: ego_entity_simulation.hpp:68
auto fillLaneletDataAndSnapZToLanelet(traffic_simulator_msgs::msg::EntityStatus &status) -> void
Definition: ego_entity_simulation.cpp:526
auto setAutowareStatus() -> void
Definition: ego_entity_simulation.cpp:173
auto setInitialStatus(const traffic_simulator_msgs::msg::EntityStatus &status) -> void
Definition: ego_entity_simulation.cpp:503
auto requestSpeedChange(double value) -> void
Definition: ego_entity_simulation.cpp:186
auto updateStatus(double time, double step_time) -> void
Definition: ego_entity_simulation.cpp:510
auto overwrite(const traffic_simulator_msgs::msg::EntityStatus &status, double current_scenario_time, double step_time, bool npc_logic_started) -> void
Definition: ego_entity_simulation.cpp:218
const std::unique_ptr< concealer::Autoware > autoware
Definition: ego_entity_simulation.hpp:41
auto setStatus(const traffic_simulator_msgs::msg::EntityStatus &status) -> void
Definition: ego_entity_simulation.cpp:496
traffic_simulator_msgs::msg::LaneletPose LaneletPose
Definition: lanelet_pose.hpp:22
traffic_simulator_msgs::msg::EntityStatus EntityStatus
Definition: entity_status.hpp:24
Definition: ego_entity_simulation.hpp:27
VehicleModelType
Definition: ego_entity_simulation.hpp:28
@ DELAY_STEER_MAP_ACC_GEARED