|
trajectory_optimization v1.3.1
|
Publishes configurable dummy ego, object, and reference trajectory inputs. More...
#include <dummy_input_generation_node.hpp>
Public Member Functions | |
| DummyInputGenerationNode (const rclcpp::NodeOptions &options) | |
| Constructor. | |
Static Public Attributes | |
| static constexpr double | EGO_LENGTH = 5.173 |
| Default ego vehicle length used for published EgoData messages in meters. | |
| static constexpr double | EGO_WIDTH = 1.94 |
| Default ego vehicle width used for published EgoData messages in meters. | |
| static constexpr double | OBJECT_HEIGHT = 2.0 |
| Default object and ego vehicle height used for published messages in meters. | |
Private Member Functions | |
| template<typename T > | |
| void | declareAndLoadParameter (const std::string &name, T ¶m, const std::string &description, const bool add_to_auto_reconfigurable_params=true, const bool is_required=false, const bool read_only=false, const std::optional< double > &from_value=std::nullopt, const std::optional< double > &to_value=std::nullopt, const std::optional< double > &step_value=std::nullopt, const std::string &additional_constraints="") |
| Declares and loads a ROS parameter. | |
| rcl_interfaces::msg::SetParametersResult | parametersCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Handles reconfiguration when a parameter value is changed. | |
| void | setup () |
| Sets up subscribers, publishers, etc. to configure the node. | |
| void | createPlanningTimer () |
| Recreate the periodic publish timer based on the configured frequency. | |
| void | publish () |
| Publish the current dummy ego state, object list, and reference trajectory. | |
Private Attributes | |
| rclcpp::Publisher< trajectory_planning_msgs::msg::Trajectory >::SharedPtr | trajectory_pub_ |
| rclcpp::Publisher< perception_msgs::msg::EgoData >::SharedPtr | egodata_pub_ |
| rclcpp::Publisher< perception_msgs::msg::ObjectList >::SharedPtr | object_list_pub_ |
| rclcpp::TimerBase::SharedPtr | planning_timer_ |
| OnSetParametersCallbackHandle::SharedPtr | parameters_callback_ |
| std::vector< std::tuple< std::string, std::function< void(const rclcpp::Parameter &)> > > | auto_reconfigurable_params_ |
| double | publish_frequency_ = 10.0 |
| std::string | message_frame_id_ = "map" |
| std::string | ego_state_model_ = "ackermann" |
| double | ego_vel_lon_ = 0.0 |
| double | ego_acc_lon_ = 0.0 |
| double | ego_steering_angle_ack_ = 0.0 |
| double | ego_steering_angle_front_ = 0.0 |
| double | ego_steering_angle_rear_ = 0.0 |
| std::vector< double > | ego_translation_to_geometric_center_ = {1.4895, 0.0, 0.420} |
| int | reference_n_states_ = 51 |
| double | reference_trajectory_horizon_ = 5.0 |
| bool | reference_standstill_ = false |
| double | reference_x0_ = 0.0 |
| double | reference_y0_ = 0.0 |
| double | reference_v0_ = 0.0 |
| double | reference_a_ = 1.0 |
| double | reference_theta0_ = 0.0 |
| double | reference_omega_ = 0.0 |
| int | object_count_ = 10 |
| double | object_delta_x_ = 10.0 |
| double | object_delta_y_ = 0.0 |
| double | object_length_ = 4.0 |
| double | object_width_ = 2.0 |
| double | object_yaw_ = 0.0 |
Publishes configurable dummy ego, object, and reference trajectory inputs.
The node is intended for testing and developing the trajectory optimization and periodically publishes synthetic inputs derived from ROS parameters.
Definition at line 29 of file dummy_input_generation_node.hpp.
|
explicit |
Constructor.
Creates a DummyInputGenerationNode node.
Definition at line 26 of file dummy_input_generation_node.cpp.
|
private |
Recreate the periodic publish timer based on the configured frequency.
Definition at line 201 of file dummy_input_generation_node.cpp.
|
private |
Declares and loads a ROS parameter.
| [in] | name | name |
| [in] | param | parameter variable to load into |
| [in] | description | description |
| [in] | add_to_auto_reconfigurable_params | enable reconfiguration of parameter |
| [in] | is_required | whether failure to load parameter will stop node |
| [in] | read_only | set parameter to read-only |
| [in] | from_value | parameter range minimum |
| [in] | to_value | parameter range maximum |
| [in] | step_value | parameter range step |
| [in] | additional_constraints | additional constraints description |
Definition at line 79 of file dummy_input_generation_node.cpp.
|
private |
Handles reconfiguration when a parameter value is changed.
| [in] | parameters | parameters |
| parameters | parameters |
Definition at line 157 of file dummy_input_generation_node.cpp.
|
private |
Publish the current dummy ego state, object list, and reference trajectory.
This function is invoked every period seconds by the timer.
Definition at line 215 of file dummy_input_generation_node.cpp.
|
private |
Sets up subscribers, publishers, etc. to configure the node.
Sets up subscribers, publishers, and more.
Definition at line 183 of file dummy_input_generation_node.cpp.
|
private |
Definition at line 91 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 100 of file dummy_input_generation_node.hpp.
|
staticconstexpr |
Default ego vehicle length used for published EgoData messages in meters.
Definition at line 37 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 98 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 101 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 102 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 103 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 104 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 99 of file dummy_input_generation_node.hpp.
|
staticconstexpr |
Default ego vehicle width used for published EgoData messages in meters.
Definition at line 39 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 85 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 95 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 118 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 119 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 120 of file dummy_input_generation_node.hpp.
|
staticconstexpr |
Default object and ego vehicle height used for published messages in meters.
Definition at line 41 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 121 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 86 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 122 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 123 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 88 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 87 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 94 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 113 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 107 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 115 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 109 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 114 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 108 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 112 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 110 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 111 of file dummy_input_generation_node.hpp.
|
private |
Definition at line 84 of file dummy_input_generation_node.hpp.