Quad-SDK
Loading...
Searching...
No Matches
contact_state_publisher.h
1#ifndef CONTACT_STATE_PUBLISHER_H
2#define CONTACT_STATE_PUBLISHER_H
3
4#include <gazebo_msgs/ContactsState.h>
5#include <geometry_msgs/TransformStamped.h>
6#include <quad_msgs/GRFArray.h>
7#include <quad_utils/ros_utils.h>
8#include <ros/ros.h>
9#include <tf2_ros/transform_listener.h>
10
11#include <cmath>
12#include <eigen3/Eigen/Eigen>
13#define MATH_PI 3.141592
14
16
21 public:
27 ContactStatePublisher(ros::NodeHandle nh);
31 void spin();
32
33 private:
38 void contactStateCallback(const gazebo_msgs::ContactsState::ConstPtr& msg,
39 const int toe_idx);
40
45
47 ros::Subscriber toe0_contact_state_sub;
48
50 ros::Subscriber toe1_contact_state_sub;
51
53 ros::Subscriber toe2_contact_state_sub;
54
56 ros::Subscriber toe3_contact_state_sub;
57
59 tf2_ros::Buffer buffer_;
60
62 tf2_ros::TransformListener listener_;
63
65 ros::Publisher grf_pub_;
66
68 ros::NodeHandle nh_;
69
72
74 const int num_feet_ = 4;
75
77 quad_msgs::GRFArray grf_array_msg_;
78
81};
82
83#endif // CONTACT_STATE_PUBLISHER_H
Publishes contact states from gazebo.
Definition contact_state_publisher.h:20
void contactStateCallback(const gazebo_msgs::ContactsState::ConstPtr &msg, const int toe_idx)
Processes new contact state data.
Definition contact_state_publisher.cpp:53
bool ready_to_publish_
Publish ready indicator.
Definition contact_state_publisher.h:80
const int num_feet_
Number of feet.
Definition contact_state_publisher.h:74
ros::Subscriber toe3_contact_state_sub
Subscriber for toe 3.
Definition contact_state_publisher.h:56
void spin()
Calls ros spinOnce and pubs data at set frequency.
Definition contact_state_publisher.cpp:151
ros::Subscriber toe1_contact_state_sub
Subscriber for toe 1.
Definition contact_state_publisher.h:50
tf2_ros::Buffer buffer_
Tf2 buffer.
Definition contact_state_publisher.h:59
ros::Publisher grf_pub_
ROS publisher for desired GRF.
Definition contact_state_publisher.h:65
double update_rate_
Update rate for sending and receiving data;.
Definition contact_state_publisher.h:71
ros::Subscriber toe2_contact_state_sub
Subscriber for toe 2.
Definition contact_state_publisher.h:53
ros::NodeHandle nh_
Nodehandle to pub to and sub from.
Definition contact_state_publisher.h:68
ros::Subscriber toe0_contact_state_sub
Subscriber for toe 0.
Definition contact_state_publisher.h:47
tf2_ros::TransformListener listener_
TF transform listener.
Definition contact_state_publisher.h:62
void publishContactState()
Publishes current contact state data.
Definition contact_state_publisher.cpp:146
quad_msgs::GRFArray grf_array_msg_
Most recent local plan.
Definition contact_state_publisher.h:77