Error when trying to connect to Unibotics

Hi there,

I am working in Ubuntu 20.04 system, with the configuration: Robotics backend Local Ros1 (RADI 3) and Firefox. The docker image I am using is 3.4.28 running without GPU with:

sudo docker run --rm -it -p 7681:7681 -p 2303:2303 -p 1905:1905 -p 8765:8765 -p 6080:6080 -p 1108:1108 -p 7163:7163 -p 7164:7164 jderobot/robotics-academy:3.4.28

Once the docker is running and I try to run the Obstacle Avoidance exercise in Unibotics I get the error:

“Error launching the world:Invalid roslaunch XML syntax: [Errno 2] No such file or directory: ‘/opt/jderobot/Launchers/obstacle_avoidance_f1_headless.launch’. Try changing the world or reloading the page”

And this is the output in ubuntu terminal:

2024-04-23 06:58:16,587 [Thread-2 ] [INFO ] (root) client connected: {‘id’: 1, ‘handler’: <websocket_server.websocket_server.WebSocketHandler object at 0x7f8c9bc5c550>, ‘address’: (‘172.17.0.1’, 49532)}
2024-04-23 06:58:16,596 [Thread-2 ] [INFO ] (root) message received: {“id”:“99a3cd34-2e5b-4c14-94d5-c5e815038eba”,“command”:“connect”} from client {‘id’: 1, ‘handler’: <websocket_server.websocket_server.WebSocketHandler object at 0x7f8c9bc5c550>, ‘address’: (‘172.17.0.1’, 49532)}
/dev/dri does not exist. No direct GPU access.
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (transitions.core) Executed callback ‘on_connect’
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks.
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (root) Connect state entered
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (transitions.core) Executed callback ‘on_enter_connected’
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks.
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (root) State changed to connected
2024-04-23 06:58:16,647 [MainThread ] [INFO ] (transitions.core) Executed callback ‘<bound method Manager.state_change of <main.Manager object at 0x7f8c9bc7e1c0>>’
2024-04-23 06:58:16,688 [Thread-2 ] [INFO ] (root) message received: {“id”:“b8078bfd-ff59-4969-a202-549ecc17f23d”,“command”:“launch”,“data”:{“launch”:{},“application”:{“type”:“python”,“params”:{“circuit”:“default”},“entry_point”:“$EXERCISE_FOLDER/entry_point/exercise.py”},“exercise_id”:“obstacle_avoidance_newmanager”,“visualization”:“gazebo_rae”,“world”:“gazebo”,“resource_folders”:“$EXERCISE_FOLDER”,“model_folders”:“$CUSTOM_ROBOTS_FOLDER/f1/models”,“launch_file”:“/opt/jderobot/Launchers/obstacle_avoidance_f1_headless.launch”,“name”:“default”}} from client {‘id’: 1, ‘handler’: <websocket_server.websocket_server.WebSocketHandler object at 0x7f8c9bc5c550>, ‘address’: (‘172.17.0.1’, 49532)}
2024-04-23 06:58:16,748 [MainThread ] [INFO ] (root) Launch transition started, configuration: {‘launch’: {}, ‘application’: {‘type’: ‘python’, ‘params’: {‘circuit’: ‘default’}, ‘entry_point’: ‘$EXERCISE_FOLDER/entry_point/exercise.py’}, ‘exercise_id’: ‘obstacle_avoidance_newmanager’, ‘visualization’: ‘gazebo_rae’, ‘world’: ‘gazebo’, ‘resource_folders’: ‘$EXERCISE_FOLDER’, ‘model_folders’: ‘$CUSTOM_ROBOTS_FOLDER/f1/models’, ‘launch_file’: ‘/opt/jderobot/Launchers/obstacle_avoidance_f1_headless.launch’, ‘name’: ‘default’, ‘ros_version’: ‘1’}
2024-04-23 06:58:16,957 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized
Xserver on :0 is running!
… logging to /root/.ros/log/dc7e35f8-013e-11ef-83b3-0242ac110002/roslaunch-6cd3654543c4-46.log

In addition, I was trying to run the Following Line exercise and the page wnt blank, but now the exercise is not even available on the Unibotics Academy website.

Hope some help with these issues,
Thanks

Hi @bdager ,

I’ve just checked both exercises. Obstacle avoidance works fine with RADI 3.4.30, and Follow Line with RADI 4.4.31. Please update your RADIs and check again.

FollowLine has been recently updated and it is only available with ROS2, and so only with RADIs 4.* Currently Obstacle Avoidance is only available with ROS1-Noetic (–> RADIs 3.*). Sorry for the inconveniences. Eventually all the exercises will be available at the latest RADI, we are now migrating all pending exercises to ROS2-Humble.

To change the RADI to be used from Unibotics just change the selected “Robotics Backend” at your user preferences and launch the corresponidng RADI image at your computer before entering into the exercise webpage.

Please check with the updated RADIs on your side and let us know.

Hi Bdager! I’m Carlos, a JdeRobot contributor and Unibotics developer.

I’ve been running some test today with the Obstacle avoidance exercise and I can ensure you that the problem is the RADI version. On RADI 3.4.28, Obstacle Avoidance had some bugs but on the newest version (3.4.30) is working perfectly.

Also, as Jmplaza said, Follow Line on ROS 1 is no longer supported due to being avaiable and having a better performance in ROS 2. For that, I recommend you to use the RADI 4.4.31 version.

Sorry for the incovenience and I hope you found this information useful!

Thank you for the explanation, with those RADI versions it works.