Gepetto / gepetto-viewer-corba

CORBA server/client for SceneViewer.
Other
11 stars 25 forks source link

Gepetto_gui gives segmentation fault #87

Closed teguhSL closed 5 years ago

teguhSL commented 6 years ago

Hi, I tried to run gepetto_gui and load PR2-hpp_tutorial. The links name (base_footprint, base_laser_link, etc.) are printed in the command line, and then the gui just close down with the sentence "Segmentation fault (core dumped)" printed in the command line. Does anyone have any idea why and how to solve this? Thank you! ( I am following the installation instruction of HPP in https://humanoid-path-planner.github.io, and it seems that the tutorial has not been updated, it tells me to run gepetto-viewer-server which has been deleted. I guess that if I change gepetto-viewer-server to gepetto-gui, everything will still run as normal? )

jmirabel commented 6 years ago

What version of Ubuntu do you use ?

jmirabel commented 6 years ago

And what version did you try to install ?

teguhSL commented 6 years ago

I am using Ubuntu 16.04, ROS Kinetic. I downloaded the Stable version and follow the instructions from there.

jmirabel commented 6 years ago

Interesting...

if you run gdb -ex run gepetto-gui, and type where after the SEGV, what is printed ?

teguhSL commented 6 years ago

This is the screenshot after I typed where:

image

jmirabel commented 6 years ago

I think you do not follow the tutorial. Aren't you trying to load a robot from the GUI menus ?

I suspect some problems with graphic card driver or opengl version.

teguhSL commented 6 years ago

Yes, I try to load the robot from GUI menu as instructed in this video: homepages.laas.fr/jmirabel/raw/videos/hpp-gui-example.mp4

Previously I also tried to follow the tutorial, but the same segmantation fault error shows up when I tried to visualize the robot (using v = vf.createViewer() as in tutorial 1)

Which opengl version do you recommend, and do you have any suggestion to check about the graphic card driver?

Thank you!

jmirabel commented 6 years ago

Can you compile gepetto-viewer in debug mode ?

jmirabel commented 6 years ago

I tried but cannot reproduce this bug on my computer.

it tells me to run gepetto-viewer-server which has been deleted. I guess that if I change gepetto-viewer-server to gepetto-gui, everything will still run as normal?

By the way, thanks for reporting this. Yes, it should be correct.

teguhSL commented 6 years ago

By compiling in debug mode, do you mean just changing the build-type flag in the Makefile to debug? I tried this, and run gepetto_gui again. When I load pr2, it does not give me segmentation fault, but "Property ShowVisual is not of type int". After that the software does not quit, but it does not show anything either.

teguhSL commented 6 years ago

After loading the robot and it does not show anything, I tried to load the robot the second time, and it show me this following image. It seems that all the links are jumbled together.

image

jmirabel commented 6 years ago

By compiling in debug mode, do you mean just changing the build-type flag in the Makefile to debug?

That compiles everything in debug mode. You can also compile only gepetto-viewer by going to src/gepetto-viewer/build* and change the CMAKE_BUILD_TYPE.

"Property ShowVisual is not of type int"

This is just a warning.

What you see is normal. You should be able to run the tutorial now and have the robot move. Mind that in debug mode, it might be a bit slow. It seems something weird happened during the compilation.

If the tutorial works in debug mode, you can try to recompile in Release mode (clear the build cache first with rm -r */build-rel.

jmirabel commented 6 years ago

I assumed your problem is solved. Re-open is necessary.

teguhSL commented 6 years ago

Hi @jmirabel , sorry I could not work on this for some time.

Unfortunately, even with debug mode, when I run the tutorial example the gepetto-gui still gives me segmentation fault error. I have tried with another laptop and it is the same problem.

I tried to re-install HPP from scratch, and I realized I needed to do two things to make the installation work:

  1. When it tries to compile gepetto_viewer, it tries to download the following link: https://github.com/humanoid-path-planner/OpenSceneGraph-dae-plugin which apparently does not exist (or not publicly accessible?). I have to change in Makefile, from OSG_PACKAGE=OpenSceneGraph-dae-plugin to OSG_PACKAGE=OpenSceneGraph-3.4.0 then the compilation works.

  2. The compilation gives me error related to omniidl, saying that it cannot find the python backend. I resolves the issue by downloading and installing omniorbpy from http://omniorb.sourceforge.net/.

I don't know if these two things have anything to do with the segmentation fault error.

jmirabel commented 6 years ago

The first point is correct. The second does not matter (I think). The omniidl python backend are installed with a package called omniidl-python or python-omniidl.

Can you provide a back-trace now that you are in debug mode ?

teguhSL commented 6 years ago

The followings are what I obtained by running gdb -ex run gepetto-gui and run the tutorial 1. Is this what you meant by the backtrace?

1 2 3 4

jmirabel commented 6 years ago

Thanks for the feedback. I think it is related to the graphic card driver. I don't know how to remotely help you on this. Can you try to use a different driver ?

teguhSL commented 5 years ago

@jmirabel, I tried on two desktop computers, and now it works. I can run the first tutorial without any problem. The PR2 robot is shown correctly in the gepetto-gui. So apparently the previous problem was really due to the graphic card driver issue (I was using two laptops previously).

However, when I run the tutorial 2 and 3 I encounter other problems:

  1. On tutorial 2, if I follow the instruction and the codes in the website, I get this:

error2

If I use the codes included in hpp_tutorial, however, it gives error saying that "No Path Planner with name PRM":

error1

  1. On tutorial 3, I get the following error, and the hpp-manipulation-server gives me segmentation fault.

error3

Should I raise this issue in another github page (hpp_tutorial?)

jmirabel commented 5 years ago
  1. I guess you missed one thing. You can ignore this tutorial. Tutorial 2 on the website starts with

    WARNING: this tutorial has been tested with installations instructions corresponding to branch "isae".

  2. For tutorial 2 in hpp_tutorial and the "PRM not found" issue, I think you run hppcorbaserver and not hpp-tutorial-server. The purpose of this tutorial is to show how to add a planning algorithm.

  3. Thanks for reporting this. I'll have a look.

teguhSL commented 5 years ago

Thank you @jmirabel ! For number 2, yes, once I run hpp-tutorial-server it can run without problem. Only one small issue, it seems that the line "pp = PathPlayer (robot.client, v)" in tutorial_2.py has to be changed to "pp = PathPlayer (v)", otherwise, when I run the line "pp(0)", I get "AttributeError: Viewer object has no attribute 'problem'"

Do you have any suggestion on where should I look at next, to advance further with Humanoid Path Planner? preferably more examples in python, but otherwise also in c++.

jmirabel commented 5 years ago

Do you know what you want to do with HPP ?

teguhSL commented 5 years ago

We are collaborating with Olivier Stasse (he suggested me to install HPP), and the task will be most likely to plan a motion for humanoid robot to do pick and place of objects on a table (including collision avoidance and maybe balancing), for example.

I'd like to understand a few things in HPP:

  1. How to add another robot or a new environment
  2. How to use another solver. The tutorial 2 shows this, but only by specifying directly "PRM" (which I think has been included in hpp). If I want to use my own solver, would it be easy with HPP?
  3. Can we Initialise the solver with a particular solution (trajectory)?
  4. Can we define the set of active joints to be optimized by the solver

so basically to understand further about setting up the environments, the robots, the optimization problem, and the solver. Thank you!

jmirabel commented 5 years ago

I see. Can you open this discussion in hpp_tutorial instead ? It is not related to the viewer anymore.

teguhSL commented 5 years ago

Ok, thank you!