|
@@ -21,6 +21,7 @@
|
|
|
#include "daystar_navigation_msgs/srv/guardian.hpp"
|
|
|
#include "mc_client_interface.h"
|
|
|
#include "saturn_msgs/msg/common_status.hpp"
|
|
|
+#include "saturn_msgs/msg/joints_status.hpp"
|
|
|
#include "ysc_robot_msgs/srv/robot_command.hpp"
|
|
|
namespace saturn_ros2 {
|
|
|
enum class Robot_Gait : uint8_t {
|
|
@@ -45,6 +46,7 @@ class SaturnController {
|
|
|
using SetBool = std_srvs::srv::SetBool;
|
|
|
using RobotCommand = ysc_robot_msgs::srv::RobotCommand;
|
|
|
using GuardianSrv = daystar_navigation_msgs::srv::Guardian;
|
|
|
+ using JointsState = saturn_msgs::msg::JointsStatus;
|
|
|
|
|
|
SaturnController(const rclcpp::NodeOptions &options);
|
|
|
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr
|
|
@@ -138,6 +140,9 @@ class SaturnController {
|
|
|
// 机器人在充电桩充电返回true,否则返回false
|
|
|
rclcpp::Publisher<Bool>::SharedPtr charging_state_publisher_;
|
|
|
|
|
|
+ // Joint statue publisher
|
|
|
+ rclcpp::Publisher<JointsState>::SharedPtr joints_state_publisher_;
|
|
|
+
|
|
|
// services
|
|
|
rclcpp::CallbackGroup::SharedPtr robot_command_service_cgb_;
|
|
|
rclcpp::Service<RobotCommand>::SharedPtr robot_command_service_;
|
|
@@ -150,6 +155,9 @@ class SaturnController {
|
|
|
robot_control::common::JETSON_VISUAL_FOOTHOLD_STATE foothold_state_data_;
|
|
|
robot_control::common::ROBOT_COMMON_STATUS common_status_data_;
|
|
|
|
|
|
+ // Joint state data
|
|
|
+ robot_control::common::ROBOT_JOINTS_STATUS joints_state_data_;
|
|
|
+
|
|
|
bool is_robot_in_idle_state_ = true;
|
|
|
long int robot_heartbeat_ = 0;
|
|
|
|
|
@@ -205,5 +213,7 @@ class SaturnController {
|
|
|
void publishRobotMode();
|
|
|
|
|
|
void publishLeggedOdom();
|
|
|
+
|
|
|
+ void publishJointState();
|
|
|
};
|
|
|
} // namespace saturn_ros2
|