Common
common packages for kyubic
 
Loading...
Searching...
No Matches
wrench_planner.hpp
Go to the documentation of this file.
1
10#ifndef _WRENCH_PLANNER_HPP
11#define _WRENCH_PLANNER_HPP
12
13#include <geometry_msgs/msg/wrench_stamped.hpp>
14#include <localization_msgs/msg/odometry.hpp>
16#include <p_pid_controller_msgs/msg/targets.hpp>
17#include <planner_msgs/msg/wrench_plan.hpp>
18#include <rclcpp/rclcpp.hpp>
19
21{
22
23class WrenchPlanner : public rclcpp::Node
24{
25private:
26 rclcpp::Publisher<geometry_msgs::msg::WrenchStamped>::SharedPtr pub_;
27 rclcpp::Publisher<p_pid_controller_msgs::msg::Targets>::SharedPtr pub_target_;
28 rclcpp::Subscription<planner_msgs::msg::WrenchPlan>::SharedPtr sub_;
29 rclcpp::Subscription<localization_msgs::msg::Odometry>::SharedPtr sub_odom_;
30
31 planner_msgs::msg::WrenchPlan::SharedPtr goal_current_odom_;
32 localization_msgs::msg::Odometry::SharedPtr current_odom_;
33
34 std::shared_ptr<controller::P_PIDController> p_pid_ctrl_;
35
36 uint8_t pre_z_mode_ = 0;
37 bool odom_updated_ = false;
38
39 void _update_wrench();
40
41 void goalCurrentOdomCallback(const planner_msgs::msg::WrenchPlan::SharedPtr msg);
42 void odomCallback(const localization_msgs::msg::Odometry::SharedPtr msg);
43 bool has_velocity(const planner_msgs::msg::WrenchPlan::SharedPtr msg);
44
45public:
46 explicit WrenchPlanner(const rclcpp::NodeOptions & options);
47};
48
49} // namespace planner::wrench_planner
50
51#endif
Definition: wrench_planner.hpp:24
Definition: wrench_planner.hpp:21
P-PID Contorller for kyubic.