1 #ifndef KINEMATICS_ROSROBOTDRIVERHANDLER_HPP     2 #define KINEMATICS_ROSROBOTDRIVERHANDLER_HPP     5 #include <unordered_map>     8 #include "std_msgs/UInt64.h"     9 #include "RobotDriverHandler.hpp"    10 #include <Kinematics/Matrix.hpp>    57               double speed) 
override;
    67     void sub_move_complete(
const std_msgs::UInt64::ConstPtr& 
id);
    72     std::function<void()> move_complete_handler;
    82     ros::Subscriber id_subscriber;
    87     ros::ServiceClient driver_stop;
    92     ros::ServiceClient driver_add;
    97     std::atomic<Matrix<double, 5, 1>> current_arm_state;
   102     std::uint64_t id_to_wait = 0;
   108     std::unordered_map<std::uint64_t, Matrix<double, 5, 1>> moves_being_handled;
 void stop() override
Stop the robotarm if it is moving/. 
RosRobotDriverHandler & operator=(const RosRobotDriverHandler &rdh)=delete
Copy assignment operator, deleted. 
Concrete handle on the robot using the ROS interface. 
Definition: RosRobotDriverHandler.hpp:19
RosRobotDriverHandler()
Constructor. 
void move(const std::vector< Matrix< double, 5, 1 >> &path, double speed) override
Move the robot arm along a path. 
Interface that exposes the interface to the robotarm. 
Definition: RobotDriverHandler.hpp:14
virtual ~RosRobotDriverHandler()=default
Destructor. 
Create a matrix with numerical values. 
Definition: Matrix.hpp:22
Matrix< double, 5, 1 > get_arm_state() const noexceptoverride
Get the current position of the robot arm.