Found a bug or have an idea? Post it here 🐞

Everything comes up fine now using my original user and start up method. I currently can’t get perception to start but I’m sure I’ll sort that. No idea why I got the error last time. Running now but I got a lot more output when I run
ros2 topic echo /odom --once

==========

header:
stamp:
sec: 389
nanosec: 878000000
frame_id: odom
child_frame_id: base_footprint
pose:
pose:
position:
x: -4.608947088956393e-19
y: 8.74543859996603e-34
z: 0.0
orientation:
x: 0.0
y: 0.0
z: -3.6528796817656604e-17
w: 1.0
covariance:

  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
    twist:
    twist:
    linear:
    x: -2.8949735111334977e-21
    y: 0.0
    z: 0.0
    angular:
    x: 0.0
    y: 0.0
    z: -1.6358018722078097e-20
    covariance:
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0
  • 0.0

root@localhost:~#Sorry I missed the comments about 30 zeroes

When I run ros2 topic info /tf --verbose I am assuming the … shown in your output box is intended to indicate all the extra lines I get

1 Like

It might have just been a false negative catpcha trigger. Also we’re using reCAPTCHA v3 which returns a score for each request without user friction.

Try logging in via your original account, it should work.

Although I am logging in easily now I have been unable to run the launch file with the cautious yaml. I even edited the default value in the launch file but still without success. I have spent 30 minutes on this - any suggestions would be appreciated.

The command fails because the config files were not packaged as part of the build process, so they are not present in the package share directory. You need to update setup.py to include those files as well in the build package.

You can check this step for reference.

Thanks for this. What a rookie error. I read the chapter in advance and went back to where I thought the first action was – missing out the crucial setup.

1 Like

I have now managed to overwrite my setup.py (without having taken a backup) and can see no easy way to recreate it. Do I have to go back to the start and retrace every step in its creation / amendment, or is there any easier way?

I’ve added what the setup.py file would look like at that step in the lesson. You can use that directly.

Let me know in case of any issues.

I have proceeded to the full launch file but get the error:

root@localhost:~/ros2_ws# ros2 launch museum_guide bringup.launch.py
[INFO] [launch]: All log files can be found below /tmp/.ros/log/2026-08-22-08-34-25-812094-localhost-4957
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): β€˜NoneType’ object has no attribute β€˜get_launch_arguments_with_include_launch_description_actions’

I can not fine any mention of the missing attribute in any of the launch files. I assume I must have missed a failure in one of the edits or moved something to the wrong directory but can not trace the error.

If I ignore the launch file and try to start from the command line I then get the following error:

