39 #ifndef vpRobotUniversalRobots_h
40 #define vpRobotUniversalRobots_h
42 #include <visp3/core/vpConfig.h>
44 #if defined(VISP_HAVE_UR_RTDE) && (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
48 #include <visp3/robot/vpRobot.h>
49 #include <visp3/robot/vpRobotException.h>
51 #include <ur_rtde/dashboard_client.h>
52 #include <ur_rtde/rtde_control_interface.h>
53 #include <ur_rtde/rtde_receive_interface.h>
76 void connect(
const std::string &ur_address);
100 std::string getPolyScopeVersion();
103 int getRobotMode()
const;
104 std::string getRobotModel()
const;
106 void move(
const std::string &filename,
double velocity_percentage = 10.);
108 bool readPosFile(
const std::string &filename,
vpColVector &q);
109 bool savePosFile(
const std::string &filename,
const vpColVector &q);
113 void setPositioningVelocity(
double velocity);
Implementation of column vector and the associated operations.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Implementation of a matrix and operations on matrices.
Implementation of a pose vector and operations on poses.
double m_max_joint_acceleration
vpHomogeneousMatrix m_eMc
double m_positionningVelocity
std::shared_ptr< ur_rtde::RTDEReceiveInterface > getRTDEReceiveInterfaceHandler() const
double m_max_linear_speed
std::shared_ptr< ur_rtde::DashboardClient > getDashboardClientHandler() const
double m_max_linear_acceleration
std::shared_ptr< ur_rtde::DashboardClient > m_db_client
vpRobot::vpControlFrameType m_vel_control_frame
std::shared_ptr< ur_rtde::RTDEControlInterface > getRTDEControlInterfaceHandler() const
std::shared_ptr< ur_rtde::RTDEReceiveInterface > m_rtde_receive
std::shared_ptr< ur_rtde::RTDEControlInterface > m_rtde_control
Class that defines a generic virtual robot.
virtual void get_eJe(vpMatrix &_eJe)=0
Get the robot Jacobian expressed in the end-effector frame.
virtual void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)=0
virtual void getPosition(const vpRobot::vpControlFrameType frame, vpColVector &position)=0
Get the robot position (frame has to be specified).
virtual vpRobotStateType setRobotState(const vpRobot::vpRobotStateType newState)
virtual void get_fJe(vpMatrix &_fJe)=0
virtual void getDisplacement(const vpRobot::vpControlFrameType frame, vpColVector &q)=0
virtual void setPosition(const vpRobot::vpControlFrameType frame, const vpColVector &q)=0
Set a displacement (frame has to be specified) in position control.