Coding period week 3
Week 3
As it was mentioned in the previous post, it is necessary to migrate the current Behavior Studio from python2 to python3, since python2 has been deprecated many months ago.
Besides that, python2 has presented some conflict with the Behavior Studio’s GUI which uses PyQt5, it is somewhat difficult to make them work together.
So for this week I have been writing docker files in separate branch, to iterate faster Behavior Studio.
Jderobot base images
Jderobot had only Xenial docker base image, new images are going to be needed for bionic and focal in order to be used for Behavior Studio. For now I created the basic melodic Dockerfile and a minimal Noetic Dockerfile which does not have jderobot base installed because there is not a release for focal yet.
Docker - GUI
There are many ways to expose a GUI outside a docker container [1], but the one my mentor and I though would suit better our needs, is VNC because it is easy to setup and it does not consume a lot of resources, and it could be used in windows or mac.
Issues
Currently there are some major issues that I addressing at the moment, since the Jderobot-base image for Noetic does not contain the plugins for Formula 1, the GUI has no functionality yet.
[ERROR] [1592797961.138742]: Unable to immediately register with master node [http://localhost:11311]: master may not be running yet. Will keep trying.
Although all assets for the GUI are in the right place, I am getting this message and some buttons are not displayed in the GUI, it seemed that it was caused because I was running the GUI as root, but when I tried without root permission other errors appeared.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
Week Highlights
- During the development process I have been hosting the container in my docker hub account
- Jderobot-base
- Melodic
- Noetic
- Jderobot-behavior-studio
- Noetic
- Jderobot-base
- Here is the list of the branches that I have been working
References
-
[1] ROS, Using GUI’s with Docker
-
[2] Jderobot, BehaviorStudio (BehaviorSuite)
-
[3] Jderobot, Base