Placing the object back in the table - Difficulties Reading Necessary Data #56
-
Hello everyone! First of all, thank you @pattacini for this amazing sandbox that has been extremely helpful for my thesis. In the past week I set as a goal to build more things inside the sandbox to test some implemented algorithms. The goal is for the iCub after grasping the object to carefully place it back in the table. For this to be possible, I need the external forces measurements on the base frame of the iCub (which I obtain from the FT measurements) and also the readings from the encoders. Given the encoders and the external forces I would control the fingers' joint angles depending on the load share (calculated from the FT). I am developing this algorithm in the main cpp file. However I am facing difficulties in reading data from the port that has my external measurements and also reading the encoder data. Below I leave a repo with the src file of the sandbox with the changes I made, being the main file the one that has the changes: https://gitlab.com/diogofbsilva/sandbox_improvement Where I am facing difficulties is in the readUpdate function: https://gitlab.com/diogofbsilva/sandbox_improvement/-/blame/main/src/main.cpp?ref_type=heads#L563. Is in this function, that I am reading data from the port that has the external wrench measurements (right arm) on the base frame and also the data from the encoders. When the code reaches this function, it gives me errors which I do not understand which are:
I hope that you can help me! Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Happy to know you found this repo useful for your research ✨
You ought to obtain forces and encoders from two different ports. I suppose you know that.
Which port do you connect yours to? How do you achieve that, meaning via the command line or using yarpmanager? What's the command you issue? I remind you that to retrieve the FT measurements expressed in the robot root frame, you ought to rely on data published by To get this working, you need to launch the required module (here's an example) and then get inspired from what's done for the Footnotes
|
Beta Was this translation helpful? Give feedback.
Hi @pattacini !!
Yes, if you check the following link: https://gitlab.com/diogofbsilva/sandbox_improvement/-/blob/main/src/main.cpp?ref_type=heads#L563
You can see that I am obtaining the external root frame measurements via port connection and the encoder data using the IEncoders class.
I developed a module from scratch ,which receives the measurements from the FT plugin and obtains the external measurements in the root frame, which is working well so no need of using wholeBodyDynamics. So, the output port of this module of mine is the one to which I am trying to connect. The way that I am connec…