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

Revision history [back]

click to hide/show revision 1
initial version

Hey, I also encountered the same problem when porting some existing code to the ROS noetic.

In my case I had a launch file which invoked rqt_gui with a so-called perspective file, like this:

<node name="rqt_gui" pkg="rqt_gui" 
type="rqt_gui" respawn="false" 
args="--perspective-file $(find cyton_gamma_300_gazebo)/config/gazebo_effort_controller.perspective"/>

The perspective file in turn looked similar to the following:

    ..., "mainwindow": {
  "keys": {
    "geometry": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('01d9d)", 
      "pretty-print": "     :     I :     I     "
    }, 
    "state": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')", 
      "pretty-print": "                 Lrqt_topic__TopicPlugin__1__TopicWidget          Xrqt_publisher__Publisher__1__PublisherWidget                            6MinimizedDockWidgetsToolbar        "
    }
  }, ....

We are interested in the key-value pairs looking similar to the following:

"repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')",

and change it to the following:

"repr(QByteArray.hex)": "b'000000ff'",

I.e. after replacing the value with only byte content, like b'000000ff' and removing QtCore.QByteArray() creation it launched without errors. Hope this helps!

Hey, I also encountered the same problem when porting some existing code to the ROS noetic.

In my case I had a launch file which invoked rqt_gui with a so-called perspective file, like this:

<node name="rqt_gui" pkg="rqt_gui" 
type="rqt_gui" respawn="false" 
args="--perspective-file $(find cyton_gamma_300_gazebo)/config/gazebo_effort_controller.perspective"/>

The perspective file in turn looked similar to the following:

    ..., "mainwindow": {
  "keys": {
    "geometry": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('01d9d)", "QtCore.QByteArray('01d9d')", 
      "pretty-print": "     :     I :     I     "
    }, 
    "state": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')", 
      "pretty-print": "                 Lrqt_topic__TopicPlugin__1__TopicWidget          Xrqt_publisher__Publisher__1__PublisherWidget                            6MinimizedDockWidgetsToolbar        "
    }
  }, ....

We are interested in the key-value pairs looking similar to the following:

"repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')",

and change it to the following:

"repr(QByteArray.hex)": "b'000000ff'",

I.e. after replacing the value with only byte content, like b'000000ff' and removing QtCore.QByteArray() creation it launched without errors. Hope this helps!

Hey, I also encountered the same problem when porting some existing code to the ROS noetic.

In my case I had a launch file which invoked rqt_gui with a so-called perspective file, like this:

<node name="rqt_gui" pkg="rqt_gui" 
type="rqt_gui" respawn="false" 
args="--perspective-file $(find cyton_gamma_300_gazebo)/config/gazebo_effort_controller.perspective"/>

The perspective file in turn looked similar to the following:

    ..., "mainwindow": {
  "keys": {
    "geometry": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('01d9d')", 
      "pretty-print": "     :     I :     I     "
    }, 
    "state": {
      "type": "repr(QByteArray.hex)", 
      "repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')", 
      "pretty-print": "                 Lrqt_topic__TopicPlugin__1__TopicWidget          Xrqt_publisher__Publisher__1__PublisherWidget                            6MinimizedDockWidgetsToolbar        "
    }
  }, ....

We are interested in the key-value pairs looking similar to the following:

"repr(QByteArray.hex)": "QtCore.QByteArray('000000ff')",

and change it to the following:

"repr(QByteArray.hex)": "b'000000ff'",

I.e. after replacing the value with only byte content, like b'000000ff' and removing QtCore.QByteArray() creation it launched creation, the rqt_gui is able to start without errors. No patching of noetic code required. Hope this helps!