Closed pgorczak closed 9 years ago
I just pushed https://github.com/wg-perception/object_recognition_core/commit/81f7e1e14cde86830b25c18338baf020a0e02c09 Could you please confirm this fixes it for you ? Thx. You will need to compile the core from source
After wg-perception/object_recognition_core@81f7e1e14cde86830b25c18338baf020a0e02c09 the error changes to
TypeError: Expecting an object of type list; got an object of type tuple instead
in the exact same place
I should add that in the meantime, I switched to building the ORK code plus its ecto, opencv_candidate and xdot dependencies from upstream sources. The list of packages is attached below. Now I get a different behavior as well when switching back to the previous revision wg-perception/object_recognition_core@4da12695b7cff85fdc45ec094f1542498344cf58. The error I described above is gone. Instead the reconstruction runs for a while before crashing with a different message.
(...)
filter: Laplacian Smooth
meshlabserver: mainserver.cpp:271: bool MeshLabServer::Script(MeshDocument&, QString, FILE*): Assertion `parameterSet.paramList.size() == required.paramList.size()' failed.
Traceback (most recent call last):
File "(...)object_recognition_reconstruction/mesh_object", line 192, in <module>
simple_mesh_session(dbs, session, args)
File "(...)object_recognition_reconstruction/mesh_object", line 148, in simple_mesh_session
meshlab(ply_name, mesh_name)
File "(...)object_recognition_reconstruction/mesh_object", line 75, in meshlab
subprocess.check_call((['meshlabserver', '-i', filename_in, '-o', filename_out, '-s', script]))
(...)
subprocess.CalledProcessError: Command '['meshlabserver', (...)]' returned non-zero exit status -6
If I can take any further steps to analyze the problem I'll do my best to help.
I put an according rosinstall file in a gist
@pgorczak, I'm getting the same error you reported. I use code from master branch on indigo. Did you solved the problem? Thanks!
which instruction are you running exactly ? Thx
rosrun object_recognition_reconstruction mesh_object --all --visualize --commit
and the error:
libGL error: dlopen /usr/lib/i386-linux-gnu/dri/swrast_dri.so failed (/usr/lib/i386-linux-gnu/dri/swrast_dri.so: wrong ELF class: ELFCLASS32)
libGL error: failed to load driver: swrast
Input mesh /home/jorge/cloud_ef46aab584ed2989a50974d5ac09eb5e_00000.ply
output mesh /tmp/tmpskfZtU/cloud_ef46aab584ed2989a50974d5ac09eb5e.stl
script /tmp/tmpZ7MOAk
Loading Plugins:
Current Plugins Dir is: /usr/lib/meshlab/plugins
Error in XMLFile: filter_measure.xml - line: -1, column: -1 -
Error in XMLFile: filter_mutualinfo.xml - line: -1, column: -1 -
Total 227 filtering actions
Total 13 io plugins
Opening a file with extention ply
Mesh cloud_ef46aab584ed2989a50974d5ac09eb5e_00000.ply loaded has 1497 vn 0 fn
Apply FilterScript: '/tmp/tmpZ7MOAk'
FilterScript
Reading filter with name Surface Reconstruction: Ball Pivoting
Reading Param with name BallRadius : RichAbsPerc
Reading Param with name Clustering : RichFloat
Reading Param with name CreaseThr : RichFloat
Reading Param with name DeleteFaces : RichBool
Reading filter with name Laplacian Smooth
Reading Param with name stepSmoothNum : RichInt
Reading Param with name Boundary : RichBool
Reading Param with name Selected : RichBool
Starting Script of 2 actionsfilter: Surface Reconstruction: Ball Pivoting
LOG: 2 Reconstructed surface. Added 887 faces
Advancing frontAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesAdding FacesReconstructed surface. Added 887 faces
filter: Laplacian Smooth
meshlabserver: mainserver.cpp:271: bool MeshLabServer::Script(MeshDocument&, QString, FILE*): Assertion `parameterSet.paramList.size() == required.paramList.size()' failed.
Traceback (most recent call last):
File "/home/jorge/workspaces/ork/src/ork_reconstruction/apps/mesh_object", line 186, in <module>
simple_mesh_session(dbs, session, args)
File "/home/jorge/workspaces/ork/src/ork_reconstruction/apps/mesh_object", line 148, in simple_mesh_session
meshlab(ply_name, mesh_name)
File "/home/jorge/workspaces/ork/src/ork_reconstruction/apps/mesh_object", line 75, in meshlab
subprocess.check_call((['meshlabserver', '-i', filename_in, '-o', filename_out, '-s', script]))
File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['meshlabserver', '-i', 'cloud_ef46aab584ed2989a50974d5ac09eb5e_00000.ply', '-o', '/tmp/tmpskfZtU/cloud_ef46aab584ed2989a50974d5ac09eb5e.stl', '-s', '/tmp/tmpZ7MOAk']' returned non-zero exit status -6
btw, the first two libGL error lines are due to a problem with my graphics driver that I have already fixed.
@vrabaud, I think I found the problem, but my fix is just monkey coding that seems to work. Feel free to reject, modify or apply the PR https://github.com/wg-perception/reconstruction/pull/4
The error occurs when the ecto.Dealer gets instantiated. The exact type error message is
It seems that a str type is expected here instead of unicode by the Python wrapper. Running
object_search.py
from object_recognition_core indeed prints a list of unicode elements in thesession ids
line but an str in thedb id
line.I don't know if this issue belongs to reconstruction or rather the core since it could already happen in the upload script. Please bear with me if this is the wrong place.
Forgot to mention: I am using the ROS Indigo packages on Ubuntu 14.04.