@@ -23,13 +23,13 @@ InitReceptionist::InitReceptionist(
2323{
2424 config ().blackboard ->get (" node" , node_);
2525
26- node_->declare_parameter (" cam_frame" , " head_front_camera_rgb_optical_frame " );
26+ node_->declare_parameter (" cam_frame" , " head_front_camera_color_optical_frame " );
2727 node_->declare_parameter (" manipulation_frame" , " base_link" );
2828 // node_->declare_parameter("party_wp", std::vector<double>{0.0, 0.0, 0.0});
2929 // node_->declare_parameter("entrance_wp", std::vector<double>{0.0, 0.0, 0.0});
3030 node_->declare_parameter (" host_name" , " John Doe" );
3131 node_->declare_parameter (" host_drink" , " beer" );
32- // node_->declare_parameter("waypoints_names", std::vector<std::string>{});
32+ node_->declare_parameter (" waypoints_names" , std::vector<std::string>{});
3333
3434 tf_buffer_ = std::make_shared<tf2_ros::Buffer>(node_->get_clock ());
3535 tf_listener_ = std::make_shared<tf2_ros::TransformListener>(*tf_buffer_);
@@ -43,47 +43,58 @@ BT::NodeStatus InitReceptionist::tick()
4343
4444 if (
4545 node_->has_parameter (" cam_frame" ) && node_->has_parameter (" manipulation_frame" ) &&
46- node_->has_parameter (" host_name" ) && node_->has_parameter (" host_drink" ))
47- // && node_->has_parameter("waypoints_names"))
46+ node_->has_parameter (" host_name" ) && node_->has_parameter (" host_drink" )
47+ && node_->has_parameter (" waypoints_names" ))
4848 // node_->has_parameter("party_wp") && node_->has_parameter("entrance_wp"))
4949 {
5050 node_->get_parameter (" cam_frame" , cam_frame_);
5151 node_->get_parameter (" manipulation_frame" , manipulation_frame_);
5252 node_->get_parameter (" host_name" , host_name_);
5353 node_->get_parameter (" host_drink" , host_drink_);
54- // node_->get_parameter("waypoints_names", wp_names_);
55-
56- // for (auto wp : wp_names_) {
57- // node_->declare_parameter("waypoints." + wp, std::vector<double>());
58- // std::vector<double> wp_pos;
59- // node_->get_parameter("waypoints." + wp, wp_pos);
60- // geometry_msgs::msg::TransformStamped transform_msg;
61- // tf2::Quaternion q;
62-
63- // if (wp.find("entrance")!=std::string::npos) {
64- // setOutput("entrance_wp", wp);
65- // } else if (wp.find("party")!=std::string::npos) {
66- // setOutput("party_wp", wp);
67- // }
68-
69- // q.setRPY(0, 0, wp_pos[2]);
70- // transform_msg.header.frame_id = "map";
71-
72- // transform_msg.child_frame_id = wp;
73- // transform_msg.transform.translation.x = wp_pos[0];
74- // transform_msg.transform.translation.y = wp_pos[1];
75- // transform_msg.transform.rotation = tf2::toMsg(q);
76- // tf_static_broadcaster_->sendTransform(transform_msg);
77- // rclcpp::spin_some(node_);
78- // }
54+ node_->get_parameter (" waypoints_names" , wp_names_);
55+
56+ RCLCPP_INFO (
57+ node_->get_logger (), " Waypoints to be initialized: [%s]" ,
58+ std::to_string (wp_names_.size ()).c_str ());
59+
60+ for (auto wp : wp_names_) {
61+ node_->declare_parameter (" waypoints." + wp, std::vector<double >());
62+ std::vector<double > wp_pos;
63+ node_->get_parameter (" waypoints." + wp, wp_pos);
64+ RCLCPP_INFO (
65+ node_->get_logger (), " Waypoint [%s] position: x: %.2f, y: %.2f, yaw: %.2f" , wp.c_str (),
66+ wp_pos[0 ], wp_pos[1 ], wp_pos[2 ]);
67+ geometry_msgs::msg::TransformStamped transform_msg;
68+ tf2::Quaternion q;
69+
70+ if (wp.find (" entrance" )!=std::string::npos) {
71+ setOutput (" entrance_wp" , wp);
72+ RCLCPP_INFO (
73+ node_->get_logger (), " Entrance waypoint set to frame: [%s]" , wp.c_str ());
74+ } else if (wp.find (" party" )!=std::string::npos) {
75+ setOutput (" party_wp" , wp);
76+ }
77+
78+ q.setRPY (0 , 0 , wp_pos[2 ]);
79+ transform_msg.header .frame_id = " map" ;
80+
81+ transform_msg.child_frame_id = wp;
82+ transform_msg.transform .translation .x = wp_pos[0 ];
83+ transform_msg.transform .translation .y = wp_pos[1 ];
84+ transform_msg.transform .rotation = tf2::toMsg (q);
85+ tf_static_broadcaster_->sendTransform (transform_msg);
86+ RCLCPP_INFO (
87+ node_->get_logger (), " Published static transform for waypoint [%s]" , wp.c_str ());
88+ rclcpp::spin_some (node_->get_node_base_interface ());
89+ }
7990
8091 geometry_msgs::msg::TransformStamped transform_msg;
8192
8293 transform_msg.header .frame_id = " base_link" ;
8394
8495 transform_msg.child_frame_id = " attention_home" ;
8596 transform_msg.transform .translation .x = 1.5 ;
86- transform_msg.transform .translation .z = 1 .5 ;
97+ transform_msg.transform .translation .z = 0 .5 ;
8798 tf_static_broadcaster_->sendTransform (transform_msg);
8899 rclcpp::spin_some (node_->get_node_base_interface ());
89100
0 commit comments