Skip to content

Commit 5b572c9

Browse files
authored
Merge pull request #75 from Jaeyoung-Lim/pr-heading
Add yaw subscriber
2 parents c2d4bcb + 995e0fa commit 5b572c9

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

geometric_controller/include/geometric_controller/geometric_controller.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <sstream>
1414

1515
#include <Eigen/Dense>
16+
#include <std_msgs/Float32.h>
1617
#include <geometry_msgs/PoseStamped.h>
1718
#include <geometry_msgs/Twist.h>
1819
#include <geometry_msgs/TwistStamped.h>
@@ -45,6 +46,7 @@ class geometricCtrl
4546
ros::Subscriber mavstateSub_;
4647
ros::Subscriber mavposeSub_, gzmavposeSub_;
4748
ros::Subscriber mavtwistSub_;
49+
ros::Subscriber yawreferenceSub_;
4850
ros::Publisher rotorVelPub_, angularVelPub_, target_pose_pub_;
4951
ros::Publisher referencePosePub_;
5052
ros::ServiceClient arming_client_;
@@ -91,6 +93,7 @@ class geometricCtrl
9193
void odomCallback(const nav_msgs::OdometryConstPtr& odomMsg);
9294
void targetCallback(const geometry_msgs::TwistStamped& msg);
9395
void flattargetCallback(const controller_msgs::FlatTarget& msg);
96+
void yawtargetCallback(const std_msgs::Float32& msg);
9497
void multiDOFJointCallback(const trajectory_msgs::MultiDOFJointTrajectory& msg);
9598
void keyboardCallback(const geometry_msgs::Twist& msg);
9699
void cmdloopCallback(const ros::TimerEvent& event);

geometric_controller/src/geometric_controller.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ geometricCtrl::geometricCtrl(const ros::NodeHandle& nh, const ros::NodeHandle& n
1616

1717
referenceSub_=nh_.subscribe("reference/setpoint",1, &geometricCtrl::targetCallback,this,ros::TransportHints().tcpNoDelay());
1818
flatreferenceSub_ = nh_.subscribe("reference/flatsetpoint", 1, &geometricCtrl::flattargetCallback, this, ros::TransportHints().tcpNoDelay());
19+
yawreferenceSub_ = nh_.subscribe("reference/yaw", 1, &geometricCtrl::yawtargetCallback, this, ros::TransportHints().tcpNoDelay());
1920
multiDOFJointSub_ = nh_.subscribe("/command/trajectory", 1, &geometricCtrl::multiDOFJointCallback, this, ros::TransportHints().tcpNoDelay());
2021
mavstateSub_ = nh_.subscribe("/mavros/state", 1, &geometricCtrl::mavstateCallback, this,ros::TransportHints().tcpNoDelay());
2122
mavposeSub_ = nh_.subscribe("/mavros/local_position/pose", 1, &geometricCtrl::mavposeCallback, this,ros::TransportHints().tcpNoDelay());
@@ -120,6 +121,10 @@ void geometricCtrl::flattargetCallback(const controller_msgs::FlatTarget& msg) {
120121
}
121122
}
122123

124+
void geometricCtrl::yawtargetCallback(const std_msgs::Float32& msg) {
125+
if(!velocity_yaw_) mavYaw_ = double(msg.data);
126+
}
127+
123128
void geometricCtrl::multiDOFJointCallback(const trajectory_msgs::MultiDOFJointTrajectory& msg) {
124129

125130
trajectory_msgs::MultiDOFJointTrajectoryPoint pt = msg.points[0];

0 commit comments

Comments
 (0)