root@localhost:~/ros2_ws# ros2 launch ros_gz_sim gz_sim.launch.py world:=museum_world.sdf
[INFO] [launch]: All log files can be found below /tmp/.ros/log/2026-08-23-11-35-16-680455-localhost-1832
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [gazebo-1]: process started with pid [1880]
[gazebo-1] qt.qpa.xcb: could not connect to display
[gazebo-1] qt.qpa.plugin: Could not load the Qt platform plugin β€œxcb” in β€œβ€ even though it was found.
[gazebo-1] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[gazebo-1]
[gazebo-1] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
[gazebo-1]
[gazebo-1] Stack trace (most recent call last):
[gazebo-1] #31 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738bb1e2b, in
[gazebo-1] #30 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d54b49, in rb_vm_exec
[gazebo-1] #29 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d5162b, in
[gazebo-1] #28 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d4d13e, in
[gazebo-1] #27 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d4a92f, in
[gazebo-1] #26 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738c8b049, in
[gazebo-1] #25 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738bb41d6, in rb_protect
[gazebo-1] #24 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d592d9, in rb_yield
[gazebo-1] #23 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d54b49, in rb_vm_exec
[gazebo-1] #22 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d5162b, in
[gazebo-1] #21 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d4d13e, in
[gazebo-1] #20 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d4a92f, in
[gazebo-1] #19 Object β€œ/usr/lib/x86_64-linux-gnu/ruby/3.2.0/fiddle.so”, at 0x7f17373c7b13, in
[gazebo-1] #18 Object β€œ/lib/x86_64-linux-gnu/libruby-3.2.so.3.2”, at 0x7f1738d1337b, in rb_nogvl
[gazebo-1] #17 Object β€œ/usr/lib/x86_64-linux-gnu/ruby/3.2.0/fiddle.so”, at 0x7f17373c743b, in
[gazebo-1] #16 Object β€œ/lib/x86_64-linux-gnu/libffi.so.8”, at 0x7f17372cb0bd, in ffi_call
[gazebo-1] #15 Object β€œ/lib/x86_64-linux-gnu/libffi.so.8”, at 0x7f17372c83ee, in
[gazebo-1] #14 Object β€œ/lib/x86_64-linux-gnu/libffi.so.8”, at 0x7f17372cbb15, in
[gazebo-1] #13 Object β€œ/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.11.0”, at 0x7f173722fbe2, in runGui
[gazebo-1] #12 Object β€œ/lib/x86_64-linux-gnu/libgz-sim8-gui.so.8”, at 0x7f1732e6bf8c, in gz::sim::v8::gui::runGui(int&, char**, char const*, char const*, int, char const*, char const*)
[gazebo-1] #11 Object β€œ/lib/x86_64-linux-gnu/libgz-sim8-gui.so.8”, at 0x7f1732e69bb0, in gz::sim::v8::gui::createGui(int&, char**, char const*, char const*, bool, char const*, int, char const*, char const*)
[gazebo-1] #10 Object β€œ/lib/x86_64-linux-gnu/libgz-sim8-gui.so.8”, at 0x7f1732e66f1c, in gz::sim::v8::gui::launchQuickStart(int&, char**, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
[gazebo-1] #9 Object β€œ/lib/x86_64-linux-gnu/libgz-gui8.so.8”, at 0x7f17338c3cec, in gz::gui::Application::Application(int&, char**, gz::gui::WindowType, char const*)
[gazebo-1] #8 Object β€œ/lib/x86_64-linux-gnu/libQt5Widgets.so.5”, at 0x7f173185b5b4, in QApplicationPrivate::init()
[gazebo-1] #7 Object β€œ/lib/x86_64-linux-gnu/libQt5Gui.so.5”, at 0x7f1730732b9e, in QGuiApplicationPrivate::init()
[gazebo-1] #6 Object β€œ/lib/x86_64-linux-gnu/libQt5Core.so.5”, at 0x7f1732083ff4, in QCoreApplicationPrivate::init()
[gazebo-1] #5 Object β€œ/lib/x86_64-linux-gnu/libQt5Gui.so.5”, at 0x7f173072fc1f, in QGuiApplicationPrivate::createEventDispatcher()
[gazebo-1] #4 Object β€œ/lib/x86_64-linux-gnu/libQt5Gui.so.5”, at 0x7f173072f6dc, in QGuiApplicationPrivate::createPlatformIntegration()
[gazebo-1] #3 Object β€œ/lib/x86_64-linux-gnu/libQt5Core.so.5”, at 0x7f1731e36103, in QMessageLogger::fatal(char const*, …) const
[gazebo-1] #2 Object β€œ/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f173874e8fe, in abort
[gazebo-1] #1 Object β€œ/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f173876b27d, in gsignal
[gazebo-1] #0 Object β€œ/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f17387c4b2c, in pthread_kill
[gazebo-1] Aborted (Signal sent by tkill() 1898 0)
[gazebo-1] Escalating to SIGKILL on [Gazebo Sim Server]
[INFO] [gazebo-1]: process has finished cleanly [pid 1880]
root@localhost:~/ros2_ws#

You’re launch file setup looks fine. Try launching using the command ros2 launch museum_guide bringup.launch.py.

When running Gazebo via the ros_gz_sim package, you’ll also have to supply additional argument -s to start Gazebo in headless mode. The error you’re seeing is due to the Gazebo process trying to open the gui.

Thanks a lot for all your help. Everything is fine now until I try to upload the icon and image. I get

Failed to generate upload URL

Thanks for raising it. I’ve fixed the issue. You should be able to upload media for the project now.