robotology / icub-main

The iCub Main Software Repository
Other
109 stars 103 forks source link

Remove the usage of `yarp::dev::IAnalogSensors` #929

Open Nicogene opened 9 months ago

Nicogene commented 9 months ago

I let things get out of hand and in the PR listed below I removed it also from other devices that had been already ported to the usage of the MultipleAnalogSensorsInterfaces

Looking at the usage of yarp::dev::IAnalogSensor interface in icub-main some devices still use it and they have not been ported to the MAS interfaces:

We know that the skin pipeline has to be refactored, maybe some of them can be removed completely as we did for the embObjAnalogSensor

For the remaining we have to chat with @marcoaccame

Originally posted by @Nicogene in https://github.com/robotology/icub-main/issues/919#issuecomment-1871189740

Nicogene commented 6 months ago
Device Usage in robots-configurations Interfaces implemented Possible action
canBusAnalogSensor ☑️ view usage (CAN iCub) yarp::dev::IAnalogSensor Use canBusFtSensor for strain, create canBusMais similar to embObjMais, remove canBusAnalogSensor from robots-configuration and icub-main
canBusInertialMTB ☑️ view usage (CAN iCub) yarp::dev::IAnalogSensor Port it to MAS interfaces
canBusMotionControl ☑️ view usage (CAN iCub) Has a list of yarp::dev::IAnalogSensor ❓❓❓
canBusSkin ☑️ view usage (CAN iCub) yarp::dev::IAnalogSensor Refactor skin sw stack
embObjMulltiEnc view usage yarp::dev::IAnalogSensor Let's remove it from icub-main or we port it to MultiEncArray interface
embObjPOS ☑️ view usage (ergoCub) yarp::dev::IAnalogSensor ❓❓❓
embObjPSC ☑️ view usage (only CER) yarp::dev::IAnalogSensor ❓❓❓
embObjSkin ☑️ view usage (both ergoCub and iCub) yarp::dev::IAnalogSensor Refactor skin sw stack

skinWrapper and skinManager are executables that until we do not refactor the skin sw stack will rely on IAnalogSensor

I tried to write down the current situation with some possible action points for what I know, @marcoaccame @traversaro @pattacini please feel free to contribute to this table

traversaro commented 6 months ago

fyi @valegagge , as apparently she was the original author of embObjMultiEnc: https://github.com/robotology/icub-main/commit/7578d28f389883705b53a763bd8fef0a5b4f78a4 .

valegagge commented 6 months ago

Hi guys, I report here some information related to the embObjMultiEnc. In r1SN001 there is an encoder called spichainof3 at joint. As the name says, the joint position is calculated by a combination of 3 spi encoder using the matrix defined in the mechanical file. So the joint position in this robot is provided as usual, but we needed a way to publish the value of each single joint, especially in the first stages of development and testing on this architecture. From this need, we developed the embObjMultiEnc.

I also looked around in the fw. the code that can publish such values still exists, but I didn't understand if they are broadcasted toward YRI.(I guess no)

Said that, I suppose that now there are very occasions where we need to check the raw value of the spichainof3 encoder. they are only on R1 robot.

In my opinion, we can remove the device, but we need to take into account that maybe we need to develop it. (it is a slim chance.)

Nicogene commented 6 months ago

/remind 6th may plan for action points

octo-reminder[bot] commented 6 months ago

Reminder Monday, May 6, 2024 10:00 AM (GMT+02:00)

plan for action points

octo-reminder[bot] commented 5 months ago

🔔 @Nicogene

plan for action points

Nicogene commented 3 months ago

Action points

Nicogene commented 3 months ago

I converted this to an Epic, you can link your activities to this.

cc @pattacini @valegagge @marcoaccame @MSECode @simeonedussoni @mfussi66