Closed immanueln98 closed 8 months ago
Can you please provide the full terminal output and the robot.yaml file that you are using?
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
@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.
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
[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(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(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
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.
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.
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.
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.
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?
I managed to get the Husky to show up in Gazebo, however it does not move when I input velocity commands.
Rviz also has trouble displaying the robot model from the robot_description topic. Nothing seems to be published from it.
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:
or added the namespacing for the cmdvel topic:
Hi Hilary
Thanks for your help! I got it moving in gazebo now!
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.
Can I please have some assistance please? I have followed all instructions in setting up the remote computer for simulation.