ROS2 Foxy and ekf

I’m using a RosBot 2.0 pro and have first updated it to use foxy, as this is the target of a project that the rosbot is acting as a stand-in for.

I’ve got the camera, LIDAR, joystick and so on all working nicely, but I’m having trouble integrating with the navigation2 stack because there is no odom frame.

Looking through the git repositories, it looks like this is being done with rosbot_ekf and topics published by the firmware, but these don’t seem to exist for ROS2.

I don’t see any topics for the IMU or the service for configuring the Core2 board.

Q. Is the IMU supposed to be enabled and publishing by default in the foxy firmware?
Q. Is rosbot_ekf still required?
And finally is the foxy firmware source available ?

Hi,
Regardless of the ROS distribution, we use the same firmware, but we sometimes make corrections there. I’m afraid your firmware version is not compatible with the nodes being launched. In the latest firmware version (0.15.0) we have introduced changes to remapping topics, but these changes are not included in rosbot_description package on the foxy branch. The problem may be solved by flashing firmware version 0.14.2. The binaries with this version are attached to the ubuntu image and you just need to run the script:

cd 
./flash_firmware.sh

There is no such need to run rosbot_ekf launches. If you are using an image with ros2, just run this:

ros2 launch rosbot_description navigation_demo_pro.launch.py

Please, let me know about it. If you have any questions/troubles, do not hesitate to ask.

Best regards,
Paweł

I’ve just recently updated our ROSbot 2.0 Pro to ROS2 and I’m having similar problems (although I cannot get the LiDAR to work either). I have only ever run the “./flash_firmware.sh” command to update the firmware on the stm32 so I assume I should be running the correct firmware version (it reports as 0.14.3). When I run the “ros2 launch rosbot_description navigation_demo_pro.launch.py” command, I get continuous “Message Filter dropping message: frame ‘laser’” messages, as well as errors like “Timed out waiting for transform from base_link to odom to become available”, “Mismatched protocol version in packet (b’\x00’): lost sync or rosserial_python is from different ros release than the rosserial client”, “wrong checksum for topic id and msg”. In case it helps, there is also a warning "maximum laser range setting (30.0 m) exceeds the capabilities of the used Lidar (25.0 m).

If I run RVIZ2 and try to add a LaserScan topic, I just get an “Error subscribing: Empty topic name” error message. None of the LiDAR or IMU topics appear to be being published.

Is there anything I can do to troubleshoot this? I have already fully re-imaged the robot twice with identical outcomes (although I note that in the instructions for imaging the robot it indicates that when installing Linux the option to erase the memory before installing should be chosen - but no options appeared for me, it goes straight into an automatic installation process after booting without providing any opportunities for user intervention).

Thanks,

Alex

Hi Pawel,
The navigation launch has solved part of the problem, but I still don’t get IMU messages published
The FW version in the ISO is 0.14.3, which I what I have been using. I cannot find a download or source for 0.14.2, so can I confirm that that is the correct version, and no 0.14.3

Thanks,
Cameron

Hi Pawel,
Is it possible to get some response on this?
Thanks,
Alex

Hi,
Sorry, you guys have to wait so long for a reply, but we’ve fixed this in the latest version of the Ubuntu image. We’re testing everything right now and a new version should arrive this week. I will inform you about it in this post.

Best regards,
Paweł

Hi Pawel,
Many thanks for the update - eagerly awaiting the fixed version … !
Thanks,
Alex

Hi,
We have finally managed to create a fully working Ubuntu image. You can find it at this link:

Downloads | Husarion

Please, let me know about it. If you have any questions/troubles, do not hesitate to ask.

Best regards,
Paweł