From 017810c30f699b11504ebe50db4be9aa4ac8cc1c Mon Sep 17 00:00:00 2001 From: Thomas Timm Andersen Date: Thu, 10 Sep 2015 13:43:58 +0200 Subject: [PATCH] Added minPayload, maxPayload and maxVelocity --- include/ur_modern_driver/ur_driver.h | 9 ++++++++- src/ur_driver.cpp | 17 ++++++++++++++--- src/ur_ros_wrapper.cpp | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/include/ur_modern_driver/ur_driver.h b/include/ur_modern_driver/ur_driver.h index 3ecb547..083feaa 100644 --- a/include/ur_modern_driver/ur_driver.h +++ b/include/ur_modern_driver/ur_driver.h @@ -21,6 +21,9 @@ class UrDriver { private: double maximum_time_step_; + double maximum_velocity_; + double minimum_payload_; + double maximum_payload_; std::vector joint_names_; public: UrRealtimeCommunication* rt_interface_; @@ -47,7 +50,11 @@ public: void setFlag(unsigned int n, bool b); void setDigitalOut(unsigned int n, bool b); void setAnalogOut(unsigned int n, double f); - void setPayloaf(double m); + void setPayload(double m); + + void setMaxVel(double vel); + void setMinPayload(double m); + void setMaxPayload(double m); }; diff --git a/src/ur_driver.cpp b/src/ur_driver.cpp index c4acc46..c04f3ce 100644 --- a/src/ur_driver.cpp +++ b/src/ur_driver.cpp @@ -12,10 +12,11 @@ #include "ur_modern_driver/ur_driver.h" UrDriver::UrDriver(std::condition_variable& msg_cond, std::string host, - unsigned int safety_count_max) { + unsigned int safety_count_max) : + maximum_time_step_(0.08), maximum_velocity_(10.0), minimum_payload_( + 0.0), maximum_payload_(1.0) { rt_interface_ = new UrRealtimeCommunication(msg_cond, host, safety_count_max); - maximum_time_step_ = 0.08; } @@ -142,10 +143,20 @@ void UrDriver::setAnalogOut(unsigned int n, double f) { rt_interface_->addCommandToQueue(buf); } -void UrDriver::setPayloaf(double m){ +void UrDriver::setPayload(double m) { char buf[256]; sprintf(buf, "sec setOut():\n\tset_payload(%1.3f)\nend\n", m); printf("%s", buf); rt_interface_->addCommandToQueue(buf); } + +void UrDriver::setMaxVel(double vel) { + maximum_velocity_ = vel; +} +void UrDriver::setMinPayload(double m) { + minimum_payload_ = m; +} +void UrDriver::setMaxPayload(double m) { + maximum_payload_ = m; +} diff --git a/src/ur_ros_wrapper.cpp b/src/ur_ros_wrapper.cpp index 7c6d52d..08d3b5d 100644 --- a/src/ur_ros_wrapper.cpp +++ b/src/ur_ros_wrapper.cpp @@ -163,7 +163,7 @@ private: bool setPayload(ur_msgs::SetPayloadRequest& req, ur_msgs::SetPayloadResponse& resp) { - robot_.setPayloaf(req.payload); + robot_.setPayload(req.payload); resp.success = true; return true; }