clearpathrobotics / clearpath_simulator

BSD 3-Clause "New" or "Revised" License
8 stars 6 forks source link

Warehouse Simulation not showing robot model #18

Closed immanueln98 closed 8 months ago

immanueln98 commented 9 months ago

Good Day

I am having trouble displaying the robot model in the warehouse when running ros2 launch clearpath_gz simulation.launch.py. The robot model does not seem to be displayed and I get the following error in the terminal. MicrosoftTeams-image (3) Can I please have some assistance please? I have followed all instructions in setting up the remote computer for simulation.

hilary-luo commented 9 months ago

Can you please provide the full terminal output and the robot.yaml file that you are using?

kvpz commented 9 months ago

Hi @immanueln98 I also had the same issue when the jackal was equipped with the hokuyo_ust 2d lidar model. The reason why the jackal was not appearing for me within the simulation was because the data member IP_ADDRESS of the BaseLidar2d class was assigned the incorrect IP address 192.168.131.20. Try changing the ip address to 192.168.131.25. This is the file you need to edit: https://github.com/clearpathrobotics/clearpath_config/blob/main/clearpath_config/sensors/types/lidars_2d.py

See if that helps. And please share the robot.yaml file as @hilary-luo asked regardless if that solves your issue or not so we can get a better view of your setup

hilary-luo commented 9 months ago

@kvpz if you are needing to configure the IP address for your hokuyo the intended way is to pass it through using the robot.yaml file, not by changing the source files. It is one of the ros parameters that gets passed through and thus you can also configure multiple lidars with different ip addresses on the same robot. See the documentation here or the following excerpt from a robot.yaml file:

lidar2d:
  - model: hokuyo_ust
    urdf_enabled: true
    launch_enabled: true
    parent: base_link
    xyz: [0.0, 0.0, 0.0]
    rpy: [0.0, 0.0, 0.0]
    ros_parameters:
      urg_node:
        laser_frame_id: lidar2d_0_laser
        ip_address: 192.168.131.20
        ip_port: 10940
        angle_min: -3.141592653589793
        angle_max: 3.141592653589793

An example of this already being customized is the dual laser sample config. There you can see two different lidars with 2 different IP addresses. If this is not working for you then we can troubleshoot that particular feature.

immanueln98 commented 9 months ago

Thank you all for your responses. Below is the full terminal output when launching the simulation file:

