osrf / vrx

Virtual RobotX (VRX) resources.
Apache License 2.0
421 stars 189 forks source link

Record Video Button Causes Hanging #696

Closed magicbycalvin closed 1 year ago

magicbycalvin commented 1 year ago

Describe the bug When using the graphical button to start a video recording, the simulation hangs indefinitely and needs to be force stopped.

Expected behavior Video is properly recorded.

To Reproduce List the steps to reproduce the problem:

  1. Launch the Sydney Regatta simulation, i.e., ros2 launch vrx_gz competition.launch.py world:=sydney_regatta
  2. Click on the Record Video camera icon. Bug occurs regardless of whether mp4 or ogv is selected.
  3. Gazebo hangs.

System Configuration: Tell us about your system. Note that the VRX repo was pulled today and the installation instructions were followed using the most up to date version.

Screenshots

magicbycalvin@magicbycalvin:~/vrx_ws$ ros2 launch vrx_gz [competition.launch.py](http://competition.launch.py/) world:=sydney_regatta
[INFO] [launch]: All log files can be found below /home/magicbycalvin/.ros/log/2023-06-28-13-40-36-601671-magicbycalvin-549459
[INFO] [launch]: Default logging verbosity is set to INFO
['xacro', '/home/magicbycalvin/vrx_ws/install/share/wamv_gazebo/urdf/wamv_gazebo.urdf.xacro', 'namespace:=wamv', 'locked:=true', 'vrx_sensors_enabled:=true', 'thruster_config:=H']
[INFO] [ruby $(which gz) sim-1]: process started with pid [549463]
[INFO] [monitor_sim-2]: process started with pid [549465]
[INFO] [create-3]: process started with pid [549468]
[INFO] [parameter_bridge-4]: process started with pid [549471]
[create-3] [INFO] [1687977637.270213771] [ros_gz_sim]: Requesting list of world names.
[parameter_bridge-4] [INFO] [1687977637.282883997] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/clock (ignition.msgs.Clock) -> /clock (rosgraph_msgs/msg/Clock)] (Lazy 0)
[parameter_bridge-4] [INFO] [1687977637.283505780] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/task/info (ignition.msgs.Param) -> /vrx/task/info (ros_gz_interfaces/msg/ParamVec)] (Lazy 0)
[parameter_bridge-4] [INFO] [1687977637.284687952] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/debug/wind/speed (ignition.msgs.Float) -> /vrx/debug/wind/speed (std_msgs/msg/Float32)] (Lazy 0)
[parameter_bridge-4] [INFO] [1687977637.285060277] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/debug/wind/direction (ignition.msgs.Float) -> /vrx/debug/wind/direction (std_msgs/msg/Float32)] (Lazy 0)
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Wrn] [LocalCache.cc:105] Server directory does not exist [/home/magicbycalvin/.gz/fuel/[fuel.ignitionrobotics.org](http://fuel.ignitionrobotics.org/)]
[ruby $(which gz) sim-1] [Dbg] [gz.cc:163] Subscribing to [/gazebo/starting_world].
[ruby $(which gz) sim-1] [Dbg] [gz.cc:165] Waiting for a world to be set from the GUI...
[ruby $(which gz) sim-1] [Msg] Received world [sydney_regatta.sdf] from the GUI.
[ruby $(which gz) sim-1] [Dbg] [gz.cc:169] Unsubscribing from [/gazebo/starting_world].
[ruby $(which gz) sim-1] [Msg] Gazebo Sim Server v7.5.0
[ruby $(which gz) sim-1] [Msg] Loading SDF world file[/home/magicbycalvin/vrx_ws/install/share/vrx_gz/worlds/sydney_regatta.sdf].
[ruby $(which gz) sim-1] [Msg] Serving entity system service on [/entity/system/add]
[ruby $(which gz) sim-1] [Dbg] [Physics.cc:870] Loaded [gz::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/gz-physics-6/engine-plugins/libgz-physics-dartsim-plugin.so]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1]
[ruby $(which gz) sim-1] [Msg] Create service on [/world/sydney_regatta/create]
[ruby $(which gz) sim-1] [Msg] Remove service on [/world/sydney_regatta/remove]
[ruby $(which gz) sim-1] [Msg] Pose service on [/world/sydney_regatta/set_pose]
[ruby $(which gz) sim-1] [Msg] Pose service on [/world/sydney_regatta/set_pose_vector]
[ruby $(which gz) sim-1] [Msg] Light configuration service on [/world/sydney_regatta/light_config]
[ruby $(which gz) sim-1] [Msg] Physics service on [/world/sydney_regatta/set_physics]
[ruby $(which gz) sim-1] [Msg] SphericalCoordinates service on [/world/sydney_regatta/set_spherical_coordinates]
[ruby $(which gz) sim-1] [Msg] Enable collision service on [/world/sydney_regatta/enable_collision]
[ruby $(which gz) sim-1] [Msg] Disable collision service on [/world/sydney_regatta/disable_collision]
[ruby $(which gz) sim-1] [Msg] Material service on [/world/sydney_regatta/visual_config]
[ruby $(which gz) sim-1] [Msg] Material service on [/world/sydney_regatta/wheel_slip]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [Sensors.cc:501] Configuring Sensors system
[ruby $(which gz) sim-1] [Dbg] [Sensors.cc:420] SensorsPrivate::Run
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [Sensors.cc:397] SensorsPrivate::RenderThread started
[ruby $(which gz) sim-1] [Dbg] [Sensors.cc:243] Waiting for init
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Magnetometer] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ForceTorque] for entity [1]
[ruby $(which gz) sim-1] [Msg] Serving particle emitter information on [/world/sydney_regatta/particle_emitters]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ParticleEmitter2] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Contact] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::NavSat] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [USVWind.cc:160] wamv loaded
[ruby $(which gz) sim-1] [Msg] Wind direction unit vector = -0.5 -0.866025 0
[ruby $(which gz) sim-1] [Msg] Wind mean velocity = 0
[ruby $(which gz) sim-1] [Msg] var wind gain constants = 0
[ruby $(which gz) sim-1] [Msg] var wind time constants = 2
[ruby $(which gz) sim-1] [Msg] update rate  = 10
[ruby $(which gz) sim-1] [Msg] topic wind speed  = /vrx/debug/wind/speed
[ruby $(which gz) sim-1] [Msg] topic wind direction = /vrx/debug/wind/direction
[ruby $(which gz) sim-1] [Msg] Random seed value = 10
[ruby $(which gz) sim-1] [Msg] Var wind filter gain = 0
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::USVWind] for entity [1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PublisherPlugin] for entity [1]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::WaveVisual] for entity [17]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[19]
[ruby $(which gz) sim-1] Pose: 0 0 -0.3 0 0 0
[ruby $(which gz) sim-1] Geometry: Cylinder:0.325,0.1
[ruby $(which gz) sim-1] Mass: 20
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [18]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[24]
[ruby $(which gz) sim-1] Pose: 0 0 -0.3 0 0 0
[ruby $(which gz) sim-1] Geometry: Cylinder:0.325,0.1
[ruby $(which gz) sim-1] Mass: 20
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [23]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[29]
[ruby $(which gz) sim-1] Pose: 0 0 -0.3 0 0 0
[ruby $(which gz) sim-1] Geometry: Cylinder:0.325,0.1
[ruby $(which gz) sim-1] Mass: 20
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [28]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[34]
[ruby $(which gz) sim-1] Pose: 0 0 -0.3 0 0 0
[ruby $(which gz) sim-1] Geometry: Cylinder:0.325,0.1
[ruby $(which gz) sim-1] Mass: 20
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [33]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[39]
[ruby $(which gz) sim-1] Pose: 0 0 0 0 0 0
[ruby $(which gz) sim-1] Geometry: Sphere:0.25
[ruby $(which gz) sim-1] Mass: 3.5
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [38]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,
[ruby $(which gz) sim-1] [Msg] omegas:      1.1424, 1.25664, 1.3823,
[ruby $(which gz) sim-1] [Msg] periods:     [Msg] 5.5, [Msg] 5, [Msg] 4.54545, [Msg]
[ruby $(which gz) sim-1] [Msg] phases:      0, 0, 0,
[ruby $(which gz) sim-1] [Msg] steepnesses: 0, 0, 0,
[ruby $(which gz) sim-1] [Msg] directions:  [Msg] 0.921061 -0.389418; [Msg] 1 0; [Msg] 0.921061 0.389418; [Msg]
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:236] Found buoyancy element(s), looking at each element...
[ruby $(which gz) sim-1] [Dbg] [PolyhedraBuoyancyDrag.cc:248] Buoyancy object:
[ruby $(which gz) sim-1] Link: link[43]
[ruby $(which gz) sim-1] Pose: 0 0 0 0 0 0
[ruby $(which gz) sim-1] Geometry: Sphere:0.25
[ruby $(which gz) sim-1] Mass: 3.5
[ruby $(which gz) sim-1] Water height: 0
[ruby $(which gz) sim-1] Water velocity: 0
[ruby $(which gz) sim-1]
[ruby $(which gz) sim-1] [Dbg] [SystemManager.cc:74] Loaded system [vrx::PolyhedraBuoyancyDrag] for entity [42]
[ruby $(which gz) sim-1] [Msg] Input Parameters:
[ruby $(which gz) sim-1] [Msg] model:     PMS
[ruby $(which gz) sim-1] [Msg] number:     3
[ruby $(which gz) sim-1] [Msg] scale:      1.1
[ruby $(which gz) sim-1] [Msg] angle:      0.4
[ruby $(which gz) sim-1] [Msg] steepness:  0
[ruby $(which gz) sim-1] [Msg] amplitude:  0
[ruby $(which gz) sim-1] [Msg] period:     5
[ruby $(which gz) sim-1] [Msg] direction:  1 0
[ruby $(which gz) sim-1] [Msg] tau:  2
[ruby $(which gz) sim-1] [Msg] gain:  1
[ruby $(which gz) sim-1] [Msg] Derived Parameters:
[ruby $(which gz) sim-1] [Msg] amplitudes:  0.121167, 0.130759, 0.128568,
[ruby $(which gz) sim-1] [Msg] wavenumbers: 0.133171, 0.161136, 0.194975,

