Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenGL issues when running ros-abb-linear-axis-real/docker-compose.and-rviz.yml #10

Closed
jf--- opened this issue Feb 13, 2019 · 8 comments

Comments

@jf---
Copy link

jf--- commented Feb 13, 2019

first of all, what a wonderful resource to have such an elegant put together workshop, having CI on a workshop tutorial is next level 🍹


( Running from OSX 10.14.2 )

When launching ros-abb-linear-axis-real.yml I'm running into the following issue mentioned here on osrf/gazebo

OgreGLSupport.cpp:57: virtual void Ogre::GLSupport::initialiseExtensions(): Assertion `pcVer && "Problems getting GL version string using glGetString"' failed.
This means you don't have OpenGL support available. Running through a virtualization environment that does not support hardware accelerated 3D is a common cause of this, as is not having the correct drivers installed under Linux.

In general, if there are proprietary graphics drivers for your hardware in Linux, use them instead of the (non accelerated) open source ones.

This looks seems a known issue, but I'm curious if you have had success running rviz via docker on osx (or windows)?

from the abb-linear-axis-rviz container:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
rviz: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/RenderSystems/GL/src/OgreGLSupport.cpp:56: virtual void Ogre::GLSupport::initialiseExtensions(): Assertion `pcVer && "Problems getting GL version string using glGetString"' failed.
[ INFO] [1550012257.619013586]: rviz version 1.12.16
[ INFO] [1550012257.619042562]: compiled against Qt version 5.5.1
[ INFO] [1550012257.619049306]: compiled against OGRE version 1.9.0 (Ghadamon)
[rviz_911e0b2fa2e0_1_6162832953905370248-1] process has died [pid 60, exit code -6, cmd /opt/ros/kinetic/lib/rviz/rviz -d /root/catkin_ws/src/robotic_setups/src/abb_linear_axis_brick_moveit_config/launch/moveit.rviz __name:=rviz_911e0b2fa2e0_1_6162832953905370248 __log:=/root/.ros/log/e88558ae-2f16-11e9-9975-0242ac170002/rviz_911e0b2fa2e0_1_6162832953905370248-1.log].
log file: /root/.ros/log/e88558ae-2f16-11e9-9975-0242ac170002/rviz_911e0b2fa2e0_1_6162832953905370248-1*.log
master has started, initiating launch
... logging to /root/.ros/log/e88558ae-2f16-11e9-9975-0242ac170002/roslaunch-911e0b2fa2e0-1.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
]2;/root/catkin_ws/src/robotic_setups/src/abb_linear_axis_brick_moveit_config/launch/moveit_rviz.launch�
started roslaunch server http://abb-linear-axis-rviz:33429/
2019-02-12T22:57:38.149157593Z 
SUMMARY
========
2019-02-12T22:57:38.149164212Z 
PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /rviz_911e0b2fa2e0_1_6162832953905370248/abb/kinematics_solver: kdl_kinematics_pl...
 * /rviz_911e0b2fa2e0_1_6162832953905370248/abb/kinematics_solver_attempts: 3
 * /rviz_911e0b2fa2e0_1_6162832953905370248/abb/kinematics_solver_search_resolution: 0.005
 * /rviz_911e0b2fa2e0_1_6162832953905370248/abb/kinematics_solver_timeout: 0.005
 * /rviz_911e0b2fa2e0_1_6162832953905370248/axis_abb/kinematics_solver: kdl_kinematics_pl...
 * /rviz_911e0b2fa2e0_1_6162832953905370248/axis_abb/kinematics_solver_attempts: 3
 * /rviz_911e0b2fa2e0_1_6162832953905370248/axis_abb/kinematics_solver_search_resolution: 0.005
 * /rviz_911e0b2fa2e0_1_6162832953905370248/axis_abb/kinematics_solver_timeout: 0.005
2019-02-12T22:57:38.149205901Z 
NODES
  /
    rviz_911e0b2fa2e0_1_6162832953905370248 (rviz/rviz)
2019-02-12T22:57:38.149214655Z 
ROS_MASTER_URI=http://ros-master:11311
]2;/root/catkin_ws/src/robotic_setups/src/abb_linear_axis_brick_moveit_config/launch/moveit_rviz.launch http://ros-master:11311�
process[rviz_911e0b2fa2e0_1_6162832953905370248-1]: started with pid [60]
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
@romanarust
Copy link
Contributor

Hi Jelle! Thanks for posting an issue and fantastic to see that the workshop has attracted attention outside of ITA. It would be great to keep in touch on this.

@jf---
Copy link
Author

jf--- commented Feb 13, 2019

My pleasure Romana, this is duly impressive work, docker / compas / ROS, this is a formidable stack.

It would be great to keep in touch on this

all for it!

Finally; is there a repo for the Dockerfile referenced? I couldnt find these in gramaziokohler/ros_docker

@gonzalocasas
Copy link
Member

@jf--- Hi! The Dockerfile of the image used at the workshop is directly contained in this very repo: https://github.com/gramaziokohler/robotic_assembly_workshop/blob/master/docker/docker-images/Dockerfile

@gonzalocasas
Copy link
Member

And I'll give it a shot at the OpenGL issue, in principle, the idea is that RViz wouldn't be needed if you use the framework from a CAD interface, e.g. the Grasshopper in the repo does things like subscribe to the displayed path plan and animate on the Rhino's viewport, but still, it's good to be able to see what happens in the ROS black box.

@jf---
Copy link
Author

jf--- commented Feb 13, 2019

The Dockerfile of the image used at the workshop is directly contained in this very repo: /docker/docker-images/Dockerfile@master

So the Dockerfile I'm curious of is:

  abb-linear-axis-rviz:
    image: gramaziokohler/robotic-assembly:workshop-19.01
    container_name: abb-linear-axis-rviz

Do I understand that those files correspond? It seems to reference a Dockerhub image, I'd expect a local path to Dockerfile included in the repo, hence the confusion

the idea is that RViz wouldn't be needed if you use the framework from a CAD interface

I think that's definitely elegant, and I also appreciate that running GUI apps via docker is, well, questionable in terms of performance for sure. Its just amazing that its even possible ;)

@gonzalocasas
Copy link
Member

gonzalocasas commented Feb 13, 2019

So the Dockerfile I'm curious of is:

 abb-linear-axis-rviz:
   image: gramaziokohler/robotic-assembly:workshop-19.01
   container_name: abb-linear-axis-rviz

Yes, that image was built and pushed to dockerhub from the Dockerfile in this repo. The naming/tag is basically calver-style versioning (mostly to make sure that if we re-run the workshop nobody gets a cached, old version).

@gonzalocasas
Copy link
Member

@jf--- we're now switching away from doing this X11 forwarding to the host machine, because it is just too painful to configure in all platform in a consistent way, and instead, we're including a novnc container in the compose setups, so that moveit can be accessed directly from the browser; the performance is actually better than XMing (on Windows), and it gets rid of all the issues with installation and setup we were having.

Check some of the docker-compose files on the docs (on the freshly released 0.5.0): https://gramaziokohler.github.io/compas_fab/latest/backends/ros.html#complete-ros-systems

So, I will close this issue for now, but feel free to keep commenting on it anyway! :)

@jf---
Copy link
Author

jf--- commented Apr 25, 2019

switching away from doing this X11 forwarding to the host machine

I think that's a very sensible idea...

we're including a novnc container in the compose setups

Oh, very interesting, and amazing that this runs in the container, it'll be really amazing to just point to a URL, as per the documents...

I'll revert when finding to a moment to explore this, thx for the heads-up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants