dheera / rosboard

ROS node that turns your robot into a web server to visualize ROS topics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I added the following in `rosboard/rosboard.py` after line 135 and it works.

altineller opened this issue · comments

It fixed this error but now:

[INFO] [1695856654.803669864] [rosboard_node]: Subscribing to /scan
[WARN] [1695856654.804567837] [rosboard_node]: name 'HistoryPolicy' is not defined
Traceback (most recent call last):
File "/home/can/workspaces/rosboard_ws/install/rosboard/lib/python3.10/site-packages/rosboard/rosboard.py", line 264, in sync_subs
kwargs = {"qos": self.get_topic_qos(topic_name)}
File "/home/can/workspaces/rosboard_ws/install/rosboard/lib/python3.10/site-packages/rosboard/rosboard.py", line 137, in get_topic_qos
if(topic_info[0].qos_profile.history == HistoryPolicy.UNKNOWN):
NameError: name 'HistoryPolicy' is not defined
[INFO] [1695856655.809106101] [rosboard_node]: Subscribing to /scan
[WARN] [1695856655.812603795] [rosboard_node]: name 'HistoryPolicy' is not defined

          I added the following in `rosboard/rosboard.py` after line 135 and it works.
                if(topic_info[0].qos_profile.history == HistoryPolicy.UNKNOWN):
                    topic_info[0].qos_profile.history = HistoryPolicy.KEEP_LAST  

Originally posted by @HX2003 in #104 (review)

Adding:

import rclpy
import rclpy.logging
import rclpy.qos
import rclpy.qos_event

As well changing lines after 135 to:

            if(topic_info[0].qos_profile.history == rclpy.qos.HistoryPolicy.UNKNOWN):
                topic_info[0].qos_profile.history = rclpy.qos.HistoryPolicy.KEEP_LAST

is required to make it work

This worked for me both on ROS2 Foxy & Humble, thanks!

Thanks! I merged another PR recently that fixed this as well. Let me know if it is an issue in any of your configurations now. Thanks!