RVIZ fails with ROS 2 demo tutorial

The short story: I have reloaded a ROSbot 2 Pro with the Foxy reload and tried to run the basic demo and Rviz. I am not seeing the map or laser scan in Rviz.

RVIZ says: Error subscribing, empty topic name under the Status: Error message.

The long story: My ROSbot 2 Pro has been collecting dust for 2 years so I thought I would try out the latest software and see if I can make more progress. I did a fresh load of Foxy per the System Reinstallation in the manual. (It is not clear how to chose a Distro so I just chose Foxy …)

It all went fairly smooth, I flashed the firmware and the:ros2 launch rosbot_description rosbot_pro.launch.py starts.
image
I am running remote desktop from a Windows 10 PC. The robot starts, the Lidar starts spinning and the terminal I start it from looks pretty normal (A few messages come up randomly about dropping message : frame ‘Laser’ but not continious.

‘rviz2’ starts a Rviz window and the goes from "Global Status - No Tf data - to Global status OK when the lauch has completed, so that suggests something is connected.

When I try and add a Map or laser scan, Rviz is just telling me:
image

If I reset Rviz the message goes to this - but still no Map or Laser scan to be seen in Rviz. (Just the grid, or Axis if I add them)
image

The window I start Rviz from does say - after the startup messages:
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 14691, resource id: 16814743, major code: 40 (TranslateCoords), minor code: 0

I hope you can help me at least get to the first demo!

Thanks in advance.

Hi Barry_Hendy,

could you run ros2 topic echo /imu? This way we will check if you can receive messages from CORE2 inside your Rosbot. If there will be no data this means there is an issue on connection between CORE2 and rosserial.

The issue you encountered might be related to the lack of transform between /odom and /base_link which are published by CORE2. In case you won’t be able to receive data from any topic published by CORE2 (I chose /imu as an example) please try reflashing firmware.

Best regards,
Krzysztof Wojciechowski.

Hi.

I tried ros2 topic echo /imu? and it gave:

husarion@ubuntu:~$ ros2 topic echo /imu?
1632821738.731773 [0] ros2: using network interface wlx7cdd90dcb3c5 (udp/192.168.68.118) selected arbitrarily from: wlx7cdd90dcb3c5, docker0
topic name ‘/imu?’ is invalid: topic name is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.10/src/rcl/expand_topic_name.c:73

I have reflashed with:
wget -O /home/husarion/firmware.bin https://files.husarion.com/images/rosbot-2.0-fw-v0.14.3.bin

then

bash /home/husarion/flash_firmware.sh

and that looked to work OK. but the echo test with the imu is the same - and nothing in Rviz.

Could the problem be with rosbot_ekf? The Manual says we have to install it but the tutorial says it is already installed.

If I try the command from the manual I get:

and still the same behaviour - but it does appear to be throwing a lot less messages in the terminal I start the demo from … just an occasional:
[rosserial_node.py-3] [INFO] [1632822424.671879423] [serial_node]: wrong checksum for topic id and msg

I am out of ideas again!
Thanks.

Having trouble with a follow up post … but:
I was wondering … In the Manual under Required ROS Packages - rosbot_ekf

it says: For PRO version add paramater: image

What does it mean by “add paramater”? Add to what?

Hi,

sorry for not making it entirely clear. The “?” was meant to make the sentance a question. The command I asked you to run was simply

ros2 topic echo /imu

Best regards,
Krzysztof Wojciechowski.

My mistake … your ? was outside the highlight … Anyway - I am getting:

husarion@ubuntu:~$ ros2 topic echo /imu
1632828451.705020 [0] ros2: using network interface wlx7cdd90dcb3c5 (udp/192.168.68.118) selected arbitrarily from: wlx7cdd90dcb3c5, docker0
WARNING: topic [/imu] does not appear to be published yet
Could not determine the type for the passed topic

Any other ideas Krzysztof?

Hi,

can you try installing a fresh system image once again and then flashing the firmware once again?
The problem with lack of transform is caused because there is no odometry information from the CORE2 board.

Replying to a question about adding parameter it means adding rosbot_pro:=true after the launch file. This launches all nodes with parameters for the Pro version of rosbot.

Also, are you using ROS 2 of ROS 1? At first you are mentioning you are using ROS Foxy, but later you are using commands from ROS 1.

Best regards,
Krzysztof Wojciechowski.