Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues on connecting ros2_control to gazebo #474

Open
Elarak opened this issue Oct 26, 2024 · 9 comments
Open

Issues on connecting ros2_control to gazebo #474

Elarak opened this issue Oct 26, 2024 · 9 comments

Comments

@Elarak
Copy link

Elarak commented Oct 26, 2024

Hello, I'm using ROS2 Jazzy and I have issues on connected ros2 to gazebo.
I want to control the 18 joints of my robot with forward_position_controller.

I have 2 controllers initialized : ForwardCommandController and JointStateBroadcaster
ros2 control list_controllers
forward_position_controller forward_command_controller/ForwardCommandController active
joint_state_broadcaster joint_state_broadcaster/JointStateBroadcaster active

We can see that all my joints are available
ros2 control list_hardware_interfaces
command interfaces
joint_patte_1A_patte_1B/position [available] [claimed]
joint_patte_1B_patte_1C/position [available] [claimed]
joint_patte_1C_patte_1D/position [available] [claimed]
joint_patte_2A_patte_2B/position [available] [claimed]
joint_patte_2B_patte_2C/position [available] [claimed]
joint_patte_2C_patte_2D/position [available] [claimed]
joint_patte_3A_patte_3B/position [available] [claimed]
joint_patte_3B_patte_3C/position [available] [claimed]
joint_patte_3C_patte_3D/position [available] [claimed]
joint_patte_4A_patte_4B/position [available] [claimed]
joint_patte_4B_patte_4C/position [available] [claimed]
joint_patte_4C_patte_4D/position [available] [claimed]
joint_patte_5A_patte_5B/position [available] [claimed]
joint_patte_5B_patte_5C/position [available] [claimed]
joint_patte_5C_patte_5D/position [available] [claimed]
joint_patte_6A_patte_6B/position [available] [claimed]
joint_patte_6B_patte_6C/position [available] [claimed]
joint_patte_6C_patte_6D/position [available] [claimed]

I can read the initial position of my joints with JointStateBroadcaster

And my publisher is publishing every 1 second between 2 valid positions.
We can see a typical message :
ros2 topic echo forward_position_controller/commands
layout:
dim: []
data_offset: 0
data:

  • 0.0
  • 0.0
  • 1.0
  • 0.0
  • 0.0
  • 1.0
  • 0.0
  • 0.0
  • 1.0
  • 0.0
  • 0.0
  • 1.0
  • 0.0
  • 0.0
  • 1.0
  • 0.0
  • 0.0
  • 1.0

But on gazebo, the robot isn't moving. I don't have any changes on the joint_state topic. I don't have new messages on the terminal of my launch
Am I missing something ?

@christophfroehlich
Copy link
Contributor

Is there any error output in the console log of the controller? The only check is the size of the data array must match.

@Elarak
Copy link
Author

Elarak commented Oct 26, 2024

I don't have any error for the forward:
[INFO] [ros2-6]: process started with pid [4904]
[gazebo-1] [INFO] [1729979533.232722678] [controller_manager]: Loading controller : 'forward_position_controller' of type 'forward_command_controller/ForwardCommandController'
[gazebo-1] [INFO] [1729979533.232858422] [controller_manager]: Loading controller 'forward_position_controller'
[gazebo-1] [INFO] [1729979533.240767356] [controller_manager]: Controller 'forward_position_controller' node arguments: --ros-args --params-file ... --param use_sim_time:=true
[ros2-6] Successfully loaded controller forward_position_controller
[gazebo-1] [INFO] [1729979533.338594584] [controller_manager]: Configuring controller: 'forward_position_controller'
[gazebo-1] [INFO] [1729979533.342060064] [forward_position_controller]: configure successful
[gazebo-1] [INFO] [1729979536.602491338] [controller_manager]: Activating controllers: [ forward_position_controller ]
[gazebo-1] [INFO] [1729979538.750409345] [forward_position_controller]: activate successful
[ros2-6] Successfully loaded controller forward_position_controller into state active

