Common
common packages for kyubic
 
Loading...
Searching...
No Matches
test_p_pid.hpp
Go to the documentation of this file.
1
10#ifndef _TEST_PPID_HPP
11#define _TEST_PPID_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 <rclcpp/rclcpp.hpp>
18
23namespace controller
24{
25
29class TestPPID : public rclcpp::Node
30{
31private:
32 rclcpp::Publisher<geometry_msgs::msg::WrenchStamped>::SharedPtr pub_;
33 rclcpp::Subscription<p_pid_controller_msgs::msg::Targets>::SharedPtr sub_targets_;
34 rclcpp::Subscription<localization_msgs::msg::Odometry>::SharedPtr sub_odom_;
35
36 rclcpp::TimerBase::SharedPtr timer_;
37
38 std::shared_ptr<p_pid_controller_msgs::msg::Targets> targets_;
39 std::shared_ptr<localization_msgs::msg::Odometry> odom_;
40
41 std::shared_ptr<controller::P_PIDController> p_pid_ctrl_;
42
43 uint8_t pre_z_mode = 0;
44
49 void callback_target(const p_pid_controller_msgs::msg::Targets::UniquePtr msg);
50
55 void callback_odom(localization_msgs::msg::Odometry::UniquePtr msg);
56
57public:
62 explicit TestPPID(const rclcpp::NodeOptions & options);
63
68 void update();
69};
70
71} // namespace controller
72
73#endif
Test PPID class.
Definition: test_p_pid.hpp:30
void update()
calculate P-PID Controller
Definition: test_p_pid.cpp:42
For controller.
P-PID Contorller for kyubic.