4from sensor_msgs.msg
import PointCloud2
6from custom_interfaces.msg
import ConeArray, PathPointArray
7from visualization_msgs.msg
import MarkerArray
10 format_marker_array_msg,
11 format_path_point_array_msg,
17 """Adapater class to manage the use of OnGround topics."""
21 Initializes the OnGroundAdapter class.
23 node (rclpy.node.Node): The ROS2 node object.
31 self.node.blue_cones_subscription_ = self.node.create_subscription(
33 "/path_planning/blue_cones",
38 self.node.yellow_cones_subscription_ = self.node.create_subscription(
40 "/path_planning/yellow_cones",
45 self.node.planning_subscription_ = self.node.create_subscription(
47 "/path_planning/path",
53 """Callback for blue cones."""
54 self.
blue_cones = format_marker_array_msg(blue_cones_msg)
55 self.node.get_logger().info(
"Updated blue cones")
58 """Callback for yellow cones."""
59 self.
yellow_cones = format_marker_array_msg(yellow_cones_msg)
60 self.node.get_logger().info(
"Updated yellow cones")
63 """Callback for planning output."""
66 self.node.get_logger().warn(
"Waiting for cone data...")
70 planning_output_treated = format_path_point_array_msg(planning_output_msg)
72 self.node.get_logger().info(
"Processing planning output")
74 self.node.compute_and_publish_planning(
75 planning_output_treated,
76 planning_output_treated,
Class for subscribing to a point cloud topic and synchronizing messages with a ROS2 node.
__init__(self, rclpy.node.Node node)
blue_cones_callback(self, MarkerArray blue_cones_msg)
yellow_cones_callback(self, MarkerArray yellow_cones_msg)
planning_callback(self, PathPointArray planning_output_msg)