/target_detector/goal
#
Caution
This documentation page has been auto-generated.
It may be missing some details.
/target_detector/goal
Quick Facts
- Category
- Message type
pal_nav2_msgs/msg/Target
- Direction
⬅️ you normally publish to this topic.
Topic from which the Target Detector Server reads the Target goal
Quick snippets#
$ ros2 topic pub /target_detector/goal pal_nav2_msgs/msg/Target # press Tab twice to complete
How to use in your code#
1#!/usr/bin/env python
2
3import rclpy
4from rclpy.node import Node
5
6from pal_nav2_msgs.msg import Target
7
8
9class GoalPublisher(Node):
10
11 def __init__(self):
12 super().__init__('target_detector_goal_publisher')
13 self.publisher = self.create_publisher(
14 Target,
15 '/target_detector/goal',
16 10)
17 timer_period = 0.5 # seconds
18 self.timer = self.create_timer(timer_period, self.timer_callback)
19
20 def timer_callback(self):
21
22 msg = Target()
23
24 # check pal_nav2_msgs/msg/Target
25 # structure to fill the parameters. Eg:
26 # msg.data = ...
27
28 self.publisher.publish(msg)
29 self.get_logger().info('Publishing: "%s"' % msg.data)
30
31
32if __name__ == '__main__':
33 rclpy.init(args=args)
34
35 publisher = GoalPublisher()
36
37 rclpy.spin(publisher)
38
39 rclpy.shutdown()
1#include <chrono>
2#include <functional>
3#include <memory>
4#include <string>
5
6#include "rclcpp/rclcpp.hpp"
7#include "pal_nav2_msgs/msg/target.hpp"
8
9using namespace std::chrono_literals;
10using namespace rclcpp;
11
12class GoalPublisher : public rclcpp::Node
13{
14public:
15 GoalPublisher()
16 : Node("target_detector_goal_publisher")
17 {
18 publisher_ = this->create_publisher<pal_nav2_msgs::msg::Target>("/target_detector/goal", 10);
19 timer_ = this->create_wall_timer(
20 500ms,
21 std::bind(&GoalPublisher::timer_callback, this));
22 }
23
24private:
25 void timer_callback()
26 {
27 auto msg = pal_nav2_msgs::msg::Target();
28
29 // check pal_nav2_msgs/msg/Target
30 // structure to fill the parameters. Eg:
31 //msg.data = ...;
32 publisher_->publish(msg);
33 }
34
35 TimerBase::SharedPtr timer_;
36 Publisher<pal_nav2_msgs::msg::Target>::SharedPtr publisher_;
37};
38
39int main(int argc, char * argv[])
40{
41init(argc, argv);
42spin(std::make_shared<GoalPublisher>());
43shutdown();
44return 0;
45}