Go to the documentation of this file. 1 #ifndef __INTERLOCMANAGER_H__
2 #define __INTERLOCMANAGER_H__
4 #include <INotificationQueue.h>
6 #include <gazebo_msgs/ModelStates.h>
8 #include <ros/subscriber.h>
9 #include <tf2/LinearMath/Transform.h>
10 #include <tf2_ros/transform_listener.h>
30 void* context)
override;
45 const geometry_msgs::Pose& poseWorldFrame,
46 const geometry_msgs::TransformStamped& hiveboardToRobotTf);
47 static double getDistance(
const tf2::Transform& transform);
53 const std::string& agentName);
56 #endif //__INTERLOCMANAGER_H__
tf2_ros::Buffer m_tfBuffer
Definition: InterlocManager.h:39
Definition: IInterlocManager.h:16
Definition: InterlocManager.h:12
static tf2::Stamped< tf2::Transform > getHiveboardTf(const geometry_msgs::Pose &poseWorldFrame, const geometry_msgs::TransformStamped &hiveboardToRobotTf)
Definition: InterlocManager.cpp:28
ILogger & m_logger
Definition: InterlocManager.h:34
void(* interlocRawAngleDataCallbackFunction_t)(void *instance, BspInterlocRawAngleData &rawAngleData)
Definition: IInterlocManager.h:13
void(* interlocManagerStateChangeCallbackFunction_t)(void *instance, InterlocStateDTO previousState, InterlocStateDTO newState)
Definition: IInterlocManager.h:10
void updateAngleCalculatorParameters(const ConfigureAngleParametersDTO &newParams) override
Definition: InterlocManager.cpp:168
void setInterlocManagerRawAngleDataCallback(interlocRawAngleDataCallbackFunction_t callback, void *context) override
Definition: InterlocManager.cpp:162
void setInterlocManagerState(InterlocStateDTO state) override
Definition: InterlocManager.cpp:150
ros::Subscriber m_sub
Definition: InterlocManager.h:35
void setInterlocManagerStateChangeCallback(interlocManagerStateChangeCallbackFunction_t callback, void *context) override
Definition: InterlocManager.cpp:156
std::optional< geometry_msgs::TransformStamped > getHiveBoardTransform(const std::string &agentName)
Definition: InterlocManager.cpp:51
void configureAngleCalibration(uint32_t numberOfFrames) override
Sets the number of frames to accumulate when in angle calibration mode.
Definition: InterlocManager.cpp:154
tf2_ros::TransformListener m_tfListener
Definition: InterlocManager.h:40
std::map< uint16_t, geometry_msgs::TransformStamped > m_baseLinkToHiveBoardTransforms
Definition: InterlocManager.h:37
uint m_interlocRefreshDelayMs
Definition: InterlocManager.h:36
A logger class with basic logging capabilities.
Definition: ILogger.h:35
~InterlocManager() override=default
INotificationQueue< InterlocUpdate > & m_interlocUpdateQueue
Definition: InterlocManager.h:42
static double getAngleOfArrival(const tf2::Transform &agentToAgentTransform)
Definition: InterlocManager.cpp:47
static double getRelativeOrientation(const tf2::Transform &transform)
InterlocManager(ILogger &logger, INotificationQueue< InterlocUpdate > &interlocUpdateQueue)
Definition: InterlocManager.cpp:13
static double getDistance(const tf2::Transform &transform)
Definition: InterlocManager.cpp:42
void gazeboUpdateCallback(const gazebo_msgs::ModelStates &msg)
Definition: InterlocManager.cpp:69
void configureTWRCalibration(uint16_t distanceCalibCm) override
Sets the targeted distance for calibration.
Definition: InterlocManager.cpp:152
void startInterloc() override
Dummy function to demonstrate working DW1000s.
Definition: InterlocManager.cpp:139