|
Formula Student Autonomous Systems
The code for the main driverless system
|
Class representing the main speed_est node responsible for publishing the calculated vehicle state with speed and the map. More...
#include <se_node.hpp>


Public Member Functions | |
| SENode () | |
| Constructor of the main node, most things are received by launch parameter. | |
Private Member Functions | |
| void | _perception_subscription_callback (const custom_interfaces::msg::ConeArray &msg) |
| Callback that updates everytime information is received from the perception module. | |
| void | _imu_subscription_callback (const sensor_msgs::msg::Imu &imu_msg) |
| Function to be called everytime information is received from the IMU. | |
| void | _wheel_speeds_subscription_callback (double rl_speed, double rr_speed, double fl_speed, double fr_speed, double steering_angle, const rclcpp::Time ×tamp) |
| Function to be called everytime information is received from the wheel encoders. | |
| void | _update_and_publish () |
| Executes: | |
| void | _publish_vehicle_state () |
| publishes the localization ('vehicle_localization') to the topic vehicle_location | |
| void | _publish_vehicle_state_wss () |
| publishes the localization ('vehicle_localization') to the topic vehicle_location | |
| void | _publish_vehicle_state_imu () |
| publishes the localization ('vehicle_localization') to the topic vehicle_location | |
| void | _publish_map () |
| publishes the map ('track_map') to the topic track_map | |
| void | _ekf_step () |
| executes the prediction step of the EKF | |
Private Attributes | |
| rclcpp::Subscription< custom_interfaces::msg::ConeArray >::SharedPtr | _perception_subscription_ |
| rclcpp::Publisher< custom_interfaces::msg::VehicleState >::SharedPtr | _vehicle_state_publisher_ |
| rclcpp::Publisher< custom_interfaces::msg::VehicleState >::SharedPtr | _vehicle_state_publisher_wss_ |
| rclcpp::Publisher< custom_interfaces::msg::VehicleState >::SharedPtr | _vehicle_state_publisher_imu_ |
| rclcpp::Publisher< custom_interfaces::msg::ConeArray >::SharedPtr | _map_publisher_ |
| rclcpp::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr | _visualization_map_publisher_ |
| rclcpp::Publisher< std_msgs::msg::Float64 >::SharedPtr | _correction_execution_time_publisher_ |
| rclcpp::Publisher< std_msgs::msg::Float64 >::SharedPtr | _prediction_execution_time_publisher_ |
| rclcpp::TimerBase::SharedPtr | _timer_ |
| timer | |
| std::shared_ptr< ExtendedKalmanFilter > | _ekf_ |
| SLAM EKF object. | |
| std::shared_ptr< std::vector< common_lib::structures::Cone > > | _perception_map_ |
| std::shared_ptr< MotionUpdate > | _motion_update_ |
| std::shared_ptr< std::vector< common_lib::structures::Cone > > | _track_map_ |
| std::shared_ptr< common_lib::structures::VehicleState > | _vehicle_state_ |
| common_lib::competition_logic::Mission | _mission_ |
| rclcpp::Publisher< visualization_msgs::msg::Marker >::SharedPtr | _position_publisher_ |
| rclcpp::Publisher< visualization_msgs::msg::Marker >::SharedPtr | _car_model_publisher_ |
| bool | _go_ |
| bool | _use_odometry_ |
| flag to start the mission | |
| bool | _use_simulated_perception_ |
| std::string | _adapter_name_ |
| std::shared_ptr< Adapter > | _adapter_ |
| std::mutex | _mutex_ |
| std::shared_ptr< common_lib::car_parameters::CarParameters > | _car_parameters_ = std::make_shared<common_lib::car_parameters::CarParameters>() |
| Mutex used to lock EKF access. | |
Friends | |
| class | Adapter |
| class | EufsAdapter |
| class | FsdsAdapter |
| class | PacsimAdapter |
| class | VehicleAdapter |
Class representing the main speed_est node responsible for publishing the calculated vehicle state with speed and the map.
As well as, subscribing and interpreting information, such as the cone's position and colors, from the perception module.
Definition at line 33 of file se_node.hpp.
| SENode::SENode | ( | ) |
Constructor of the main node, most things are received by launch parameter.
Definition at line 24 of file se_node.cpp.

|
private |
executes the prediction step of the EKF
Definition at line 403 of file se_node.cpp.

|
private |
Function to be called everytime information is received from the IMU.
| rotational_velocity | |
| acceleration_x | |
| acceleration_y |
Definition at line 141 of file se_node.cpp.

|
private |
Callback that updates everytime information is received from the perception module.
| msg | Message containing the array of perceived cones |
Definition at line 103 of file se_node.cpp.


|
private |
publishes the map ('track_map') to the topic track_map
Definition at line 378 of file se_node.cpp.


|
private |
publishes the localization ('vehicle_localization') to the topic vehicle_location
Definition at line 252 of file se_node.cpp.

|
private |
publishes the localization ('vehicle_localization') to the topic vehicle_location
Definition at line 357 of file se_node.cpp.

|
private |
publishes the localization ('vehicle_localization') to the topic vehicle_location
Definition at line 277 of file se_node.cpp.

|
private |
Executes:
Definition at line 415 of file se_node.cpp.

|
private |
Function to be called everytime information is received from the wheel encoders.
| lb_speed | wheel speeds in rpm |
| lf_speed | wheel speeds in rpm |
| rb_speed | wheel speeds in rpm |
| rf_speed | wheel speeds in rpm |
| steering_angle | steering angle in radians |
| timestamp | timestamp of the message |
Definition at line 191 of file se_node.cpp.

|
friend |
Definition at line 140 of file se_node.hpp.
|
friend |
Definition at line 141 of file se_node.hpp.
|
friend |
Definition at line 142 of file se_node.hpp.
|
friend |
Definition at line 143 of file se_node.hpp.
|
friend |
Definition at line 144 of file se_node.hpp.
|
private |
Definition at line 55 of file se_node.hpp.
|
private |
Definition at line 54 of file se_node.hpp.
|
private |
Definition at line 50 of file se_node.hpp.
|
private |
Mutex used to lock EKF access.
Definition at line 57 of file se_node.hpp.
|
private |
Definition at line 40 of file se_node.hpp.
|
private |
SLAM EKF object.
Definition at line 43 of file se_node.hpp.
|
private |
Definition at line 51 of file se_node.hpp.
|
private |
Definition at line 38 of file se_node.hpp.
|
private |
Definition at line 48 of file se_node.hpp.
|
private |
Definition at line 45 of file se_node.hpp.
|
private |
Definition at line 56 of file se_node.hpp.
|
private |
Definition at line 44 of file se_node.hpp.
|
private |
Definition at line 34 of file se_node.hpp.
|
private |
Definition at line 49 of file se_node.hpp.
|
private |
Definition at line 41 of file se_node.hpp.
|
private |
timer
Definition at line 42 of file se_node.hpp.
|
private |
Definition at line 46 of file se_node.hpp.
|
private |
flag to start the mission
Definition at line 52 of file se_node.hpp.
|
private |
Definition at line 53 of file se_node.hpp.
|
private |
Definition at line 47 of file se_node.hpp.
|
private |
Definition at line 35 of file se_node.hpp.
|
private |
Definition at line 37 of file se_node.hpp.
|
private |
Definition at line 36 of file se_node.hpp.
|
private |
Definition at line 39 of file se_node.hpp.