And for the broadcaster I have the same successfully loaded controller and I have warnings :
[gazebo-1] [WARN] [1729980256.923015232] [gz_ros_control]: Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
[gazebo-1] [Dbg] [SDFFeatures.cc:332] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[gazebo-1] [Dbg] [SDFFeatures.cc:863] The geometry element of collision [joint] couldn't be created

But after the initialization, I don't have any new logs when I'm using the publisher

@christophfroehlich
Copy link
Contributor

[gazebo-1] [Dbg] [SDFFeatures.cc:332] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes. [gazebo-1] [Dbg] [SDFFeatures.cc:863] The geometry element of collision [joint] couldn't be created

can you verify that your gazebo model works at all? I've never seen these warnings.

@kdeshp-prof
Copy link

has there been any updates on this, I seem to get similär warning for my URDF and the controllers get active but the robot is not moving in simulation

@christophfroehlich christophfroehlich transferred this issue from ros-controls/ros2_control Jan 2, 2025
@christophfroehlich
Copy link
Contributor

@kdeshp-prof you are also using gz_ros2_control on Jazzy, with harmonic, and have a position command interface?
Can you confirm that cart_example_position.launch.py works?

@kdeshp-prof
Copy link

Yes I am also using gz_ros2_control on jazzy with harmonic, but I have a mobile manipulator so I am using differentialDrive Controller for base, JointTrajectoryController for the manipulator joints. The issue is all my controllers are getting active
image
as shown but, the manipulator does not move to init position as defined for each joint. simillarly the differential drive control is completely un-responsive to velocity commands.
Finally, Yes I confirm that the cart_example and differential drive examples both are working fine individually.

@saikishor
Copy link
Member

Hello @kdeshp-prof!

Can you provide us with a minimal example to reproduce the issue? That way it would be easier for us to debug.

Thank you

@kdeshp-prof
Copy link

kdeshp-prof commented Jan 7, 2025

Unfortunately!! I can not provide my robot as an example. But, I have found another public repository which is a simple differential drive robot and the same fails to run. the controllers become active but when sending command velocity nothing. the robot is not moving.
Please use the new_gazebo branch of the repository.