[INFO] [launch]: All log files can be found below /home/imanuel/.ros/log/2023-09-22-11-47-21-179211-imanuel-ROG-Zephyrus-G14-GA401IV-GA401IV-4163 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [ruby $(which ign) gazebo-1]: process started with pid [4164] [INFO] [parameter_bridge-2]: process started with pid [4166] [INFO] [generate_description-3]: process started with pid [4169] [parameter_bridge-2] [INFO] [1695376041.694788877] [clock_bridge]: Creating GZ->ROS Bridge: [/clock (ignition.msgs.Clock) -> /clock (rosgraph_msgs/msg/Clock)] (Lazy 0) [generate_description-3] Traceback (most recent call last): [generate_description-3] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/lib/clearpath_generator_common/generate_description", line 46, in [generate_description-3] main() [generate_description-3] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/lib/clearpath_generator_common/generate_description", line 42, in main [generate_description-3] dg.generate() [generate_description-3] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/local/lib/python3.10/dist-packages/clearpath_generator_common/description/generator.py", line 74, in generate [generate_description-3] self.generate_sensors() [generate_description-3] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/local/lib/python3.10/dist-packages/clearpath_generator_common/description/generator.py", line 166, in generate_sensors [generate_description-3] sensors = self.clearpath_config.sensors.get_all_sensors() [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/clearpath_config.py", line 187, in sensors [generate_description-3] self._sensors.config[self.SENSORS]) [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/types/config.py", line 87, in config [generate_description-3] self.getter(prop)() [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 303, in camera [generate_description-3] value=self._camera.to_dict() [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 219, in to_dict [generate_description-3] d.append(accessory.to_dict()) [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 97, in to_dict [generate_description-3] d['ros_parameters'] = self.get_ros_parameters() [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 214, in get_ros_parameters [generate_description-3] return self.ros_parameters [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 198, in ros_parameters [generate_description-3] d[node_name] = flatten_dict(d[node_name]) [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 43, in flatten_dict [generate_description-3] return dict(_flatten_dict_gen(d, parent_key, dlim)) [generate_description-3] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 34, in _flatten_dict_gen [generate_description-3] for k, v in d.items(): [generate_description-3] AttributeError: 'str' object has no attribute 'items' [ERROR] [generate_description-3]: process has died [pid 4169, exit code 1, cmd '/home/imanuel/clearpath_ws/install/clearpath_generator_common/lib/clearpath_generator_common/generate_description -s /home/imanuel/clearpath/ --ros-args -r node:=generate_description']. [INFO] [generate_launch-4]: process started with pid [4187] [generate_launch-4] Traceback (most recent call last): [generate_launch-4] File "/opt/ros/humble/lib/clearpath_generator_gz/generate_launch", line 46, in [generate_launch-4] main() [generate_launch-4] File "/opt/ros/humble/lib/clearpath_generator_gz/generate_launch", line 42, in main [generate_launch-4] glg.generate() [generate_launch-4] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/local/lib/python3.10/dist-packages/clearpath_generator_common/launch/generator.py", line 79, in generate [generate_launch-4] self.generate_sensors() [generate_launch-4] File "/opt/ros/humble/local/lib/python3.10/dist-packages/clearpath_generator_gz/launch/generator.py", line 208, in generate_sensors [generate_launch-4] sensors = self.clearpath_config.sensors.get_all_sensors() [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/clearpath_config.py", line 187, in sensors [generate_launch-4] self._sensors.config[self.SENSORS]) [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/types/config.py", line 87, in config [generate_launch-4] self.getter(prop)() [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 303, in camera [generate_launch-4] value=self._camera.to_dict() [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 219, in to_dict [generate_launch-4] d.append(accessory.to_dict()) [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 97, in to_dict [generate_launch-4] d['ros_parameters'] = self.get_ros_parameters() [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 214, in get_ros_parameters [generate_launch-4] return self.ros_parameters [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 198, in ros_parameters [generate_launch-4] d[node_name] = flatten_dict(d[node_name]) [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 43, in flatten_dict [generate_launch-4] return dict(_flatten_dict_gen(d, parent_key, dlim)) [generate_launch-4] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 34, in _flatten_dict_gen [generate_launch-4] for k, v in d.items(): [generate_launch-4] AttributeError: 'str' object has no attribute 'items' [ERROR] [generate_launch-4]: process has died [pid 4187, exit code 1, cmd '/opt/ros/humble/lib/clearpath_generator_gz/generate_launch -s /home/imanuel/clearpath/ --ros-args -r node:=generate_launch']. [INFO] [generate_param-5]: process started with pid [4205] [generate_param-5] Generated config: /home/imanuel/clearpath/platform/config/control.yaml [generate_param-5] Generated config: /home/imanuel/clearpath/platform/config/imu_filter.yaml [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Warehouse to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Warehouse [generate_param-5] Traceback (most recent call last): [generate_param-5] File "/opt/ros/humble/lib/clearpath_generator_gz/generate_param", line 46, in [generate_param-5] main() [generate_param-5] File "/opt/ros/humble/lib/clearpath_generator_gz/generate_param", line 42, in main [generate_param-5] gpg.generate() [generate_param-5] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/local/lib/python3.10/dist-packages/clearpath_generator_common/param/generator.py", line 64, in generate [generate_param-5] self.generate_platform() [generate_param-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/clearpath_generator_gz/param/generator.py", line 49, in generate_platform [generate_param-5] platform_param.generate_parameters(use_sim_time=True) [generate_param-5] File "/home/imanuel/clearpath_ws/install/clearpath_generator_common/local/lib/python3.10/dist-packages/clearpath_generator_common/param/platform.py", line 149, in generate_parameters [generate_param-5] imus = self.clearpath_config.sensors.get_all_imu() [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/clearpath_config.py", line 187, in sensors [generate_param-5] self._sensors.config[self.SENSORS]) [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/types/config.py", line 87, in config [generate_param-5] self.getter(prop)() [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 303, in camera [generate_param-5] value=self._camera.to_dict() [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/sensors.py", line 219, in to_dict [generate_param-5] d.append(accessory.to_dict()) [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 97, in to_dict [generate_param-5] d['ros_parameters'] = self.get_ros_parameters() [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 214, in get_ros_parameters [generate_param-5] return self.ros_parameters [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/sensors/types/sensor.py", line 198, in ros_parameters [generate_param-5] d[node_name] = flatten_dict(d[node_name]) [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 43, in flatten_dict [generate_param-5] return dict(_flatten_dict_gen(d, parent_key, dlim)) [generate_param-5] File "/home/imanuel/clearpath_ws/build/clearpath_config/clearpath_config/common/utils/dictionary.py", line 34, in _flatten_dict_gen [generate_param-5] for k, v in d.items(): [generate_param-5] AttributeError: 'str' object has no attribute 'items' [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/pallet_box_mobile to https://fuel.gazebosim.org/1.0/MovAi/models/pallet_box_mobile [ERROR] [generate_param-5]: process has died [pid 4205, exit code 1, cmd '/opt/ros/humble/lib/clearpath_generator_gz/generate_param -s /home/imanuel/clearpath/ --ros-args -r __node:=generate_launch']. [ERROR] [launch]: Caught exception in launch (see debug for traceback): [Errno 2] No such file or directory: '/home/imanuel/clearpath/platform/launch/platform-service.launch.py' [INFO] [parameter_bridge-2]: sending signal 'SIGINT' to process[parameter_bridge-2] [INFO] [ruby $(which ign) gazebo-1]: sending signal 'SIGINT' to process[ruby $(which ign) gazebo-1]

[ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf_big to https://fuel.gazebosim.org/1.0/MovAi/models/shelf_big [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf_big to https://fuel.gazebosim.org/1.0/MovAi/models/shelf_big [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf_big to https://fuel.gazebosim.org/1.0/MovAi/models/shelf_big [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:112:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:105:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:98:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:qml/Main.qml:102:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/PluginMenu.qml:27:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf_big to https://fuel.gazebosim.org/1.0/MovAi/models/shelf_big [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf_big to https://fuel.gazebosim.org/1.0/MovAi/models/shelf_big [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:242:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/MovAi/models/shelf to https://fuel.gazebosim.org/1.0/MovAi/models/shelf [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Chair to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Chair [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Chair to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Chair [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/foldable_chair to https://fuel.gazebosim.org/1.0/OpenRobotics/models/foldable_chair [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/foldable_chair to https://fuel.gazebosim.org/1.0/OpenRobotics/models/foldable_chair [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Table to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Table [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Artifact Proximity Detector to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Artifact Proximity Detector [ruby $(which ign) gazebo-1] [Dbg] [gz.cc:161] Subscribing to [/gazebo/starting_world]. [ruby $(which ign) gazebo-1] [Dbg] [gz.cc:163] Waiting for a world to be set from the GUI... [ruby $(which ign) gazebo-1] [Msg] Received world [warehouse.sdf] from the GUI. [ruby $(which ign) gazebo-1] [Dbg] [gz.cc:167] Unsubscribing from [/gazebo/starting_world]. [ruby $(which ign) gazebo-1] [Msg] Ignition Gazebo Server v6.15.0 [ruby $(which ign) gazebo-1] [Msg] Loading SDF world file[/opt/ros/humble/share/clearpath_gz/worlds/warehouse.sdf]. [ruby $(which ign) gazebo-1] [Msg] Serving entity system service on [/entity/system/add] [ruby $(which ign) gazebo-1] [Dbg] [Physics.cc:804] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Physics] for entity [1] [ruby $(which ign) gazebo-1] [Msg] Create service on [/world/warehouse/create] [ruby $(which ign) gazebo-1] [Msg] Remove service on [/world/warehouse/remove] [ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/warehouse/set_pose] [ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/warehouse/set_pose_vector] [ruby $(which ign) gazebo-1] [Msg] Light configuration service on [/world/warehouse/light_config] [ruby $(which ign) gazebo-1] [Msg] Physics service on [/world/warehouse/set_physics] [ruby $(which ign) gazebo-1] [Msg] SphericalCoordinates service on [/world/warehouse/set_spherical_coordinates] [ruby $(which ign) gazebo-1] [Msg] Enable collision service on [/world/warehouse/enable_collision] [ruby $(which ign) gazebo-1] [Msg] Disable collision service on [/world/warehouse/disable_collision] [ruby $(which ign) gazebo-1] [Msg] Material service on [/world/warehouse/visual_config] [ruby $(which ign) gazebo-1] [Msg] Material service on [/world/warehouse/wheel_slip] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:490] Configuring Sensors system [ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:415] SensorsPrivate::Run [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Sensors] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:395] SensorsPrivate::RenderThread started [ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:246] Waiting for init [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Imu] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::NavSat] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::PosePublisher] for entity [12] [ruby $(which ign) gazebo-1] [Msg] PerformerDetector publishing messages on [/subt_performer_detector] [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:57:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/openrobotics/models/chair/2/files/meshes/Chair.obj to https://fuel.gazebosim.org/1.0/openrobotics/models/chair/2/files/meshes/Chair.obj [ruby $(which ign) gazebo-1] [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/openrobotics/models/chair/2/files/meshes/Chair.obj to https://fuel.gazebosim.org/1.0/openrobotics/models/chair/2/files/meshes/Chair.obj [ruby $(which ign) gazebo-1] [Wrn] [OBJLoader.cc:91] Both d and Tr parameters defined for "Chair". Use the value of d for dissolve (line 8 in .mtl.) [ruby $(which ign) gazebo-1] [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::PerformerDetector] for entity [141] [ruby $(which ign) gazebo-1] [Dbg] [Thermal.cc:112] Thermal plugin, heat signature: using a minimum temperature of 288.15 kelvin, and a max temperature of 305 kelvin. [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Thermal] for entity [139] [ruby $(which ign) gazebo-1] [Msg] Loaded level [3] [ruby $(which ign) gazebo-1] [Msg] Serving world controls on [/world/warehouse/control], [/world/warehouse/control/state] and [/world/warehouse/playback/control] [ruby $(which ign) gazebo-1] [Msg] Serving GUI information on [/world/warehouse/gui/info] [ruby $(which ign) gazebo-1] [Msg] World [warehouse] initialized with [default_physics] physics profile. [ruby $(which ign) gazebo-1] [Msg] Serving world SDF generation service on [/world/warehouse/generate_world_sdf] [ruby $(which ign) gazebo-1] [Msg] Serving world names on [/gazebo/worlds] [ruby $(which ign) gazebo-1] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [ruby $(which ign) gazebo-1] [Msg] Resource path get service on [/gazebo/resource_paths/get]. [ruby $(which ign) gazebo-1] [Msg] Resource path resolve service on [/gazebo/resource_paths/resolve]. [ruby $(which ign) gazebo-1] [Msg] Resource paths published on [/gazebo/resource_paths]. [ruby $(which ign) gazebo-1] [Msg] Server control service on [/server_control]. [ruby $(which ign) gazebo-1] [Msg] Found no publishers on /stats, adding root stats topic [ruby $(which ign) gazebo-1] [Msg] Found no publishers on /clock, adding root clock topic [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:496] Creating PostUpdate worker threads: 7 [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (0) [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (1) [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (2) [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (3) [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (4) [ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (5) [ruby $(which ign) gazebo-1] [Msg] Serving scene information on [/world/warehouse/scene/info] [ruby $(which ign) gazebo-1] [Msg] Serving graph information on [/world/warehouse/scene/graph] [ruby $(which ign) gazebo-1] [Msg] Serving full state on [/world/warehouse/state] [ruby $(which ign) gazebo-1] [Msg] Serving full state (async) on [/world/warehouse/state_async] [ruby $(which ign) gazebo-1] [Msg] Publishing scene information on [/world/warehouse/scene/info] [ruby $(which ign) gazebo-1] [Msg] Publishing entity deletions on [/world/warehouse/scene/deletion] [ruby $(which ign) gazebo-1] [Msg] Publishing state changes on [/world/warehouse/state] [ruby $(which ign) gazebo-1] [Msg] Publishing pose messages on [/world/warehouse/pose/info] [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models Skipping serialization / deserialization for models [Wrn] [Model.hh:69] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.[Wrn] [Model.hh:69] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models [Wrn] [Model.hh:69] with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] with //pose/@relative_to attribute.[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.Skipping serialization / deserialization for models with //pose/@relative_to attribute.with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [ruby $(which ign) gazebo-1] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] Skipping serialization / deserialization for models Skipping serialization / deserialization for models with //pose/@relative_to attribute. [ruby $(which ign) gazebo-1] [ruby $(which ign) gazebo-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [ [ruby $(which ign) gazebo-1] N3sdf3v125WorldE], which doesn't have operator<<. Component will not be serialized. [ruby $(which ign) gazebo-1] [Msg] Publishing dynamic pose messages on [/world/warehou[Msg] Ignition Gazebo GUI v6.15.0 [ruby $(which ign) gazebo-1] [Dbg] [Gui.cc:253] Waiting for subscribers to [/gazebo/starting_world]... [ruby $(which ign) gazebo-1] [Dbg] [Application.cc:92] Initializing application. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:555] Create main window [ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Gui.cc:333] GUI requesting list of world names. The server may be busy downloading resources. Please be patient. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [GuiRunner.cc:145] Requesting initial state from [/world/warehouse/state]... [ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:55] Received resource paths. [ruby $(which ign) gazebo-1] [GUI] [Msg] Loading config [/opt/ros/humble/share/clearpath_gz/config/gui.config] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [MinimalScene] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [3D View] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMinimalScene.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [EntityContextMenuPlugin] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Entity Context Menu] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityContextMenuPlugin.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [GzSceneManager] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Scene Manager] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzSceneManager.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [InteractiveViewControl] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera reference visual topic advertised on [/gui/camera/view_control/reference_visual] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera view control sensitivity advertised on [/gui/camera/view_control/sensitivity] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Interactive view control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libInteractiveViewControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [CameraTracking] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Camera tracking] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libCameraTracking.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [MarkerManager] [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Spawn/Spawn.qml:32:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldControl/WorldControl.qml:30:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/warehouse/stats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Marker Manager] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMarkerManager.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [SelectEntities] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Select entities] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSelectEntities.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Spawn] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Spawn] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSpawn.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [VisualizationCapabilities] [ruby $(which ign) gazebo-1] [GUI] [Msg] View as transparent service on [/gui/view/transparent] [ruby $(which ign) gazebo-1] [GUI] [Msg] View as wireframes service on [/gui/view/wireframes] [ruby $(which ign) gazebo-1] [GUI] [Msg] View center of mass service on [/gui/view/com] [ruby $(which ign) gazebo-1] [GUI] [Msg] View inertia service on [/gui/view/inertia] [ruby $(which ign) gazebo-1] [GUI] [Msg] View collisions service on [/gui/view/collisions] [ruby $(which ign) gazebo-1] [GUI] [Msg] View joints service on [/gui/view/joints] [ruby $(which ign) gazebo-1] [GUI] [Msg] View frames service on [/gui/view/frames] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Visualization capabilities] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libVisualizationCapabilities.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [WorldControl] [ruby $(which ign) gazebo-1] [GUI] [Msg] Using world control service [/world/warehouse/control] [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/warehouse/stats] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [WorldControl.cc:246] Using an event to share WorldControl msgs with the server [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [World control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [WorldStats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/warehouse/stats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [World stats] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldStats.so] [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:104:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:99:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:94:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:89:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have operator>>. Component will not be deserialized. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Shapes] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Shapes] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libShapes.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Lights] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Lights] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libLights.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [TransformControl] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [TransformControl.cc:222] Legacy mode is disabled; this plugin must be used with MinimalScene. [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Transform control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libTransformControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Screenshot] [ruby $(which ign) gazebo-1] [GUI] [Msg] Screenshot service on [/gui/screenshot] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Screenshot] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libScreenshot.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [CopyPaste] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Copy/Paste] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libCopyPaste.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Teleop] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Teleop] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Teleop] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libTeleop.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:296] Loading window config [ruby $(which ign) gazebo-1] [GUI] [Msg] Using server control service [/server_control] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:569] Applying config [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Thermal.cc:112] Thermal plugin, heat signature: using a minimum temperature of 288.15 kelvin, and a max temperature of 305 kelvin. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [GuiRunner.cc:375] Loaded system [ignition::gazebo::systems::Thermal] for entity [139] in GUI [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Thermal.cc:112] Thermal plugin, heat signature: using a minimum temperature of 288.15 kelvin, and a max temperature of 305 kelvin. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [GuiRunner.cc:375] Loaded system [ignition::gazebo::systems::Thermal] for entity [139] in GUI [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Thermal.cc:112] Thermal plugin, heat signature: using a minimum temperature of 288.15 kelvin, and a max temperature of 305 kelvin. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model [ERROR] [parameter_bridge-2]: process[parameter_bridge-2] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM' [ERROR] [ruby $(which ign) gazebo-1]: process[ruby $(which ign) gazebo-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM' [INFO] [parameter_bridge-2]: sending signal 'SIGTERM' to process[parameter_bridge-2] [INFO] [ruby $(which ign) gazebo-1]: sending signal 'SIGTERM' to process[ruby $(which ign) gazebo-1] [ERROR] [ruby $(which ign) gazebo-1]: process has died [pid 4164, exit code -15, cmd 'ruby $(which ign) gazebo warehouse.sdf -v 4 --gui-config /opt/ros/humble/share/clearpath_gz/config/gui.config --force-version 6']. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Gu [INFO] [parameter_bridge-2]: process has finished cleanly [pid 4166]

Below is my robot.yaml file

`serial_number: a200-0656
version: 0
system:
  hosts:
    self: cpr-a200-0656
    platform:
      cpr-a200-0000: 192.168.131.1
    onboard: {}
    remote: {}
  ros2:
    username: administrator
    namespace: a200_0656
    domain_id: 0
    rmw_implementation: rmw_fastrtps_cpp
    workspaces:
    - /home/imanuel/clearpath_ws/install/setup.bash
platform:
  controller: ps4
  decorations:
    front_bumper:
      enabled: true
      model: default
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      extension: 0.0
    rear_bumper:
      enabled: true
      model: default
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      extension: 0.0
    structure:
      enabled: true
      model: sensor_arch_300
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
    top_plate:
      enabled: true
      model: pacs
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
  extras:
    urdf: 
    - /home/imanuel/clearpath_ws/src/clearpath_common/clearpath_platform_description/urdf/a200/a200.urdf.xacro
    control: null
    ros_parameters:
      platform_velocity_controller:
        - platform_velocity_controller.wheel_radius": 0.1651
          platform_velocity_controller.linear.x.max_velocity": 1.0
          platform_velocity_controller.linear.x.min_velocity": -1.0
          platform_velocity_controller.linear.x.max_acceleration": 3.0
          platform_velocity_controller.linear.x.min_acceleration": -3.0
          platform_velocity_controller.angular.z.max_velocity": 2.0
          platform_velocity_controller.angular.z.min_velocity": -2.0
          platform_velocity_controller.angular.z.max_acceleration": 6.0
          platform_velocity_controller.angular.z.min_acceleration": -6.0
accessories:
  box:
    - name: user_bay_cover
      parent: top_plate_link
      xyz: [0.0, 0.0, 0.00735]
      rpy: [0.0, 0.0, 0.0]
      size: [0.4, 0.4, 0.002]
  cylinder: []
  link: []
  mesh: []
  sphere: []
mounts:
  bracket:
    - parent: top_plate_mount_d1
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      model: horizontal
  fath_pivot:
    - parent: sensor_arch_mount
      xyz: [0.0, 0.0, -0.021]
      rpy: [3.1415, 0.0, 0.0]
      angle: 0.0
  riser: []
sensors:
  camera:
    - model: intel_realsense
      urdf_enabled: true
      launch_enabled: true
      parent: fath_pivot_0_mount
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      ros_parameters:
        camera_name: camera_0
        device_type: d435
        serial_no: "0"
        enable_color: true
        rgb_camera.profile: 640,480,30
        enable_depth: true
        depth_module.profile: 640,480,30
        pointcloud.enable: true
  gps: []
  imu: []
  lidar3d:
    - model: velodyne_lidar
      urdf_enabled: true
      launch_enabled: true
      parent: sensor_arch_mount
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      ros_parameters:
        frame_id: lidar3d_0_laser
        device_ip: 192.168.131.25
        port: 2368
        model: VLP16
        fixed_frame: lidar3d_0_laser
        target_frame: lidar3d_0_laser
hilary-luo commented 9 months ago

If you look at the terminal output, you will see that the first error message you get is the following:

[generate_description-3] AttributeError: 'str' object has no attribute 'items'
[ERROR] [generate_description-3]: process has died [pid 4169, exit code 1, cmd '/home/imanuel/clearpath_ws/install/clearpath_generator_common/lib/clearpath_generator_common/generate_description -s /home/imanuel/clearpath/ --ros-args -r __node:=generate_description'].

This error is indicating that it was not able to fully generate the robot description files from the robot.yaml and therefore that there is a problem with the robot.yaml file. This is a lot easier to see if you view your model first and ensure that the robot.yaml is good before using it in a simulation.

There are a few different issues with your robot.yaml. Take a look at the following compared to the one you provided:

serial_number: a200-0656
version: 0
system:
  hosts:
    self: cpr-a200-0656
    platform:
      cpr-a200-0656: 192.168.131.1
    onboard: {}
    remote: {}
  ros2:
    username: administrator
    namespace: a200_0656
    domain_id: 0
    rmw_implementation: rmw_fastrtps_cpp
    workspaces:
    - /home/imanuel/clearpath_ws/install/setup.bash
platform:
  controller: ps4
  attachments:
    front_bumper:
      enabled: true
      model: default
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      extension: 0.0
    rear_bumper:
      enabled: true
      model: default
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      extension: 0.0
    structure:
      enabled: true
      model: sensor_arch_300
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
    top_plate:
      enabled: true
      model: pacs
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
  extras:
    urdf: /home/imanuel/clearpath_ws/src/clearpath_common/clearpath_platform_description/urdf/a200/a200.urdf.xacro
    ros_parameters:
      platform_velocity_controller:
        wheel_radius": 0.1651
        linear.x.max_velocity": 1.0
        linear.x.min_velocity": -1.0
        linear.x.max_acceleration": 3.0
        linear.x.min_acceleration": -3.0
        angular.z.max_velocity": 2.0
        angular.z.min_velocity": -2.0
        angular.z.max_acceleration": 6.0
        angular.z.min_acceleration": -6.0
links:
  box:
    - name: user_bay_cover
      parent: top_plate_link
      xyz: [0.0, 0.0, 0.00735]
      rpy: [0.0, 0.0, 0.0]
      size: [0.4, 0.4, 0.002]
  cylinder: []
  link: []
  mesh: []
  sphere: []
mounts:
  bracket:
    - parent: top_plate_mount_d1
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      model: horizontal
  fath_pivot:
    - parent: sensor_arch_mount
      xyz: [0.0, 0.0, -0.021]
      rpy: [3.1415, 0.0, 0.0]
      angle: 0.0
  riser: []
sensors:
  camera:
    - model: intel_realsense
      urdf_enabled: true
      launch_enabled: true
      parent: fath_pivot_0_mount
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      ros_parameters:
        camera:
          camera_name: camera_0
          device_type: d435
          serial_no: "0"
          enable_color: true
          rgb_camera.profile: 640,480,30
          enable_depth: true
          depth_module.profile: 640,480,30
          pointcloud.enable: true
  gps: []
  imu: []
  lidar3d:
    - model: velodyne_lidar
      urdf_enabled: true
      launch_enabled: true
      parent: sensor_arch_mount
      xyz: [0.0, 0.0, 0.0]
      rpy: [0.0, 0.0, 0.0]
      ros_parameters:
        velodyne_driver_node:
          frame_id: lidar3d_0_laser
          device_ip: 192.168.131.25
          port: 2368
          model: VLP16
        velodyne_convert_node:
          model: VLP16
          fixed_frame: lidar3d_0_laser
          target_frame: lidar3d_0_laser

I wasn't able to fully test this out because I don't have your extras urdf, so see how this works for you and what error messages you get. Feel free to respond with your results (and if you would like me to simulate it then also all additional required files). I would suggest copying the robot.yaml into /etc/clearpath/ on your computer and then using the live yaml functionality to verify and modify your model (soon you should be able to put it in any folder but for now you have to place it there to use this tool and make sure you have permissions set up to edit it). While using this, watch the terminal output for errors or crashing. If it has crashed then you will need to make the appropriate change in your robot.yaml and then relaunch the tool.

Do you mind me asking how you came up with your robot.yaml? are there any improvements that you would suggest to the documentation or sample codes that would have helped you build it correctly? A better method to modify this file and check it for errors is planned but unscheduled currently so the focus for this question is on documentation.

immanueln98 commented 9 months ago

Thank you for your response. I will make the appropriate changes. With regards to the added urdf, I was not sure which specific urdf should go there or if it is necessary for the bare bones a200 robot model. So i just pointed to the urdf provided within the clearpath_common package folder.

As for how I came up with this model, I used the provided sample robot.yaml sections provided in the documentation. The installation section of the documentation is good and understandable. However, the tutorial navigation section of the docs does not touch on how the demo's can be run on the physical robot, it just states that it will be done.

immanueln98 commented 9 months ago

Screenshot from 2023-09-25 13-01-59 I tried running the view_model launch script in order to use the live yaml functionality but I am getting the above error and I can't seem to figure out how to fix it. Not sure where or how to include the tag files name.

Also, when I moved my .yaml file to /etc/clearpath as you suggested, gazebo can't find the yaml file anymore when running the simulation script as shown below. Screenshot from 2023-09-25 13-04-51

hilary-luo commented 9 months ago

Thank you for your response. I will make the appropriate changes. With regards to the added urdf, I was not sure which specific urdf should go there or if it is necessary for the bare bones a200 robot model. So i just pointed to the urdf provided within the clearpath_common package folder.

The urdf section is only if you are wanting to add additional components on top of the base components / the components that have been added as part of the robot.yaml file - that is why it is under the 'extras' section. So if you are not adding anything additional then feel free to set the extras urdf back to null. You do not need the clearpath packages cloned into your workspace either if you are not making changes to anything.

As for how I came up with this model, I used the provided sample robot.yaml sections provided in the documentation. The installation section of the documentation is good and understandable. However, the tutorial navigation section of the docs does not touch on how the demo's can be run on the physical robot, it just states that it will be done.

It would be worth reviewing the documentation again then because some of the things you had in your robot.yaml were very outdated, from the early days of the development of this project. We don't intend to be making breaking changes to the robot.yaml in the long term but it has been necessary during the initial development prior to the official release packages. In regards to running navigation, the only difference should be to skip the simulation step and use_sim_time should be false. You can directly launch rviz and then slam or localization or nav2 (depending on the tutorial that you are following). Just make sure to have the robot.yaml at the location you indicate in the setup_path parameter.

I tried running the view_model launch script in order to use the live yaml functionality but I am getting the above error and I can't seem to figure out how to fix it. Not sure where or how to include the tag files name.

That error is about it not being able to find the extras urdf that you linked. I assume that you are doing this on your pc and that file is on the robot. Either way it is a moot point as we have now discussed that that xacro should not be included in the robot.yaml

Also, when I moved my .yaml file to /etc/clearpath as you suggested, gazebo can't find the yaml file anymore when running the simulation script as shown below.

We did just discover that there is an issue with that and the fix will be released shortly and the documentation will be updated to explain how to indicate where the robot.yaml has been placed. As I am guessing you figured out already, for now continue with placing this file in the /etc/clearpath folder on your computer until the fix is released.

immanueln98 commented 9 months ago

Thanks Hilary for your reponses and clarifications! I will await your fix. Any idea on when that will likely happen?

Also one quick question, when running these nav demos on the physical robot, all I need to do when launching them is adding the argument "use_sim_time:=false" right?

immanueln98 commented 9 months ago

I managed to get the Husky to show up in Gazebo, however it does not move when I input velocity commands. Screenshot from 2023-10-05 16-30-05

Rviz also has trouble displaying the robot model from the robot_description topic. Nothing seems to be published from it. Screenshot from 2023-10-05 16-32-42

hilary-luo commented 9 months ago

Thanks Hilary for your reponses and clarifications! I will await your fix. Any idea on when that will likely happen?

The fix should be out now, the documentation should be updated

Also one quick question, when running these nav demos on the physical robot, all I need to do when launching them is adding the argument "use_sim_time:=false" right?

You can to be certain, but the default should be false so you shouldn't need to explicitly state this.

I managed to get the Husky to show up in Gazebo, however it does not move when I input velocity commands.

It doesn't look like you have pressed the play button to start the simulation: image or added the namespacing for the cmdvel topic: image

immanueln98 commented 8 months ago

Hi Hilary

Thanks for your help! I got it moving in gazebo now!