Closed lrapetti closed 3 years ago
The iFrameTransform provides the transform of the selected
frameIDs
frames w.r.t. the selectedrootFrameID
.
I would also consider the possibility to "calibrate" these transforms. For example, the input transforms might be defined wrt a fixed frame, but the initial transformation might not be known.
Adding here a screenshot that shows:
iFrameTransformToIWear
output interface, obtained using the example configuration fileWe can say that seems to be working fine since:
ground
wrt ground
is unit quaternion + (0, 0, 0) position/iCub/root_link_fake
of the wearable port, agrees with the transform server dataThe iFrameTransform provides the transform of the selected
frameIDs
frames w.r.t. the selectedrootFrameID
.I would also consider the possibility to "calibrate" these transforms. For example, the input transforms might be defined wrt a fixed frame, but the initial transformation might not be known.
Not sure if this would be the right place to apply this calibration. In my opinion, I would leave the calibration to the downstream devices (as it is now in the HumanStateProvider
), and keep this device minimal, so that all the calibration procedures are done at the same level of the pipeline.
Anyway, I would ask also @diegoferigo and @Yeshasvitvs for their opinion on this point.
Not sure if this would be the right place to apply this calibration. In my opinion, I would leave the calibration to the downstream devices (as it is now in the
HumanStateProvider
), and keep this device minimal, so that all the calibration procedures are done at the same level of the pipeline.Anyway, I would ask also @diegoferigo and @Yeshasvitvs for their opinion on this point.
I agree. I added that comment before fully realizing the purpose of this device.
Thanks for the reviews @kouroshD @diegoferigo, I should have addressed all of them. Please let me know if you have further comments, otherwise I will proceed with cleaning the commit history and merging.
I have cleaned the commit history, and all the checks are passed. I'll proceed merging.
This PR adds a device that converts the YARP iFrame Transform interface to an IWear device.
An example of device configuration can be found at https://github.com/robotology/wearables/blob/add-iFrameTransformToIWear-device/devices/IFrameTransformToIWear/conf/iframetransform_to_iwear.xml#L11-L25 The iFrameTransform provides the transform of the selected
frameIDs
frames w.r.t. the selectedrootFrameID
. The IWear format in which theIWear
data will be exposed is defined by thewearableSensorType
parameter (currently onlyPoseSensor
is available, but I am planning to add other working options such asIVirtualLinkKin
sensor orIOrientation
)