Skip to content
Snippets Groups Projects
Commit fe16fd14 authored by armar4-user's avatar armar4-user
Browse files

ForceTorqueObserver: Fixed frames

parent 671a8bf6
No related merge requests found
......@@ -305,7 +305,7 @@ void armarx::ForceTorqueObserver::reportSensorValues(const std::string& sensorNo
{
ScopedLock lock(dataMutex);
auto offerForceAndTorqueValue = [ = ](std::string const & sensorNodeName, std::string const & frame, std::string channelName)
auto offerForceAndTorqueValue = [ = ](std::string const & sensorNodeName, std::string const & frame, std::string channelName, const FramedDirectionBasePtr& forces, const FramedDirectionBasePtr& torques)
{
try
{
......@@ -358,9 +358,9 @@ void armarx::ForceTorqueObserver::reportSensorValues(const std::string& sensorNo
FramedDirectionPtr realTorques = FramedDirectionPtr::dynamicCast(torques);
realTorques->changeFrame(localRobot, forces->frame);
offerForceAndTorqueValue(sensorNodeName, forces->frame, "");
FramedDirectionPtr realForces = FramedDirectionPtr::dynamicCast(forces);
offerForceAndTorqueValue(sensorNodeName, forces->frame, "", realForces, realTorques);
auto sensorMappingRange = sensorRobotNodeMapping.equal_range(sensorNodeName);
for (auto iter = sensorMappingRange.first; iter != sensorMappingRange.second; ++iter)
......@@ -368,11 +368,12 @@ void armarx::ForceTorqueObserver::reportSensorValues(const std::string& sensorNo
auto& sensorName = iter->first;
auto& robotNodeName = iter->second.first;
auto& channelName = iter->second.second;
FramedDirectionPtr forcesCopy = FramedDirectionPtr::dynamicCast(realForces->clone());
FramedDirectionPtr torquesCopy = FramedDirectionPtr::dynamicCast(realTorques->clone());
forcesCopy->changeFrame(localRobot, robotNodeName);
torquesCopy->changeFrame(localRobot, robotNodeName);
realTorques->changeFrame(localRobot, robotNodeName);
realForces->changeFrame(localRobot, robotNodeName);
offerForceAndTorqueValue(sensorName, robotNodeName, channelName);
offerForceAndTorqueValue(sensorName, robotNodeName, channelName, forcesCopy, torquesCopy);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment