ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Hi, I'm the author of the package. Two quick suggestions:

First, confirm that your UM6 is indeed sending data. Check it with picocom, for example:

picocom -b 115200 /dev/ttyUSB1

It's binary output, but you should see snp packet headers in among the noise. Ctrl-A Ctrl-Q to exit from picocom.

Second, try turning on debug output for the node, which may give more clues as to what's gone wrong. Add the following line to /opt/ros/hydro/share/ros/config/rosconsole.config:

log4j.logger.ros.um6=DEBUG

And then roslaunch the node with the --screen option.

Hi, I'm the author of the package. Two quick suggestions:

First, confirm that your UM6 is indeed sending data. Check it with picocom, for example:

picocom -b 115200 /dev/ttyUSB1

It's binary output, but you should see snp packet headers in among the noise. Ctrl-A Ctrl-Q to exit from picocom.

Second, try turning on debug output for the node, which may give more clues as to what's gone wrong. Add the following line to /opt/ros/hydro/share/ros/config/rosconsole.config:

log4j.logger.ros.um6=DEBUG

And then roslaunch the node with the --screen option.


To follow up, the structure of theum6 driver is that messages all get published at once by the publishMsgs function. This function only gets called when a trigger packet arrives. This has been set to be the temperature report, which the UM6 always publishes last in its output batch. It's possible that for some reason your UM6 doesn't produce that message, or the configuration string which is supposed to turn on the temperature output isn't getting set.

Do you know which version of the firmware you have?

Hi, I'm the author of the package. Two quick suggestions:

First, confirm that your UM6 is indeed sending data. Check it with picocom, for example:

picocom -b 115200 /dev/ttyUSB1

It's binary output, but you should see snp packet headers in among the noise. Ctrl-A Ctrl-Q to exit from picocom.

Second, try turning on debug output for the node, which may give more clues as to what's gone wrong. Add the following line to /opt/ros/hydro/share/ros/config/rosconsole.config:

log4j.logger.ros.um6=DEBUG

And then roslaunch the node with the --screen option.


To follow up, the structure of theum6 driver is that messages all get published at once by the publishMsgs function. This function only gets called when a trigger packet arrives. This has been set to be the temperature report, which the UM6 always publishes last in its output batch. It's possible that for some reason your UM6 doesn't produce that message, or the configuration string which is supposed to turn on the temperature output isn't getting set.

Do you know which version of the firmware you have?

have? You may be able to upgrade the firmware to a more recent version which would provide the temperature packet. Alternatively, feel free to fork the driver on Github and provide a parameter which uses some other message to trigger the ROS publishers (for example, UM6_ERROR_COV_30, which is the one right before UM6_TEMPERATURE).

Hi, I'm the author of the package. Two quick suggestions:

First, confirm that your UM6 is indeed sending data. Check it with picocom, for example:

picocom -b 115200 /dev/ttyUSB1

It's binary output, but you should see snp packet headers in among the noise. Ctrl-A Ctrl-Q to exit from picocom.

Second, try turning on debug output for the node, which may give more clues as to what's gone wrong. Add the following line to /opt/ros/hydro/share/ros/config/rosconsole.config:

log4j.logger.ros.um6=DEBUG

And then roslaunch the node with the --screen option.


To follow up, the structure of theum6 driver is that messages all get published at once by the publishMsgs function. This function only gets called when a trigger packet arrives. This has been set to be the temperature report, which the UM6 always publishes last in its output batch. It's possible that for some reason your UM6 doesn't produce that message, or the configuration string which is supposed to turn on the temperature output isn't getting set.

Do you know which version of the firmware you have? You may be able to upgrade the firmware to a more recent version which would provide the temperature packet. packet.

Alternatively, feel free to fork the driver on Github and provide a parameter which uses some other message to trigger the ROS publishers (for example, UM6_ERROR_COV_30, which is the one right before UM6_TEMPERATURE).