Skip to content
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

ergoCub 1.0 S/N:000 - Wrong date in ergocub-torso #1611

Closed
GiulioRomualdi opened this issue Jul 24, 2023 · 14 comments
Closed

ergoCub 1.0 S/N:000 - Wrong date in ergocub-torso #1611

GiulioRomualdi opened this issue Jul 24, 2023 · 14 comments
Assignees
Labels
ergoCub 1.0 S/N:000 ergoCub robot (prototype)

Comments

@GiulioRomualdi
Copy link
Member

Robot Name 🤖

ergoCub 1.0 S/N:000

Request/Failure description

@isorrentino noticed that the date of the ergocub-torso is pretty old. This turns in several cmake warnings and unnecessary recompilation of the code in the robot-torso

Detailed context

This is the output of the date in the ergocub setup. Only the ergocub-torso has a wrong date

image

Additional context

cc @SimoneMic @S-Dafarra

How does it affect you?

No response

@GiulioRomualdi GiulioRomualdi added the ergoCub 1.0 S/N:000 ergoCub robot (prototype) label Jul 24, 2023
@github-actions github-actions bot changed the title [ergoCubSN000] Wrong date in ergocub-torso ergoCub 1.0 S/N:000 - [ergoCubSN000] Wrong date in ergocub-torso Jul 24, 2023
@sgiraz sgiraz changed the title ergoCub 1.0 S/N:000 - [ergoCubSN000] Wrong date in ergocub-torso ergoCub 1.0 S/N:000 - Wrong date in ergocub-torso Jul 24, 2023
@SimoneMic
Copy link

This issue is also a problem for the ROS2 topic detection and the TF tree, I'll add just a quick note:
As mentioned here the solution would be to synchronize all the PCs to the 10.0.2.1 server. I have done it on ergocub-laptop, but on the torso and head I don't have the root privileges.
In the end it takes only 2 minutes following this guide, just take the rc-local from the laptop and do the same thing on both torso and head.

If another approach is used, please do the same thing on all the machines for consistency. Thanks.

@SimoneMic
Copy link

By the way the quick fix is to run sudo ntpdate -b 10.0.2.1 once (you can reverse search it in the terminal since I use it quite a lot)

@maggia80
Copy link
Contributor

@davidelasagna could it be related to the BIOS battery?

@davidelasagna
Copy link

@maggia80 it could but if I'm not mistaken We changed the battery just before ICRA, I've checked the torso and after the reboot the date and time changed form the correct one to one in the past. I've set up a workaround creating a startup service that synchronize the time with iiticubws079.
In any case a check to the CMOS battery should be done sooner or later.

@sgiraz
Copy link
Contributor

sgiraz commented Jul 28, 2023

Hi @GiulioRomualdi, could check if the torso XSENSE IMU works expected? If not, maybe we have to check the CMOS battery, otherwise, the problem may result solved after the intervention of @davidelasagna.

I put this issue in review waiting for your feedback.

cc @SimoneMic

@GiulioRomualdi
Copy link
Member Author

I tried the imu but it doesn't start

[DEBUG] Reading file /usr/local/src/robot/robotology-superbuild/src/robots-configuration/ergoCubSN000/ergocub_imu.xml
[DEBUG] yarprobotinterface: using xml parser for DTD v3.x
[DEBUG] Reading file /usr/local/src/robot/robotology-superbuild/src/robots-configuration/ergoCubSN000/ergocub_imu.xml
[INFO] Yarprobotinterface was started using the following enable_tags: 
[INFO] Yarprobotinterface was started using the following disable_tags: 
[DEBUG] List of all enable attributes found in the include tags: 
[DEBUG] List of all disable attributes found in the include tags: 
[DEBUG] Preprocessor complete in:  5.07832e-05 s
[WARNING] Invalid syntax while loading  at line 4 . "robot" element should contain the "build" attribute [unsigned int]. Assuming 0
[WARNING] Invalid syntax while loading  at line 4 . "robot" element should contain the "portprefix" attribute. Using "name" attribute
[WARNING] *************************************************************************************
* yarprobotinterface 'portprefix' parameter does not follow convention,  *
* it MUST start with a leading '/' since it is used as the full prefix port name    *
*     name:    full port prefix name with leading '/',  e.g.  /robotName      *
* A temporary automatic fix will be done for you, but please fix your config file   *
*************************************************************************************
[INFO] |yarp.os.Port|/ergoCubSN000/yarprobotinterface| Port /ergoCubSN000/yarprobotinterface active at tcp://10.0.2.2:10002/
[INFO] startup phase starting...
[INFO] Opening device waist-inertial with parameters [("robotName" = "ergoCubSN000"), ("period" = "10"), ("name" = "/ergocub/waist/inertials"), ("subdevice" = "xsensmt"), ("serial" = "/dev/ttyS0")]
[DEBUG] |yarp.dev.PolyDriver|waist-inertial| Parameters are (device multipleanalogsensorsserver) (id waist-inertial) (name "/ergocub/waist/inertials") (period 10) (robotName ergoCubSN000) (serial "/dev/ttyS0") (subdevice xsensmt)
[DEBUG] |yarp.dev.PolyDriver|waist-inertial| Parameters are (device xsensmt) (id waist-inertial) (name "/ergocub/waist/inertials") (period 10) (robotName ergoCubSN000) (serial "/dev/ttyS0") (subdevice xsensmt)
[WARNING] xsensmt -  Parameter "sensor_name" not set. Using default value  " sensor_imu_xsensmt " for this parameter.
[WARNING] xsensmt -  Parameter "frame_name" not set. Using the same value as "sensor_name" for this parameter.
[WARNING] xsensmt -  Parameter "xsensmt_period" not set. Using the default value  0.01  seconds for this parameter.
[INFO] xsensmt: Opening serial port /dev/ttyS0 with baud rate 115200 and output period 0.0100 seconds.
[INFO] xsensmt: Putting device into configuration mode.
[ERROR] xsensmt: No MTi / MTx / MTmk4 device found. Aborting.
[ERROR] |yarp.dev.PolyDriver|waist-inertial| Driver <xsensmt> was found but could not open
[ERROR] |yarp.device.multipleanalogsensorsserver| Opening subdevice failed.
[ERROR] |yarp.dev.PolyDriver|waist-inertial| Driver <multipleanalogsensorsserver> was found but could not open
[WARNING] Cannot open device waist-inertial
[WARNING] Cannot open device waist-inertial
[WARNING] There was some problem opening one or more devices. Please check the log and your configuration
[ERROR] One or more devices failed opening... see previous log messages for more info
[INFO] Closing device waist-inertial
[ERROR] Error in startup phase... see previous messages for more info
[WARNING] Interrupt # 1 # received.
[INFO] Interrupt received. Stopping all running threads.
[INFO] interrupt1 phase starting...
[INFO] interrupt1 phase finished.
[INFO] shutdown phase starting...
[INFO] Entering action level 5 of phase shutdown
[INFO] Executing detach action, level 5 on device waist-inertial with parameters []
[ERROR] waist-inertial is neither a wrapper nor a multiplewrapper, therefore it cannot have detach actions
[ERROR] Cannot run detach action on device waist-inertial
[INFO] All actions for action level 5 of shutdown phase started. Waiting for unfinished actions.
[INFO] All actions for action level 5 of shutdown phase finished.
[WARNING] There was some problem running actions for shutdown phase . Please check the log and your configuration
[INFO] Closing device waist-inertial
[INFO] shutdown phase finished.
[ERROR] Error in shutdown phase... see previous messages for more info

@martinaxgloria explained me that we need to reopen the chest and re-enable the options presented here: https://github.com/icub-tech-iit/tickets/issues/2684#issuecomment-1633867117

@sgiraz
Copy link
Contributor

sgiraz commented Aug 1, 2023

Hi @GiulioRomualdi,

I tried the imu but it doesn't start

Ok, we will check possible issues around COMM-Express and its carrier board.
To do this, we'll have to remove the torso cover and unmount the COMM-Express for further inspection.