Additional notes My goal is to record video using the simulation time since it is only able to run at about 30% of real time.

j-herman commented 1 year ago

Confirmed this behavior on my system as well, running directly on my system, same setup, Nvidia RTX 3080. The video recorder is working correctly in the example world and freezes VRX.

magicbycalvin commented 1 year ago

I found out that you can avoid the video recording from hanging by setting the lockstep parameter inside of the VideoRecorder plugin within the SDF file to false. I am not sure whether this is a good long term solution. Lockstep seems like something that would be valuable for recording in sim time. However, I wonder if lockstep isn't set in some other file and is therefore working as expected; only causing a deadlock when it is called twice. I don't know what I could do to check this hypothesis nor do I know how else I could fix it though.

tejalbarnwal commented 1 year ago

Hey @magicbycalvin, I observed that if you load the video recorder plugin from the plugin menu, the video recording does work. Please have a look at the following recording:

https://github.com/osrf/vrx/assets/64950661/794cdc2f-5a53-40c5-9c9b-2134626b9c6b

Further, if I use the button on the top left; it doesn't. I think this particular issue is not related to VRX, but it is also a bug with gz-sim as it can be seen here

tejalbarnwal commented 1 year ago

Closing this because a workaround is available already and the underlying issue requires an upstream resolution.