34#ifndef VP_ROBOT_UNIVERSAL_ROBOTS_H
35#define VP_ROBOT_UNIVERSAL_ROBOTS_H
37#include <visp3/core/vpConfig.h>
39#if defined(VISP_HAVE_UR_RTDE)
43#include <visp3/robot/vpRobot.h>
44#include <visp3/robot/vpRobotException.h>
46#include <ur_rtde/dashboard_client.h>
47#include <ur_rtde/rtde_control_interface.h>
48#include <ur_rtde/rtde_receive_interface.h>
64 class VISP_EXPORT vpRobotUniversalRobots :
public vpRobot
70 vpRobotUniversalRobots(
const vpRobotUniversalRobots &robot);
73 vpRobotUniversalRobots();
74 vpRobotUniversalRobots(
const std::string &ur_address);
75 virtual ~vpRobotUniversalRobots();
77 void connect(
const std::string &ur_address);
101 std::string getPolyScopeVersion();
104 int getRobotMode()
const;
105 std::string getRobotModel()
const;
107 void move(
const std::string &filename,
double velocity_percentage = 10.);
109 bool readPosFile(
const std::string &filename,
vpColVector &q);
110 bool savePosFile(
const std::string &filename,
const vpColVector &q);
114 void setPositioningVelocity(
double velocity);
126 void get_fJe(vpMatrix &) VP_OVERRIDE { }
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_positioningVelocity
std::shared_ptr< ur_rtde::RTDEControlInterface > getRTDEControlInterfaceHandler() const
std::shared_ptr< ur_rtde::DashboardClient > getDashboardClientHandler() const
std::shared_ptr< ur_rtde::RTDEReceiveInterface > getRTDEReceiveInterfaceHandler() const
double m_max_linear_speed
void connect(const std::string &ur_address)
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::RTDEReceiveInterface > m_rtde_receive
std::shared_ptr< ur_rtde::RTDEControlInterface > m_rtde_control
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.