Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
interfaces.cpp
Go to the documentation of this file.
2
4
5std::vector<common_lib::structures::PathPoint> path_point_array_from_ci_vector(
6 const custom_interfaces::msg::PathPointArray &path_point_array) {
7 std::vector<common_lib::structures::PathPoint> output;
8 for (auto &p : path_point_array.pathpoint_array) {
10 point.position.x = p.x;
11 point.position.y = p.y;
12 point.ideal_velocity = p.v;
13 output.push_back(point);
14 }
15 return output;
16}
17
18custom_interfaces::msg::ConeArray custom_interfaces_array_from_vector(
19 const std::vector<common_lib::structures::Cone> &input_cones) {
20 auto message = custom_interfaces::msg::ConeArray();
21 for (auto const &element : input_cones) {
22 auto cone = custom_interfaces::msg::Cone();
23 cone.position.x = element.position.x;
24 cone.position.y = element.position.y;
25 message.cone_array.push_back(cone);
26 }
27 return message;
28}
29custom_interfaces::msg::PathPointArray custom_interfaces_array_from_vector(
30 const std::vector<common_lib::structures::PathPoint> &input_path, bool is_map_closed) {
31 custom_interfaces::msg::PathPointArray message;
32 message.is_map_closed = is_map_closed;
33 for (auto const &element : input_path) {
34 custom_interfaces::msg::PathPoint p;
35 p.x = element.position.x;
36 p.y = element.position.y;
37 p.v = element.ideal_velocity;
38 p.orientation = element.orientation;
39 message.pathpoint_array.push_back(p);
40 }
41 return message;
42}
43
44std::vector<common_lib::structures::Cone> cone_vector_from_custom_interfaces(
45 const custom_interfaces::msg::ConeArray &msg) {
46 std::vector<common_lib::structures::Cone> cone_array;
47 for (const auto &cone : msg.cone_array) {
48 if (cone.position.x == 0 && cone.position.y == 0) {
49 RCLCPP_WARN(rclcpp::get_logger("rclcpp"), "Cone at (0,0)");
50 }
52 static_cast<float>(cone.position.x), static_cast<float>(cone.position.y));
53 cone_array.push_back(new_cone);
54 }
55 return cone_array;
56}
57
58} // namespace common_lib::communication
std::vector< common_lib::structures::PathPoint > path_point_array_from_ci_vector(const custom_interfaces::msg::PathPointArray &path_point_array)
Convert from custom interfaces PathPointArray to vector of common_lib PathPoints.
Definition interfaces.cpp:5
custom_interfaces::msg::ConeArray custom_interfaces_array_from_vector(const std::vector< common_lib::structures::Cone > &input_cones)
std::vector< common_lib::structures::Cone > cone_vector_from_custom_interfaces(const custom_interfaces::msg::ConeArray &msg)