-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues with yarprobotinterface, wholeBodyDynamics, and gravityCompensator #1574
Comments
Thank you @paliasgh for the thorough description of the problems. Just for our internal debug, I'll start reporting below some considerations. 🔲
|
It seems that
Yes this should be the problem, 100 ms of delay is a lot and this
and this:
Are syntoms that something is not working on imu side. Some checks that could be done are:
If on the I recall that in the past we had issues of freeze of the board, but on the most recent firmware of rfe this problem should be fixed cc @marcoaccame |
Hi @pattacini and @Nicogene , thank you very much for looking into the problem. The port you noted streams data:
It seems like wholeBodyDynamics_icub-head.log Running gravityCompensator_icub-head.log We do not seem to yet have any gravity compensation in action. Lastly, I think there are some unusual things going on regarding rfe boards. In the initial issue, I had mentioned no board is discovered under |
It shouldn't happen but it's not operationally critical yet as the Looking at the
What exactly have you been seeing? Are the arms falling down when switched in torque mode, although |
Hi @paliasgh! The rfe fw version is the latest one, so should be fine on that side.
This means that probably there are issues in the network connection between laptop and icub-head, you can check w/ linux command like ping/iperf etc.
Unfortunately, wbd on icub-main is a very old executable that has several hardcoded dynamics parameters that probably became obsoletes, this is probably the reason why the gravity compensation does not work very well. We planned to migrate to the cc @traversaro |
I've seen that the second log contains lots of Don't know why by simply power cycling the boards these issues will disappear somehow. Any clue @marcoaccame? @paliasgh, did you try to put the robot in a more "comfortable" configuration1 before starting it the second time? Just as a quick test. Footnotes
|
Hello @pattacini and @Nicogene, thanks for the feedback!
Yes, they fall down. Having arm joints in the torque control mode with IMG_3301.mov
Yes, even without any change in the arms position, IMG_3302.mov |
Hi @paliasgh, We will also organize our activities to cover points 2 and 3. |
Hi @paliasgh, regarding point 3: The EB11 board has 2 CAN connectors (CAN1 and CAN2) to which the MTB4 boards (which are screwed on the cover) must be connected. So, when you reach the board, you need to find the cables called 11N1 and 11N2. The cable 11N1 connects the EB11 board to an MTB4 on the thigh cover. The cable 11N2 connects the EB11 board to an MTB4 on the ankle cover. Please remember to give feedback and if you have any questions, write to us. @paliasgh However, I don't quite understand whether you have the same error on the CAN of boards 10.0.1.20 and 10.0.1.21 or not? |
Hi @AntonioConsilvio , thanks for the help! I opened the thigh cover and looked at the EB11 board. 11N1 was connected to one of the MTB4s in the front cover and then, to the back cover of the thigh. 11N2 was also connected to EB11, but I did not check the other end of its connection as it was going into the ankle. We do not move the robot's leg, so I think it is not very likely that a cable is disconnected. Can you please help us instead disable the leg tactile sensor, for now, to get rid of the error?
I also do not know. The unusual thing that grabbed my attention was that nothing is discovered under 10.0.1.20 (see screenshot below). Should normally be something there? |
Hi @paliasgh,
Please remember to give feedback and if you have any questions, write to us. Regarding board 10.0.1.20, it has no CAN board under it, so it is normal that FirmwareUpdater shows nothing. However, if there are CAN board detached, the logger will show errors very similar to the error of the board EB11:
So, the board 10.0.1.20 should have no problems. cc @sgiraz |
Hi @paliasgh, in the past days, we did some internal tests in order to replicate your first issue (i.e. |
Moreover, doing the tests cited above, I observed the problem n.2 (i.e. cc @valegagge |
Today I performed some tests related to the un-calibration of the arms when I did the following steps:
Due to the fingers fault, the calibration of the whole arm cannot be achieved. Checking the figures above, it seems that when the controller checks the motor positions of the fingers considers them out of the range defined in the configuration, even if this is not true and moreover the motor position are almost the same in the first situation where all is fine. This are the motor limits used. This is a firmware bug. We are going to fix it. cc @MSECode |
In relation to the comment above here the PRs that solve the issue of the joints going in hw fault after
cc: @valegagge |
Hello @MSECode and @valegagge, Thanks so much for working on the issue. Today, I updated the firmware of the boards to pull #95. For our robot, this meant updating During the update, something happened that caused another, even more serious, issue! One Now,
Here is a complete log: yarprunlog_28_07_2023_14_28_17.log Thanks again for your support. -- The previous issue, i.e., joints going in hw fault after |
cc: @marcoaccame @sgiraz @mfussi66 "During the update, something happened that caused another, even more serious, issue! One strain2 board, under 10.0.1.6, got disappeared during the update" seems similar to one we had updating the strain2. |
Hello @pattacini, @MSECode, @valegagge, and everyone, I wanted to follow up on the status of this issue. As I reported here, the fix did not solve the issue of the joints going in hw fault after |
That's unexpected, since I've just updated a robot, which should have the same sw and hw architecture of yours, with the latest Distro and firmware a couple of days ago and we had no issues. |
Hi @paliasgh, If you still have the issue related to the strain boards, please tell us. thank you!! |
Hello @valegagge, I updated our systems and the robot to --
However, the version of |
Hi @paliasgh, |
Hi @paliasgh, Anyway, we can verify that the update to the new distro works fine without the strain and then fix the strain issue. So, you need to remove the strain boards configurations and their wrappers from the configuration file: I prepared Obviously, you cannot run wholeBodyDynamics without strain. |
Hello @MSECode and @valegagge,
Here is a log file when running |
Hi @paliasgh,
Thanks for the udpate |
Hi @paliasgh, in the meanwhile you could use |
Hi @paliasgh, Please, check it out, hope this will help you and sorry for the late reply. |
Hello @MSECode, Many thanks! It seems to be working. Two things to check, just to make sure:
Doing the procedure for boards 10.0.1.10 and 10.0.1.11 led to the discovery of 13 |
Hi @paliasgh,
|
Hi @paliasgh, Do you have any news on this issue? |
Hello @sgiraz, Thanks for checking with us. I was busy with another project during the past months so I was not fast responding here. I did some tests today and everything with Thanks again @MSECode @pattacini @valegagge @sgiraz @Nicogene @martinaxgloria @AntonioConsilvio for all the support! |
Device name 🤖
iCubWaterloo01
Request/Failure description
We are facing a number of issues regarding motors, especially the arms, of our iCub robot after a recent update.
yarprobotinterface
and then, start it again, the arms will not get calibrated and stay in the idle mode.yarprobotinterface
produces lots of errors regarding cables under one board are not attached while nothing has been physically changed.Detailed context
We have recently updated
iCubWaterloo01
systems to Distrov2023.02.2
(and icub-firmware-build tov1.34.1
consequently) as per this long discussion. Regarding the issues listed above (log files are attached next):Changing the control mode of any joint in robot's arm to torque control mode, either through
setControlMode(i,VOCAB_CM_TORQUE)
or directly inyarpmotorgui
, will make the joint unavailable due to hardware fault (code 7):As a result,
gravityCompensator
does not seem to provide any torque to hold the arms against gravity:241812112-5b13a486-7658-48c2-9f29-23cba4590c4b.mov
We have run some tests on ports related to
yarprobotinterface
,wholeBodyDynamics
, andgravityCompensator
:If we stop
yarprobotinterface
throughyarpmanager
and then, start it again, the arms will not get calibrated:243501777-70145bb5-7658-4cb1-8c99-7a1d6e3457df.mov
In fact, the main joints stay in idle mode (I can switch them back to position control though) and some others give fault as you can see in the screenshot below.
This means, every time we want to restart
yarprobotinterface
, we have to manually shutdown the motors (press robot's backpack's button) and start them again. It was not like this before.Based on the
yarprobotinterface
output that contains following messages,we know that "the cables on CAN1 and CAN2 under board 10.0.1.11 are not attached.". In fact, no board is discovered under 10.0.1.11, as well as 10.0.1.20 and 10.0.1.21 via
FirmwareUpdater
. Could you please help us check the cables? It is strange since nothing happened to our robot physically recently that could have caused cable detachment.Thanks so much for your help!
Additional context
Here are console outputs of
yarprobotinterface
,wholeBodyDynamics
, andgravityCompensator
after a fresh start of the robot:yarprobotinterface.log (The log may contain errors related to this this issue that still exists (we are going to get back to this one next!).)
gravityCompensator.log
wholeBodyDynamics.log
After closing
yarprobotinterface
, rerunning it produces this output (when arms are not calibrated):yarprobotinterface_second_run.log
How does it affect you?
No response
The text was updated successfully, but these errors were encountered: