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

Simulation not publishing any Node or Topics #5

Closed
asalbright opened this issue Jan 18, 2024 · 6 comments
Closed

Simulation not publishing any Node or Topics #5

asalbright opened this issue Jan 18, 2024 · 6 comments

Comments

@asalbright
Copy link

I've followed the instructions listed and after launching the simulation, it seems it is not publishing anything I can get access too.

So, ros2 topic list and ros2 node list don't find anything.

Here is the output of the terminal when running the sim:

Jan 18, 2024 9:50:48 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @5a6d67c3'
Prism pipeline init order: es2 sw 
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.es2.ES2Pipeline
Loading ES2 native library ... prism_es2
        succeeded.
GLFactory using com.sun.prism.es2.X11GLFactory
(X) Got class = class com.sun.prism.es2.ES2Pipeline
Initialized prism pipeline: com.sun.prism.es2.ES2Pipeline
Gtk-Message: 21:50:48.547: Failed to load module "canberra-gtk-module"
Maximum supported texture size: 16384
Maximum texture size clamped to 4096
Non power of two texture support = true
Maximum number of vertex attributes = 16
Maximum number of uniform vertex components = 16384
Maximum number of uniform fragment components = 16384
Maximum number of varying components = 128
Maximum number of texture units usable in a vertex shader = 32
Maximum number of texture units usable in a fragment shader = 32
Graphics Vendor: Mesa
       Renderer: llvmpipe (LLVM 15.0.7, 256 bits)
        Version: 4.5 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1
 vsync: false vpipe: true
ES2ResourceFactory: Prism - createStockShader: FillPgram_Color.frag
ES2ResourceFactory: Prism - createStockShader: Solid_TextureFirstPassLCD.frag
ES2ResourceFactory: Prism - createStockShader: Solid_TextureSecondPassLCD.frag
new alphas with length = 4096
ES2ResourceFactory: Prism - createStockShader: Texture_Color.frag
ES2ResourceFactory: Prism - createStockShader: Texture_LinearGradient_PAD.frag
ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.frag
240118 21:50:55:783 [INFO] (NetworkParameters.java:41): Looking for network parameters in network parameters file at /home/ros/.ihmc/IHMCNetworkParameters.ini
240118 21:50:55:784 [INFO] (NetworkParameters.java:45): Found Network parameters file at /home/ros/.ihmc/IHMCNetworkParameters.ini
240118 21:50:55:785 [INFO] (NetworkParameters.java:72): Looking for network parameters in environment variables
240118 21:50:55:785 [INFO] (NetworkParameters.java:73): Environment variables will override entries in the network parameters file.
240118 21:50:55:788 [INFO] (RTPSCommunicationFactory.java:53): Using DDS/ROS 2 Domain ID 11
240118 21:50:55:788 [INFO] (RTPSCommunicationFactory.java:79): Scanning interfaces for restriction: 192.168.1.0/24
240118 21:50:55:790 [INFO] (RTPSCommunicationFactory.java:83): Restriction address: 192.168.1.0
240118 21:50:55:790 [INFO] (RTPSCommunicationFactory.java:84): Restriction netmask: 255.255.255.0
240118 21:50:57:566 [WARN] (Robot.java:157): Unsupported sensor: LidarSensorDefinition - head_hokuyo_sensor
IMUBasedPelvisRotationalStateUpdater: More than 1 IMU sensor, using only the first one: pelvisRearImu
PelvisIMUBasedLinearStateCalculator: More than 1 IMU sensor, using only the first one: pelvisRearImu
240118 21:50:58:358 [WARN] (Skully.java:103): Skully says he discovered something mysterious:
   'I think something is off in your parameter file.'
     ,----._
    )\___/  \
   /__, ,__,(|
   |.d/ \b. _/
    \/''  \||
     '+++'//
     `-.-'
   Parameters in registry: 54
   Parameters using their default value: 19
   Parameters in XML with no match: 15
240118 21:50:58:468 [WARN] (JointSettingsHelper.java:129): In State DoNothingBehavior
Got joints without acceleration integration parameters.
Will use default values for: [leftHipYaw, leftHipRoll, leftHipPitch, leftKneePitch, leftAnklePitch, leftAnkleRoll, rightHipYaw, rightHipRoll, rightHipPitch, rightKneePitch, rightAnklePitch, rightAnkleRoll, torsoYaw, torsoPitch, torsoRoll, leftShoulderPitch, leftShoulderRoll, leftShoulderYaw, leftElbowPitch, leftForearmYaw, leftWristRoll, leftWristPitch, lowerNeckPitch, neckYaw, upperNeckPitch, rightShoulderPitch, rightShoulderRoll, rightShoulderYaw, rightElbowPitch, rightForearmYaw, rightWristRoll, rightWristPitch]
240118 21:50:58:548 [INFO] (RigidBodyControlManager.java:157): Creating manager for leftFoot with pose controller.
240118 21:50:58:564 [INFO] (RigidBodyControlManager.java:157): Creating manager for rightFoot with pose controller.
240118 21:50:58:680 [INFO] (RigidBodyControlManager.java:114): Creating manager for torso with orientation controller.
240118 21:50:58:684 [INFO] (RigidBodyControlManager.java:114): Creating manager for upperNeckPitchLink with orientation controller.
240118 21:50:58:690 [INFO] (RigidBodyControlManager.java:157): Creating manager for leftPalm with pose controller.
240118 21:50:58:697 [INFO] (RigidBodyControlManager.java:157): Creating manager for rightPalm with pose controller.
240118 21:50:58:729 [WARN] (WorkspacePathTools.java:99): ihmc-open-robotics-software directory could not be found. Working directory: /home/ws Search stopped at: /home/ws
240118 21:50:58:987 [WARN] (Skully.java:103): Skully says he discovered something mysterious:
   'I think something is off in your parameter file.'
     ,----._
    )\___/  \
   /__, ,__,(|
   |.d/ \b. _/
    \/''  \||
     '+++'//
     `-.-'
   Parameters in registry: 1115
   Parameters using their default value: 547
   Parameters in XML with no match: 87
240118 21:50:59:809 [INFO] (SCS2AvatarSimulationFactory.java:687): Initializing estimator to actual
240118 21:50:59:819 [ERROR] (HumanoidNetworkProcessor.java:551): Failed to start a module in the network processor, stack trace:
java.lang.RuntimeException: Could not establish the ROS Master URI. Check your environment variables for ROS_MASTER_URI or set the IHMC Network key rosURI in your ini file. Exiting.
Please set all appropriate environment variables or use NetworkParametersCreator to create a properties file and save it in /home/ros/.ihmc/IHMCNetworkParameters.ini, or pass in -Dus.ihmc.networkParameterFile=[path].


        at us.ihmc.communication.configuration.NetworkParameters.getHost(NetworkParameters.java:129)
        at us.ihmc.communication.configuration.NetworkParameters.getROSURI(NetworkParameters.java:139)
        at us.ihmc.avatar.networkProcessor.HumanoidNetworkProcessor.getOrCreateRosURI(HumanoidNetworkProcessor.java:162)
        at us.ihmc.avatar.networkProcessor.HumanoidNetworkProcessor.setupRosModule(HumanoidNetworkProcessor.java:335)
        at us.ihmc.avatar.networkProcessor.HumanoidNetworkProcessor.newFromParameters(HumanoidNetworkProcessor.java:87)
        at us.ihmc.avatar.simulationStarter.AvatarSimulationToolsSCS2$AvatarSimulationEnvironment.build(AvatarSimulationToolsSCS2.java:138)
        at us.ihmc.valkyrie.ValkyrieObstacleCourseNoUISCS2.<init>(ValkyrieObstacleCourseNoUISCS2.java:30)
        at us.ihmc.valkyrie.ValkyrieObstacleCourseNoUISCS2.main(ValkyrieObstacleCourseNoUISCS2.java:37)
240118 21:50:59:819 [INFO] (HumanoidNetworkProcessor.java:348): Setting up sensor module...
240118 21:50:59:820 [INFO] (HumanoidNetworkProcessor.java:152): Creating ROS 2 node in FAST_RTPS mode
240118 21:50:59:862 [INFO] (VideoPacketHandler.java:43): Creating video publisher on topic: /ihmc/video
240118 21:50:59:948 [ERROR] (HumanoidNetworkProcessor.java:551): Failed to start a module in the network processor, stack trace:
java.lang.RuntimeException: Duplicate reference frame names detected: CollisionFrame
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkUniqueFrameNames(ReferenceFrame.java:488)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkUniqueFrameNameInSubtree(ReferenceFrame.java:468)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkUniqueFrameNameInSubtree(ReferenceFrame.java:474)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkUniqueFrameNameInSubtree(ReferenceFrame.java:474)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkUniqueFrameNameInSubtree(ReferenceFrame.java:474)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.checkAndProcessNewFrameName(ReferenceFrame.java:458)
        at us.ihmc.euclid.referenceFrame.ReferenceFrame.<init>(ReferenceFrame.java:420)
        at us.ihmc.euclid.referenceFrame.FixedReferenceFrame.<init>(FixedReferenceFrame.java:46)
        at us.ihmc.euclid.referenceFrame.tools.ReferenceFrameTools.constructFrameWithUnchangingTransformToParent(ReferenceFrameTools.java:142)
        at us.ihmc.perception.depthData.TrackingCollisionShape$TrackingCollisionShapeImpl.<init>(TrackingCollisionShape.java:76)
        at us.ihmc.perception.depthData.TrackingCollisionShape.<init>(TrackingCollisionShape.java:28)
        at us.ihmc.perception.depthData.CollisionShapeTester.addJoint(CollisionShapeTester.java:38)
        at us.ihmc.perception.depthData.CollisionShapeTester.<init>(CollisionShapeTester.java:21)
        at us.ihmc.avatar.networkProcessor.lidarScanPublisher.LidarScanPublisher.setSelfCollisionFilter(LidarScanPublisher.java:178)
        at us.ihmc.valkyrie.sensors.ValkyrieSensorSuiteManager.createLidarScanPublisher(ValkyrieSensorSuiteManager.java:226)
        at us.ihmc.valkyrie.sensors.ValkyrieSensorSuiteManager.initializeSimulatedSensors(ValkyrieSensorSuiteManager.java:128)
        at us.ihmc.avatar.networkProcessor.HumanoidNetworkProcessor.setupSensorModule(HumanoidNetworkProcessor.java:360)
        at us.ihmc.avatar.networkProcessor.HumanoidNetworkProcessor.newFromParameters(HumanoidNetworkProcessor.java:89)
        at us.ihmc.avatar.simulationStarter.AvatarSimulationToolsSCS2$AvatarSimulationEnvironment.build(AvatarSimulationToolsSCS2.java:138)
        at us.ihmc.valkyrie.ValkyrieObstacleCourseNoUISCS2.<init>(ValkyrieObstacleCourseNoUISCS2.java:30)
        at us.ihmc.valkyrie.ValkyrieObstacleCourseNoUISCS2.main(ValkyrieObstacleCourseNoUISCS2.java:37)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/valkyrie-simulation-0.14.0-231219-1/lib/log4j-slf4j-impl-2.17.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/valkyrie-simulation-0.14.0-231219-1/lib/slf4j-simple-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Jan 18, 2024 9:51:00 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 20.0.1 by JavaFX runtime of version 17.0.2-ea
Jan 18, 2024 9:51:00 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 20.0.1 by JavaFX runtime of version 17.0.2-ea
240118 21:51:01:500 [INFO] (YoManager.java:61): Linking YoVariables
240118 21:51:01:581 [INFO] (YoManager.java:74): UI linked YoVariables created
ES2ResourceFactory: Prism - createStockShader: FillPgram_LinearGradient_PAD.frag
240118 21:51:01:582 [INFO] (YoRobotFX.java:61): Loading robot: valkyrie
ES2ResourceFactory: Prism - createStockShader: Mask_TextureSuper.frag
240118 21:51:01:599 [WARN] (Robot.java:157): Unsupported sensor: LidarSensorDefinition - head_hokuyo_sensor
ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB_AlphaTest.frag
Growing pool ES2 Vram Pool target to 81,599,112
Growing pool ES2 Vram Pool target to 98,376,328
Growing pool ES2 Vram Pool target to 115,153,544
Growing pool ES2 Vram Pool target to 131,930,760
Growing pool ES2 Vram Pool target to 146,610,824
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_32
240118 21:51:03:082 [INFO] (YoRobotFX.java:98): Loaded robot: valkyrie
240118 21:51:03:153 [INFO] (YoCompositeSearchManager.java:173): Searching default YoComposite.
240118 21:51:03:762 [INFO] (YoCompositeSearchManager.java:177): Initialized default YoComposite.
Growing pool ES2 Vram Pool target to 158,688,004
Growing pool ES2 Vram Pool target to 171,340,916
Growing pool ES2 Vram Pool target to 183,254,776
Growing pool ES2 Vram Pool target to 192,372,436
Growing pool ES2 Vram Pool target to 204,955,348
Growing pool ES2 Vram Pool target to 217,063,304
Growing pool ES2 Vram Pool target to 228,248,115
Growing pool ES2 Vram Pool target to 238,733,876
Growing pool ES2 Vram Pool target to 324,487,280
240118 21:51:05:074 [INFO] (Session.java:1300): Session already started.
ES2ResourceFactory: Prism - createStockShader: FillCircle_Color.frag
ES2ResourceFactory: Prism - createStockShader: DrawCircle_Color.frag
PPSRenderer: scenario.effect - createShader: Blend_SRC_IN
ES2ResourceFactory: Prism - createStockShader: Solid_Color.frag

My IHMC[...].ini file looks like this:

RTPSDomainID=11

I have tried forcing the subnet as well. Nothing changes.

The output to java -version is the following:

openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+9-Ubuntu-122.04)
OpenJDK 64-Bit Server VM (build 17.0.9+9-Ubuntu-122.04, mixed mode, sharing)

The config(s) I am setting are this:
image

@SylvainBertrand
Copy link
Member

Hey! Thanks for providing the console output! There are a couple exceptions in there that might be the reason it's not working. I'm gonna take a look at it and get back to you

@SylvainBertrand
Copy link
Member

Hey!
I made a new release that should address some exception that was popping up in the console output you provided: https://github.com/ihmcrobotics/valkyrie/releases/tag/0.14.0-240126
Also I updated the README which I think might help providing some context.
Lemme know how it goes!

@asalbright
Copy link
Author

Hey there and thanks for getting an updated release!

I pulled and tested it and initially it did not work. However it is working now after doing some re-install and apt updating/upgrading.

I think I might know what was the actual key for this particular error. I was (and still am) running this in a container. I believe what may have been the fix, was installing the correct java distro (sudo apt install openjdk-17-jdk) on the host. I was installing it within the container and not getting the results I wanted. After much frustration, I decided to apt update / upgrade and install java on the host side, just to see what would happen. It then worked.

@asalbright
Copy link
Author

asalbright commented Jan 26, 2024

So basically a note to anyone who wants to run this in a container, maybe don't, or upgrade your host as well...? Not sure.

@SylvainBertrand
Copy link
Member

Just to make sure I understand:

  1. You're running the sim inside a Docker container
  2. You ended doing apt update && apt upgrade on the host side
  3. Finally you installed java sudo apt install openjdk-17-jdk
  4. Reinstall the valkyrie sim inside the container
  5. It now works

Is that right?

@asalbright
Copy link
Author

asalbright commented Jan 26, 2024

That is correct.

To be absolutely specific. I'm running a VM (22.04) on top of Windows, as I was when I opened the issue. I did try and run the sim directly in the VM before submitting the issue as well (although I may have forgotten to install the proper version of Java at the time).

After updating the VM and installing the specified Java version (again on the host side), the sim now works both when run on the host and the in the container on the host. I've installed the sim both in the container and on the host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants