SMACC2
Loading...
Searching...
No Matches
cb_track_object_pose.hpp
Go to the documentation of this file.
1// Copyright 2025 Robosoft Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15/*****************************************************************************************************************
16 *
17 * Authors: Pablo Inigo Blasco, Brett Aldrich
18 *
19 ******************************************************************************************************************/
20#pragma once
21
22#include <smacc2/smacc.hpp>
24
25namespace cl_foundation_pose
26{
27
29{
30private:
31 std::string globalFrame_;
32 std::string objectToTrackId_;
34
35public:
36 CbTrackObjectPose(std::string objectToTrackId, std::string globalFrame = "map")
37 : globalFrame_(globalFrame), objectToTrackId_(objectToTrackId)
38 {
39 }
40
41 virtual ~CbTrackObjectPose() {}
42
43 virtual void onEntry() override
44 {
46 RCLCPP_INFO(getLogger(), "CbTrackObjectPose onEntry");
47 RCLCPP_INFO(getLogger(), "CbTrackObjectPose onEntry - enabled");
49 RCLCPP_INFO(
50 getLogger(),
51 "CbTrackObjectPose onEntry - updateAndGetGlobalPose, objectToTrackId: %s, globalFrame: %s",
52 objectToTrackId_.c_str(), globalFrame_.c_str());
54 }
55
56 virtual void onExit() override { objectTracker_->setEnabled(false); }
57
58 virtual void update() override
59 {
60 if (objectTracker_ != nullptr && objectTracker_->isEnabled())
61 {
62 RCLCPP_INFO(getLogger(), "CbTrackObjectPose update");
64 }
65 }
66};
67} // namespace cl_foundation_pose
cl_foundation_pose::CpObjectTrackerTf * objectTracker_
CbTrackObjectPose(std::string objectToTrackId, std::string globalFrame="map")
std::optional< geometry_msgs::msg::PoseStamped > updateAndGetGlobalPose(const std::string &child_frame_id, const std::string &frame_id)
virtual rclcpp::Logger getLogger() const
void requiresComponent(SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)