9 #include <mc_rtc/config.h>
11 #include <SpaceVecAlg/SpaceVecAlg>
13 #include <Eigen/Geometry>
19 #ifdef MC_RTC_ROS_IS_ROS2
38 struct MCGlobalController;
46 #ifdef MC_RTC_ROS_IS_ROS2
84 bool use_real =
false);
107 static ROSBridgeImpl & impl_();
110 struct RobotPublisherImpl;
147 std::unique_ptr<RobotPublisherImpl> impl;
Definition: CompletionCriteria.h:11
Definition: generic_gripper.h:15
auto Robot(const std::string &name, GetT get_fn)
Definition: Robot.h:56
std::shared_ptr< ros::NodeHandle > NodeHandlePtr
Definition: ros.h:49
#define MC_RTC_ROS_DLLAPI
Definition: api.h:50
Allows to access ROS functionalities within mc_rtc without explicit ROS dependencies.
Definition: ros.h:54
static void update_robot_publisher(const std::string &publisher, double dt, const mc_rbdyn::Robot &robot)
static NodeHandlePtr get_node_handle()
Get a ros::NodeHandle/rclcpp::Node.
static void stop_robot_publisher(const std::string &publisher)
static void init_robot_publisher(const std::string &publisher, double dt, const mc_rbdyn::Robot &robot, bool use_real=false)
static void shutdown()
Stop ROS.
static void set_publisher_timestep(double timestep)
This structure is able to publish a Robot's state to ROS.
Definition: ros.h:119
void init(const mc_rbdyn::Robot &robot, bool use_real=false)
Initialize the publisher.
void set_rate(double rate)
Reset the publishing rate.
~RobotPublisher()
Destructor.
RobotPublisher(const std::string &prefix, double rate, double dt)
void update(double dt, const mc_rbdyn::Robot &robot)
Update the publisher.