🎯 Possible action points:

  1. check wirings, connectors, connections, and CMOS Battery
  2. check the BIOS version
  3. check the BIOS configuration
  4. try to update the BIOS
  5. replace the COMM-Express board with another one

Stay tuned for further updates!

cc @maggia80 @Fabrizio69 @Gandoo @AntonioConsilvio

@GiulioRomualdi
Copy link
Member Author

Hi @sgiraz thank you for the update 😃

@Nicogene
Copy link
Member

Nicogene commented Aug 8, 2023

Alongside @davidelasagna this morning we investigate this problem but we didn't manage to make the imu work either w/ or w/o BIOS settings.
We tried also to use the cable and the imu @martinaxgloria used on the bench but we still get the same error.
We will continue investigating the setup on the bench.
The error we are getting is triggered by this chunk of code:

https://github.com/robotology/yarp-device-xsensmt/blob/7a2de59ad2343be23fce86db850215a4f18d9e3e/xsensmt/XsensMT.cpp#L287-L291

@Nicogene
Copy link
Member

Nicogene commented Aug 8, 2023

Alongside @davidelasagna we managed to solve both IMU and date problems.
Testing on bench we verified that everything was working flawlessly, then the only difference were the software.
On the com-express on bench we have the latest master of yarp-device-xsesnmt (robotology/yarp-device-xsensmt@7a2de59), while on the com-express of ergocub it was on v2.2.0 tag that is of November 2022.
Updating to the latest master made the waist imu work also without changing the bios setting that right now is using the default ones.

immagine

This problem probably came out when the superbuild has been upgraded to the latest distro (2023.05.2), since v2.2.0 is the latest tag of that repo.
Maybe it is the case of make a new tag for yarp-device-xsensmt @traversaro @GiulioRomualdi @HosameldinMohamed ?

cc @sgiraz @AntonioConsilvio

@S-Dafarra
Copy link

Alongside @davidelasagna we managed to solve both IMU and date problems.

Also the date issue was caused by the version of yarp-device-xsensmt?

@Nicogene
Copy link
Member

Nicogene commented Aug 8, 2023

Alongside @davidelasagna we managed to solve both IMU and date problems.

Also the date issue was caused by the version of yarp-device-xsensmt?

It is not clear what was the cause of that issue, we saw that when the cable was attached there were strange glitches in the bios, like someone was pressing keys, we supposed that was due to faulty communication on serial.
We noticed that the cable was a little bit damaged, after fixing it these glitches disappeared, but we are not 100% that was the cause

@SimoneMic
Copy link

Alongside @davidelasagna we managed to solve both IMU and date problems. Testing on bench we verified that everything was working flawlessly, then the only difference were the software. On the com-express on bench we have the latest master of yarp-device-xsesnmt (robotology/yarp-device-xsensmt@7a2de59), while on the com-express of ergocub it was on v2.2.0 tag that is of November 2022. Updating to the latest master made the waist imu work also without changing the bios setting that right now is using the default ones.

Just for clarification, is the configuration on the robot already aligned and working? Can we use the torso imu?
Thanks

@sgiraz
Copy link
Contributor

sgiraz commented Aug 24, 2023

Hi guys,

It is not clear what was the cause of that issue, we saw that when the cable was attached there were strange glitches in the bios, like someone was pressing keys, we supposed that was due to faulty communication on serial.

After a deep inspection made by @davidelasagna and @AntonioConsilvio We can confirm that the problem has been solved by configuring the BIOS COM port settings properly.

On the com-express on bench we have the latest master of yarp-device-xsesnmt (robotology/yarp-device-xsensmt@7a2de59), while on the com-express of ergocub it was on v2.2.0 tag that is of November 2022.

As per this, I suggest to check often the alignment among the repos inside the robotology-superbuild in order to avoid unwanted misalignments and issues.

Just for clarification, is the configuration on the robot already aligned and working? Can we use the torso imu?
Thanks

Afaik the robot is already aligned and you can use the torso-imu.

Considering the problems mentioned in this issue solved, I proceed to close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ergoCub 1.0 S/N:000 ergoCub robot (prototype)
Projects
Status: Done
Development

No branches or pull requests

8 participants