Please find below the logs of the commands run:
command - ros2 launch articubot_one launch_sim.launch.py
Logs
[INFO] [launch]: All log files can be found below /home/soprano/.ros/log/2025-01-07-15-35-22-373984-7c8ccf4b81ba-1282
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [1286]
[INFO] [gazebo-2]: process started with pid [1287]
[INFO] [create-3]: process started with pid [1289]
[INFO] [spawner-4]: process started with pid [1291]
[INFO] [spawner-5]: process started with pid [1292]
[INFO] [parameter_bridge-6]: process started with pid [1293]
[INFO] [image_bridge-7]: process started with pid [1294]
[create-3] [INFO] [1736260523.064334678] [ros_gz_sim]: Requesting list of world names.
[robot_state_publisher-1] [INFO] [1736260523.083187603] [robot_state_publisher]: Robot initialized
[spawner-4] [INFO] [1736260523.277495846] [spawner_diff_cont]: waiting for service /controller_manager/list_controllers to become available...
[spawner-5] [INFO] [1736260523.277581854] [spawner_joint_broad]: waiting for service /controller_manager/list_controllers to become available...
[gazebo-2] [Dbg] [gz.cc:166] Subscribing to [/gazebo/starting_world].
[gazebo-2] [Dbg] [gz.cc:168] Waiting for a world to be set from the GUI...
[gazebo-2] [Msg] Received world [/home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/worlds/empty.world] from the GUI.
[gazebo-2] [Dbg] [gz.cc:172] Unsubscribing from [/gazebo/starting_world].
[gazebo-2] [Msg] Gazebo Sim Server v8.7.0
[gazebo-2] [Msg] Loading SDF world file[/home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/worlds/empty.world].
[gazebo-2] [Msg] Serving entity system service on [/entity/system/add]
[gazebo-2] [Dbg] [Physics.cc:871] Loaded [gz::physics::dartsim::Plugin] from library [/opt/ros/jazzy/opt/gz_physics_vendor/lib/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.so]
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz::sim::systems::Physics] for entity [1]
[gazebo-2] [Msg] Create service on [/world/empty/create]
[gazebo-2] [Msg] Remove service on [/world/empty/remove]
[gazebo-2] [Msg] Pose service on [/world/empty/set_pose]
[gazebo-2] [Msg] Pose service on [/world/empty/set_pose_vector]
[gazebo-2] [Msg] Light configuration service on [/world/empty/light_config]
[gazebo-2] [Msg] Physics service on [/world/empty/set_physics]
[gazebo-2] [Msg] SphericalCoordinates service on [/world/empty/set_spherical_coordinates]
[gazebo-2] [Msg] Enable collision service on [/world/empty/enable_collision]
[gazebo-2] [Msg] Disable collision service on [/world/empty/disable_collision]
[gazebo-2] [Msg] Material service on [/world/empty/visual_config]
[gazebo-2] [Msg] Material service on [/world/empty/wheel_slip]
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz::sim::systems::UserCommands] for entity [1]
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1]
[gazebo-2] [Dbg] [Sensors.cc:697] Configuring Sensors system
[gazebo-2] [Dbg] [Sensors.cc:557] SensorsPrivate::Run
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz::sim::systems::Sensors] for entity [1]
[gazebo-2] [Dbg] [Sensors.cc:532] SensorsPrivate::RenderThread started
[gazebo-2] [Dbg] [Sensors.cc:337] Waiting for init
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz::sim::systems::Contact] for entity [1]
[gazebo-2] [Msg] Loaded level [default]
[gazebo-2] [Msg] Serving world controls on [/world/empty/control], [/world/empty/control/state] and [/world/empty/playback/control]
[gazebo-2] [Msg] Serving GUI information on [/world/empty/gui/info]
[gazebo-2] [Msg] World [empty] initialized with [1ms] physics profile.
[gazebo-2] [Msg] Gazebo Sim GUI v8.7.0
[gazebo-2] [Dbg] [Gui.cc:275] Waiting for subscribers to [/gazebo/starting_world]...
[gazebo-2] [Dbg] [Application.cc:96] Initializing application.
[gazebo-2] [Dbg] [Application.cc:170] Qt using OpenGL graphics interface
[gazebo-2] [GUI] [Dbg] [Application.cc:657] Create main window
[create-3] [INFO] [1736260523.634464216] [ros_gz_sim]: Waiting messages on topic [robot_description].
[create-3] [INFO] [1736260523.735785981] [ros_gz_sim]: Entity creation successfull.
[INFO] [create-3]: process has finished cleanly [pid 1289]
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Dbg] [PathManager.cc:68] Requesting resource paths through [/gazebo/resource_paths/get]
[gazebo-2] [GUI] [Dbg] [Gui.cc:355] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[gazebo-2] [GUI] [Dbg] [PathManager.cc:57] Received resource paths.
[gazebo-2] [GUI] [Dbg] [Gui.cc:413] Requesting GUI from [/world/empty/gui/info]...
[gazebo-2] [GUI] [Dbg] [GuiRunner.cc:149] Requesting initial state from [/world/empty/state]...
[gazebo-2] [GUI] [Msg] Loading config [/home/soprano/.gz/sim/8/gui.config]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [MinimalScene]
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:802] Creating gz-rendering interface for OpenGL
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:802] Creating gz-rendering interface for OpenGL
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:986] Creating render thread interface for OpenGL
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:802] Creating gz-rendering interface for OpenGL
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:986] Creating render thread interface for OpenGL
[gazebo-2] [GUI] [Msg] Added plugin [3D View] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [MinimalScene] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libMinimalScene.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [EntityContextMenuPlugin]
[gazebo-2] [GUI] [Msg] Currently tracking topic on [/gui/currently_tracked]
[gazebo-2] [GUI] [Msg] Added plugin [Entity Context Menu] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libEntityContextMenuPlugin.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [GzSceneManager]
[gazebo-2] [GUI] [Msg] Added plugin [Scene Manager] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [GzSceneManager] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libGzSceneManager.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [InteractiveViewControl]
[gazebo-2] [GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[gazebo-2] [GUI] [Msg] Camera reference visual topic advertised on [/gui/camera/view_control/reference_visual]
[gazebo-2] [GUI] [Msg] Camera view control sensitivity advertised on [/gui/camera/view_control/sensitivity]
[gazebo-2] [GUI] [Msg] Added plugin [Interactive view control] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libInteractiveViewControl.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [CameraTracking]
[gazebo-2] [GUI] [Msg] Added plugin [Camera tracking] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [CameraTracking] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libCameraTracking.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [MarkerManager]
[gazebo-2] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[gazebo-2] [GUI] [Msg] Added plugin [Marker Manager] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [MarkerManager] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libMarkerManager.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [SelectEntities]
[gazebo-2] [GUI] [Msg] Added plugin [Select entities] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [SelectEntities] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libSelectEntities.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [Spawn]
[gazebo-2] [GUI] [Msg] Added plugin [Spawn] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [Spawn] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libSpawn.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [VisualizationCapabilities]
[gazebo-2] [GUI] [Msg] View as transparent service on [/gui/view/transparent]
[gazebo-2] [GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[gazebo-2] [GUI] [Msg] View center of mass service on [/gui/view/com]
[gazebo-2] [GUI] [Msg] View inertia service on [/gui/view/inertia]
[gazebo-2] [GUI] [Msg] View collisions service on [/gui/view/collisions]
[gazebo-2] [GUI] [Msg] View joints service on [/gui/view/joints]
[gazebo-2] [GUI] [Msg] View frames service on [/gui/view/frames]
[gazebo-2] [GUI] [Msg] Added plugin [Visualization capabilities] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libVisualizationCapabilities.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [WorldControl]
[gazebo-2] [GUI] [Msg] Using world control service [/world/empty/control]
[gazebo-2] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[gazebo-2] [GUI] [Dbg] [WorldControl.cc:237] Using an event to share WorldControl msgs with the server
[gazebo-2] [GUI] [Msg] Added plugin [World control] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [WorldControl] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libWorldControl.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [WorldStats]
[parameter_bridge-6] [INFO] [1736260524.065000523] [ros_gz_bridge]: Creating GZ->ROS Bridge: [clock (gz.msgs.Clock) -> clock (rosgraph_msgs/msg/Clock)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.067309798] [ros_gz_bridge]: Creating GZ->ROS Bridge: [scan (gz.msgs.LaserScan) -> scan (sensor_msgs/msg/LaserScan)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.069493130] [ros_gz_bridge]: Creating GZ->ROS Bridge: [camera/camera_info (gz.msgs.CameraInfo) -> camera/camera_info (sensor_msgs/msg/CameraInfo)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.070110876] [ros_gz_bridge]: Creating GZ->ROS Bridge: [odom (gz.msgs.Odometry) -> odom (nav_msgs/msg/Odometry)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.074097033] [ros_gz_bridge]: Creating GZ->ROS Bridge: [tf (gz.msgs.Pose_V) -> tf (tf2_msgs/msg/TFMessage)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.076893169] [ros_gz_bridge]: Creating ROS->GZ Bridge: [diff_cont/cmd_vel_unstamped (geometry_msgs/msg/Twist) -> cmd_vel (gz.msgs.Twist)] (Lazy 0)
[parameter_bridge-6] [INFO] [1736260524.080124456] [ros_gz_bridge]: Creating GZ->ROS Bridge: [joint_states (gz.msgs.Model) -> joint_states (sensor_msgs/msg/JointState)] (Lazy 0)
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Wrn] [Application.cc:908] [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.
[gazebo-2] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[gazebo-2] [GUI] [Msg] Added plugin [World stats] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [WorldStats] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libWorldStats.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [Shapes]
[gazebo-2] [GUI] [Msg] Added plugin [Shapes] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [Shapes] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libShapes.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [Lights]
[gazebo-2] [GUI] [Msg] Added plugin [Lights] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [Lights] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libLights.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [TransformControl]
[gazebo-2] [GUI] [Msg] Added plugin [Transform control] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [TransformControl] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libTransformControl.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [Screenshot]
[gazebo-2] [GUI] [Msg] Screenshot service on [/gui/screenshot]
[gazebo-2] [GUI] [Msg] Added plugin [Screenshot] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [Screenshot] from path [/opt/ros/jazzy/opt/gz_gui_vendor/lib/gz-gui-8/plugins/libScreenshot.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [CopyPaste]
[gazebo-2] [GUI] [Msg] Added plugin [Copy/Paste] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [CopyPaste] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libCopyPaste.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [ComponentInspector]
[gazebo-2] [GUI] [Msg] Added plugin [Component inspector] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [ComponentInspector] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libComponentInspector.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:528] Loading plugin [EntityTree]
[gazebo-2] [GUI] [Msg] Currently tracking topic on [/gui/currently_tracked]
[gazebo-2] [GUI] [Msg] Added plugin [Entity tree] to main window
[gazebo-2] [GUI] [Msg] Loaded plugin [EntityTree] from path [/opt/ros/jazzy/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui/libEntityTree.so]
[gazebo-2] [GUI] [Dbg] [Application.cc:398] Loading window config
[gazebo-2] [GUI] [Msg] Using server control service [/server_control]
[gazebo-2] [GUI] [Dbg] [Application.cc:671] Applying config
[gazebo-2] libEGL warning: failed to open /dev/dri/renderD128: Permission denied
[gazebo-2]
[gazebo-2] libEGL warning: failed to open /dev/dri/renderD128: Permission denied
[gazebo-2]
[gazebo-2] libEGL warning: failed to open /dev/dri/card0: Permission denied
[gazebo-2]
[gazebo-2] [GUI] [Wrn] [Ogre2RenderTarget.cc:668] Anti-aliasing level of ' is not supported; valid FSAA levels are: [ 0 4 ]. Setting to 1
[gazebo-2] m[Msg] Serving world SDF generation service on [/world/empty/generate_world_sdf]
[gazebo-2] [Msg] Serving world names on [/gazebo/worlds]
[gazebo-2] [Msg] Resource path add service on [/gazebo/resource_paths/add].
[gazebo-2] [Msg] Resource path get service on [/gazebo/resource_paths/get].
[gazebo-2] [Msg] Resource path resolve service on [/gazebo/resource_paths/resolve].
[gazebo-2] [Msg] Resource paths published on [/gazebo/resource_paths].
[gazebo-2] [Msg] Server control service on [/server_control].
[gazebo-2] [Msg] Found no publishers on /stats, adding root stats topic
[gazebo-2] [Msg] Found no publishers on /clock, adding root clock topic
[gazebo-2] [Dbg] [SimulationRunner.cc:533] Creating PostUpdate worker threads: 4
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (0)
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (1)
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (2)
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="camera"]/gz_frame_id::L0]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="laser"]/gz_frame_id::L0]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Orange
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/White
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Black
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Blue
[gazebo-2] [Wrn] [SdfEntityCreator.cc:919] Gazebo does not support Ogre material scripts. See https://gazebosim.org/api/sim/8/migrationsdf.html#:~:text=Materials for details.
[gazebo-2] [Wrn] [SdfEntityCreator.cc:935] Using an internal gazebo.material to parse Gazebo/Blue
[gazebo-2] [INFO] [1736260525.718068685] [gz_ros_control]: Loading controller_manager
[gazebo-2] [INFO] [1736260525.750989739] [controller_manager]: Subscribing to '/robot_description' topic for robot description.
[gazebo-2] [WARN] [1736260525.751175168] [gz_ros_control]: Waiting RM to load and initialize hardware...
[gazebo-2] [INFO] [1736260525.761739493] [controller_manager]: Received robot description from topic.
[gazebo-2] [INFO] [1736260525.766958288] [gz_ros_control]: The position_proportional_gain has been set to: 0.1
[gazebo-2] [INFO] [1736260525.767026135] [gz_ros_control]: Loading joint: left_wheel_joint
[gazebo-2] [INFO] [1736260525.767029764] [gz_ros_control]: State:
[gazebo-2] [INFO] [1736260525.767032426] [gz_ros_control]: velocity
[gazebo-2] [INFO] [1736260525.767036960] [gz_ros_control]: position
[gazebo-2] [INFO] [1736260525.767040782] [gz_ros_control]: Command:
[gazebo-2] [INFO] [1736260525.767042577] [gz_ros_control]: velocity
[gazebo-2] [INFO] [1736260525.767050935] [gz_ros_control]: Loading joint: right_wheel_joint
[gazebo-2] [INFO] [1736260525.767052840] [gz_ros_control]: State:
[gazebo-2] [INFO] [1736260525.767054455] [gz_ros_control]: velocity
[gazebo-2] [INFO] [1736260525.767056357] [gz_ros_control]: position
[gazebo-2] [INFO] [1736260525.767058102] [gz_ros_control]: Command:
[gazebo-2] [INFO] [1736260525.767059603] [gz_ros_control]: velocity
[gazebo-2] [INFO] [1736260525.767095225] [gz_ros_control.resource_manager]: Initialize hardware 'GazeboSystem'
[gazebo-2] [INFO] [1736260525.767143014] [gz_ros_control.resource_manager]: Successful initialization of hardware 'GazeboSystem'
[gazebo-2] [WARN] [1736260525.767151668] [gz_ros_control.resource_manager]: Importing state interfaces for the hardware 'GazeboSystem' returned no state interfaces.
[gazebo-2] [INFO] [1736260525.767177288] [resource_manager]: 'configure' hardware 'GazeboSystem'
[gazebo-2] [INFO] [1736260525.767179251] [gz_ros_control]: System Successfully configured!
[gazebo-2] [INFO] [1736260525.767182820] [resource_manager]: Successful 'configure' of hardware 'GazeboSystem'
[gazebo-2] [INFO] [1736260525.767185931] [resource_manager]: 'activate' hardware 'GazeboSystem'
[gazebo-2] [INFO] [1736260525.767187384] [resource_manager]: Successful 'activate' of hardware 'GazeboSystem'
[gazebo-2] [INFO] [1736260525.767200138] [controller_manager]: Resource Manager has been successfully initialized. Starting Controller Manager services...
[gazebo-2] [INFO] [1736260525.782898091] [controller_manager]: Loading controller : 'joint_broad' of type 'joint_state_broadcaster/JointStateBroadcaster'
[gazebo-2] [INFO] [1736260525.782937838] [controller_manager]: Loading controller 'joint_broad'
[gazebo-2] [INFO] [1736260525.796603821] [controller_manager]: Controller 'joint_broad' node arguments: --ros-args --params-file /home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/config/my_controllers.yaml --params-file /home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/config/gaz_ros2_ctl_use_sim.yaml --param use_sim_time:=true
[gazebo-2] [INFO] [1736260525.808311582] [controller_manager]: Loading controller : 'diff_cont' of type 'diff_drive_controller/DiffDriveController'
[gazebo-2] [INFO] [1736260525.808343563] [controller_manager]: Loading controller 'diff_cont'
[spawner-5] [INFO] [1736260525.809309724] [spawner_joint_broad]: Loaded joint_broad
[gazebo-2] [INFO] [1736260525.813172474] [controller_manager]: Controller 'diff_cont' node arguments: --ros-args --params-file /home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/config/my_controllers.yaml --params-file /home/soprano/felice_robot_ws/install/articubot_one/share/articubot_one/config/gaz_ros2_ctl_use_sim.yaml --param use_sim_time:=true
[gazebo-2] [INFO] [1736260525.827532135] [controller_manager]: Configuring controller: 'joint_broad'
[gazebo-2] [INFO] [1736260525.827664871] [joint_broad]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-4] [INFO] [1736260525.828174668] [spawner_diff_cont]: Loaded diff_cont
[gazebo-2] [INFO] [1736260525.838828817] [controller_manager]: Configuring controller: 'diff_cont'
[gazebo-2] [INFO] [1736260525.843675074] [controller_manager]: Activating controllers: [ joint_broad ]
[gazebo-2] [WARN] [1736260527.791547982] [gz_ros_control]: Desired controller update period (0.0333333 s) is slower than the gazebo simulation period (0.001 s).
[gazebo-2] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v145WorldE], which doesn't have operator<<. Component will not be serialized.
[gazebo-2] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v145WorldE], which doesn't have operator>>. Component will not be deserialized.
[gazebo-2] libEGL warning: failed to open /dev/dri/renderD128: Permission denied
[gazebo-2]
[gazebo-2] libEGL warning: failed to open /dev/dri/renderD128: Permission denied
[gazebo-2]
[gazebo-2] libEGL warning: failed to open /dev/dri/card0: Permission denied
[gazebo-2]
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:802] Creating gz-rendering interface for OpenGL
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:986] Creating render thread interface for OpenGL
[gazebo-2] [GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:749] Create scene [scene]
[gazebo-2] [GUI] [Dbg] [MinimalScene.cc:1037] Creating texture node render interface for OpenGL
[gazebo-2] [GUI] [Dbg] [TransformControl.cc:453] TransformControl plugin is using camera [scene::Camera(65527)]
[gazebo-2] [GUI] [Dbg] [Spawn.cc:308] Spawn plugin is using camera [scene::Camera(65527)]
[gazebo-2] [GUI] [Dbg] [SelectEntities.cc:452] SelectEntities plugin is using camera [scene::Camera(65527)]
[gazebo-2] [GUI] [Dbg] [MarkerManager.cc:169] Advertise /marker/list service.
[gazebo-2] [GUI] [Dbg] [MarkerManager.cc:179] Advertise /marker/list.
[gazebo-2] [GUI] [Dbg] [MarkerManager.cc:189] Advertise /marker_array.
[gazebo-2] [GUI] [Dbg] [CameraTracking.cc:205] CameraTrackingPrivate plugin is moving camera [scene::Camera(65527)]
[gazebo-2] [GUI] [Msg] Move to service on [/gui/move_to]
[gazebo-2] [GUI] [Msg] Follow service on [/gui/follow] (deprecated)
[gazebo-2] [GUI] [Msg] Tracking topic on [/gui/track]
[gazebo-2] [GUI] [Msg] Tracking status topic on [/gui/currently_tracked]
[gazebo-2] [GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[gazebo-2] [GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[gazebo-2] [GUI] [Msg] Follow offset service on [/gui/follow/offset] (deprecated)
[gazebo-2] [GUI] [Dbg] [InteractiveViewControl.cc:176] InteractiveViewControl plugin is moving camera [scene::Camera(65527)]
[gazebo-2] [GUI] [Dbg] [EntityContextMenuPlugin.cc:79] Entity context menu plugin is using camera [scene::Camera(65527)]
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="camera"]/gz_frame_id::L238]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="laser"]/gz_frame_id::L259]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="camera"]/gz_frame_id::L238]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] Warning [Utils.cc:132] [/sdf/model[@name="robot"]/link[@name="base_link"]/sensor[@name="laser"]/gz_frame_id::L259]: XML Element[gz_frame_id], child of element[sensor], not defined in SDF. Copying[gz_frame_id] as children of [sensor].
[gazebo-2] [Wrn] [Ogre2Camera.cc:421] Ogre2Camera::SetVisibilityMask: Mask bits c0000000 are set but will be ignored as they conflict with the reserved bits used internally by the ogre2 backend.
[gazebo-2] [INFO] [1736260528.262409529] [controller_manager]: Activating controllers: [ diff_cont ]
[spawner-5] [INFO] [1736260528.263069730] [spawner_joint_broad]: Configured and activated joint_broad
[spawner-4] [INFO] [1736260528.336467232] [spawner_diff_cont]: Configured and activated diff_cont
[INFO] [spawner-5]: process has finished cleanly [pid 1292]
[INFO] [spawner-4]: process has finished cleanly [pid 1291]
[gazebo-2] [Dbg] [SystemManager.cc:80] Loaded system [gz_ros2_control::GazeboSimROS2ControlPlugin] for entity [10]
[gazebo-2] [Dbg] [UserCommands.cc:1318] Created entity [10] named [my_bot]
[gazebo-2] [Dbg] [Sensors.cc:953] Initialization needed
[gazebo-2] [Dbg] [Sensors.cc:349] Initializing render context
[gazebo-2] [Msg] Loading plugin [gz-rendering-ogre2]
[gazebo-2] [Msg] Serving scene information on [/world/empty/scene/info]
[gazebo-2] [Msg] Serving graph information on [/world/empty/scene/graph]
[gazebo-2] [Msg] Serving full state on [/world/empty/state]
[gazebo-2] [Msg] Serving full state (async) on [/world/empty/state_async]
[gazebo-2] [Msg] Publishing scene information on [/world/empty/scene/info]
[gazebo-2] [Msg] Publishing entity deletions on [/world/empty/scene/deletion]
[gazebo-2] [Msg] Publishing state changes on [/world/empty/state]
[gazebo-2] [Msg] Publishing pose messages on [/world/empty/pose/info]
[gazebo-2] [Msg] Publishing dynamic pose messages on [/world/empty/dynamic_pose/info]
[gazebo-2] [Dbg] [SimulationRunner.cc:560] Exiting postupdate worker thread (2)
[gazebo-2] Exiting postupdate worker thread ([Dbg] [SimulationRunner.cc:560] 0)
[gazebo-2] Exiting postupdate worker thread (1)
[gazebo-2] [Dbg] [SimulationRunner.cc:533] Creating PostUpdate worker threads: 5
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (0)
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (1)
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (2)
[gazebo-2] [Dbg] [SimulationRunner.cc:544] Creating postupdate worker thread (3)
[gazebo-2] [Dbg] [EntityComponentManager.cc:1656] Updated state thread iterators: 16 threads processing around 3 entities each.
[gazebo-2] [Dbg] [RenderUtil.cc:2643] Create scene [scene]
[gazebo-2] [Dbg] [Sensors.cc:391] Rendering Thread initialized
[gazebo-2] [Dbg] [Sensors.cc:953] Initialization needed
[gazebo-2] [Dbg] [CameraSensor.cc:398] Camera images for [my_bot::base_link::camera] advertised on [camera/image_raw]
[gazebo-2] [Dbg] [CameraSensor.cc:688] Camera info for [my_bot::base_link::camera] advertised on [camera/camera_info]
[gazebo-2] [Dbg] [Lidar.cc:139] Laser scans for [my_bot::base_link::laser] advertised on [scan]
[gazebo-2] [Dbg] [GpuLidarSensor.cc:164] Lidar points for [my_bot::base_link::laser] advertised on [scan/points]
[gazebo-2] [Dbg] [CameraSensor.cc:497] Enabling camera sensor: 'my_bot::base_link::camera' data generation.
[parameter_bridge-6] [INFO] [1736260578.115028567] [ros_gz_bridge]: Passing message from ROS geometry_msgs/msg/Twist to Gazebo gz.msgs.Twist (showing msg only once per type)
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

---------------########################----------------------------------

command: ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/diff_cont/cmd_vel_unstamped

This node takes keypresses from the keyboard and publishes them
as Twist/TwistStamped messages. It works best with a US keyboard layout.

Moving around:
u i o
j k l
m , .

For Holonomic mode (strafing), hold down the shift key:

U I O
J K L
M < >

t : up (+z)
b : down (-z)

anything else : stop

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%

CTRL-C to quit

currently: speed 0.5 turn 1.0

@kdeshp-prof
Copy link

Please use this forked repository which includes teleop twist keyboard inside launch_sim.launch.py

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

No branches or pull requests

4 participants