From 8853d8ecf459e7092e594875d5d2b92f860f672d Mon Sep 17 00:00:00 2001 From: Florent Lamiraux Date: Fri, 16 Jun 2023 14:16:16 +0200 Subject: [PATCH 1/2] Use int64_t as type for signal time. --- src/device.cc | 2 +- src/device.hh | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/device.cc b/src/device.cc index 3facc49..84c41b4 100644 --- a/src/device.cc +++ b/src/device.cc @@ -90,7 +90,7 @@ void SoTRobotArmDevice::setSensors(map &SensorsIn) { sotDEBUGIN(25) ; map::iterator it; - int t = stateSOUT.getTime () + 1; + sigtime_t t = stateSOUT.getTime () + 1; bool setRobotState = false; it = SensorsIn.find("forces"); diff --git a/src/device.hh b/src/device.hh index 2ee29eb..eeccb7a 100644 --- a/src/device.hh +++ b/src/device.hh @@ -39,6 +39,7 @@ using dynamicgraph::sot::SensorValues; class SoTRobotArmDevice : public dynamicgraph::sot::Device { public: + typedef dynamicgraph::sigtime_t sigtime_t; static const std::string CLASS_NAME; static const double TIMESTEP_DEFAULT; @@ -79,9 +80,9 @@ protected: dynamicgraph::Vector previousState_; /// proportional and derivative position-control gains - dynamicgraph::Signal p_gainsSOUT_; + dynamicgraph::Signal p_gainsSOUT_; - dynamicgraph::Signal d_gainsSOUT_; + dynamicgraph::Signal d_gainsSOUT_; /// Intermediate variables to avoid allocation during control dynamicgraph::Vector dgforces_; @@ -99,6 +100,7 @@ protected: class DeviceToDynamic : public dynamicgraph::Entity { public: + typedef dynamicgraph::sigtime_t sigtime_t; static const std::string CLASS_NAME; DeviceToDynamic(const std::string& name) : dynamicgraph::Entity(name), sinSIN(0x0, "DeviceToDynamic("+name+")::input(vector)::sin"), @@ -112,14 +114,14 @@ public: inputSize_ = size; } private: - dynamicgraph::Vector& compute(dynamicgraph::Vector& res, int time) + dynamicgraph::Vector& compute(dynamicgraph::Vector& res, sigtime_t time) { res.head<7>() = sinSIN(time); res[7] = 0; return res; } - dynamicgraph::SignalPtr sinSIN; - dynamicgraph::SignalTimeDependent soutSOUT; + dynamicgraph::SignalPtr sinSIN; + dynamicgraph::SignalTimeDependent soutSOUT; int inputSize_; }; From 5ace0624d014075567bcaa1c68dad64abc1bb9b5 Mon Sep 17 00:00:00 2001 From: Florent Lamiraux Date: Fri, 23 Jun 2023 09:38:19 +0200 Subject: [PATCH 2/2] Use dynamicgraph::size_type instead of int. --- src/controller.cc | 2 +- src/controller.hh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controller.cc b/src/controller.cc index 115b562..40e8eab 100644 --- a/src/controller.cc +++ b/src/controller.cc @@ -110,7 +110,7 @@ SoTRobotArmController::~SoTRobotArmController() { } -void SoTRobotArmController::setControlSize(const int& size) +void SoTRobotArmController::setControlSize(const size_type& size) { device_->setControlSize(size); } diff --git a/src/controller.hh b/src/controller.hh index c3dd627..7735deb 100644 --- a/src/controller.hh +++ b/src/controller.hh @@ -38,7 +38,7 @@ using dynamicgraph::sot::AbstractSotExternalInterface; using dynamicgraph::sot::Device; using dynamicgraph::sot::ControlValues; using dynamicgraph::sot::SensorValues; - +using dynamicgraph::size_type; class SoTRobotArmController: public AbstractSotExternalInterface { @@ -63,7 +63,7 @@ class SoTRobotArmController: public AbstractSotExternalInterface void setSecondOrderIntegration(void); // Set the number of joints that are controlled - virtual void setControlSize(const int& size); + virtual void setControlSize(const size_type& size); // Run some python commands that cannot be run at construction virtual void initializePython();