Robotics StackExchange | Archived questions

No module named 'SerialClient' on bringup

Hello,

I'm trying to execute the bringup on a turtlebot3 but when I run the command: roslaunch turtlebot3bringup turtlebot3robot.launch, I get the following error:

Traceback (most recent call last):
  File "/home/ubuntu/catkin_ws/devel/lib/rosserial_python/serial_node.py", line 15, in <module>
    exec(compile(fh.read(), python_script, 'exec'), context)

  File "/home/ubuntu/catkin_ws/src/turtlebot3/rosserial/rosserial_python/nodes/serial_node.py", line 39, in <module>
    from rosserial_python import SerialClient, RosSerialServer

  File "/home/ubuntu/catkin_ws/devel/lib/python3/dist-packages/rosserial_python/__init__.py", line 34, in <module>
    exec(__fh.read())

  File "<string>", line 1, in <module>

ModuleNotFoundError: No module named 'SerialClient'

Since I am using ROS Noetic, I had to download rosserial-python by source using the command:

git clone https://github.com/ros-drivers/rosserial.git -b noetic-devel

And maybe this is why this isn't working. Is there any workaround to make this work well? I tried taking a look at the files that were described in the error message but I had no luck or any idea of how I could correct them. I believe that the error has to do with a confusion between Python2 and Python3 on the file serial_node.py on line 39:

from rosserial_python import SerialClient, RosSerialServer

I am trying to run this on a Raspberry Pi 3 on a turtlebot 3 waffle-pi. But I don't know what I should change to make it work. Can anyone help?

Thank you

Asked by anonymous53443 on 2020-07-07 05:46:36 UTC

Comments

This would appear to be a duplicate of #q354667 (and a few others).

Please refer to the issue linked in the comments.

I would not suggest you follow the work-around described in the answer posted by the OP of that question.

Asked by gvdhoorn on 2020-07-07 07:01:58 UTC

If you think that following the work around described in the answer is not very good, what can I do to solve the issue?

Asked by anonymous53443 on 2020-07-09 03:20:04 UTC

This might be caused due to the fact that rosserial has not been properly updated to Python3 yet. They are working on updating it and the latest variant does seem to work but it hasn't been released yet.

This is the link to the issue that tracks the progress, you should be able to find the latest python files that work for ROS-noetic here.

https://github.com/ros-drivers/rosserial/pull/500

This is the issue tracker for rosserial in ROS-noetic

https://github.com/ros-drivers/rosserial/issues/499

Asked by Jsamwel on 2020-07-31 03:08:13 UTC

Answers