From 84417af7689f91196880cb496a11520db70c165f Mon Sep 17 00:00:00 2001 From: Naoki-Hiraoka Date: Mon, 19 Aug 2019 19:34:09 +0900 Subject: [PATCH 01/17] [HrpsysSeqStateROSBridge] output joint_state/velocity --- hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp | 10 +++++++++- hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp b/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp index 30bd3b7c7..15808d0bb 100644 --- a/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp +++ b/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp @@ -463,8 +463,16 @@ RTC::ReturnCode_t HrpsysSeqStateROSBridge::onExecute(RTC::UniqueId ec_id) joint_state.velocity.push_back(m_rsvel.data[i]); } } else { - joint_state.velocity.resize(joint_state.name.size()); + double time_from_prev = (joint_state.header.stamp - prev_joint_state.header.stamp).toSec(); + if(time_from_prev > 0 && prev_joint_state.position.size() == joint_state.position.size()) { + for (unsigned int i = 0; i < joint_state.position.size(); i++) { + joint_state.velocity.push_back((joint_state.position[i] - prev_joint_state.position[i]) / time_from_prev); + } + } else { + joint_state.velocity.resize(joint_state.name.size()); + } } + prev_joint_state = joint_state; // set effort if m_rstorque is available if (m_rstorque.data.length() == body->joints().size()) { for ( unsigned int i = 0; i < body->joints().size() ; i++ ){ diff --git a/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.h b/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.h index bf615738c..3d4f10513 100644 --- a/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.h +++ b/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.h @@ -75,6 +75,7 @@ class HrpsysSeqStateROSBridge : public HrpsysSeqStateROSBridgeImpl coil::Mutex m_mutex; coil::TimeMeasure tm; + sensor_msgs::JointState prev_joint_state; std::string nameserver; std::string rootlink_name; From 4fc4f32a55047538e41035a418acc54f26366fd6 Mon Sep 17 00:00:00 2001 From: Naoki-Hiraoka Date: Tue, 20 Aug 2019 14:11:35 +0900 Subject: [PATCH 02/17] [hrpsys_ros_bridge.launch] add comment --- hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch b/hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch index 69e25c91f..6963b96ac 100644 --- a/hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch +++ b/hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch @@ -30,7 +30,7 @@ - +