Quad-SDK
Loading...
Searching...
No Matches
trajectory_publisher.h
1#ifndef TRAJECTORY_PUBLISHER_H
2#define TRAJECTORY_PUBLISHER_H
3
4#include <quad_msgs/RobotPlan.h>
5#include <quad_msgs/RobotState.h>
6#include <ros/ros.h>
7#include <tf2/LinearMath/Quaternion.h>
8#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
9#include <visualization_msgs/MarkerArray.h>
10
11#include <eigen3/Eigen/Eigen>
12
13#include "quad_utils/function_timer.h"
14#include "quad_utils/math_utils.h"
15#include "quad_utils/quad_kd.h"
16#include "quad_utils/ros_utils.h"
17
19
27 public:
33 TrajectoryPublisher(ros::NodeHandle nh);
34
38 void spin();
39
40 private:
44 void importTrajectory();
45
51 void robotPlanCallback(const quad_msgs::RobotPlan::ConstPtr& msg);
52
57
59 ros::Subscriber body_plan_sub_;
60
62 ros::Publisher trajectory_state_pub_;
63
65 ros::NodeHandle nh_;
66
68 quad_msgs::RobotPlan body_plan_msg_;
69
71 quad_msgs::RobotState::ConstPtr robot_state_msg_;
72
75
77 std::string map_frame_;
78
80 std::string traj_source_;
81
83 std::shared_ptr<quad_utils::QuadKD> quadKD_;
84};
85
86#endif // TRAJECTORY_PUBLISHER_H
A class for publishing the current state of a trajectory.
Definition trajectory_publisher.h:26
ros::Publisher trajectory_state_pub_
ROS Publisher for the current trajectory state.
Definition trajectory_publisher.h:62
void publishTrajectoryState()
Publish the current trajectory state.
Definition trajectory_publisher.cpp:40
ros::NodeHandle nh_
Nodehandle to pub to and sub from.
Definition trajectory_publisher.h:65
ros::Subscriber body_plan_sub_
ROS Subscriber for the body plan.
Definition trajectory_publisher.h:59
void spin()
Calls ros spinOnce and pubs data at set frequency.
Definition trajectory_publisher.cpp:78
void robotPlanCallback(const quad_msgs::RobotPlan::ConstPtr &msg)
Callback function to handle new body plan data.
Definition trajectory_publisher.cpp:34
quad_msgs::RobotPlan body_plan_msg_
Vector of body states to store the body plan.
Definition trajectory_publisher.h:68
std::string traj_source_
The source of the current trajectory (import or topic)
Definition trajectory_publisher.h:80
std::string map_frame_
Handle for the map frame.
Definition trajectory_publisher.h:77
double update_rate_
Update rate for sending and receiving data.
Definition trajectory_publisher.h:74
void importTrajectory()
Import trajectory from external source (user implemented)
Definition trajectory_publisher.cpp:29
quad_msgs::RobotState::ConstPtr robot_state_msg_
Robot state message.
Definition trajectory_publisher.h:71
std::shared_ptr< quad_utils::QuadKD > quadKD_
QuadKD class.
Definition trajectory_publisher.h:83