jsk-ros-pkg / jsk_model_tools

JSK model utilities
https://github.com/jsk-ros-pkg/jsk_model_tools
BSD 3-Clause "New" or "Revised" License
5 stars 27 forks source link

[eusurdf] parallelize model generation #188

Closed furushchev closed 7 years ago

furushchev commented 7 years ago

MEMO Currently feature to use _fixed model is disabled because original models are collided and exploded when spawn until pose adjustment (This is TODO). https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188/files#diff-bdf807dd16a53484a4e651d62304b4dbR87

furushchev commented 7 years ago

Conversion flow from eus to urdf changed? Cloud you explain in detail?

Yes. I made 2 programs for model generation originally from your python and euslisp files.: eusmodel_to_urdf.l creates the structure of model files like below:

eusscene_to_world.l creates each world file.

and these scripts are called by cmake.

The change from user side is:

mmurooka commented 7 years ago

Thanks.

Current flow is

CMakeLists.txt -> convert-scene-to-urdf.py -> convert-eus-to-urdf.l (generate-room-models) -> (irteus2urdf-room-for-gazebo) ;; generate world file
(make_static_model.py and make_fixed_model.py is called in this function) -> (irteus2urdf-for-gazebo) ;; convert eus to urdf
(eus2urdf_for_gazebo.py is called in this function)

I think this flow is not smart, so refactoring is good. especially, I agree to call eus function from CMakeLists.txt directly. (So convert-scene-to-urdf.py should be removed in This PR.) But I think convert-eus-to-urdf.l and your new euslisp script have same function, and cloud merge them? I'm happy if you edit convert-eus-to-urdf.l instead of generating new script. And one more question is how do you convert from collada to urdf? In current flow, we call python (eus2urdf_for_gazebo.py). If it is not necessary in your program, it is better.

Current conversion program contains many tips from long use (e.g. https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/scripts/eus2urdf_for_gazebo.py#L38-L44), so I'm very afraid that those are discarted.

furushchev commented 7 years ago

@mmurooka Thank you for advice!

(So convert-scene-to-urdf.py should be removed in This PR.)

OK. I remove it.

But I think convert-eus-to-urdf.l and your new euslisp script have same function, and cloud merge them?

You mean "cloud" -> "could you"? If so, I think it's ok to remove convert-eus-to-urdf.l because eusmodel_to_urdf.l file is rewritten version of this file for support calling from cmake.

And one more question is how do you convert from collada to urdf?

In this pull request, first call collada::eus2collada, then do some hack wriiten around https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188/files#diff-f183038e0df43b387df0bd487772c143R39 . (these are also basically copied from eus2urdf_for_gazebo.py) Could you please just take a brief check that this conversion flow does not discard any previous flow? https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188/files#diff-f183038e0df43b387df0bd487772c143R39

mmurooka commented 7 years ago

current conversion flow, we use following files. convert-scene-to-urdf.py convert-eus-to-urdf.l make_static_model.py make_fixed_model.py eus2urdf_for_gazebo.py

In your PR, convert-scene-to-urdf.py and eus2urdf_for_gazebo.py are no longger necessary. If so, I agree this, so please remove them. make_static_model.py and make_fixed_model.py are not edited and kept to be used. In current, these files are called from eus, but in your PR these are called from CMake. Above is my understanding and is it right? If so, I think this is not problem if some hacks are copied correcly. (I don't remember all hacks, so maybe I might miss them if they are deleted in PR. So please be carefull.) And in your PR convert-eus-to-urdf.l is remvoed and eusmodel_to_urdf.l and eusscene_to_world.l are addeed. Could you keep convert-eus-to-urdf.l and edit this file so that I can watch the diff between current and new? I don't like remove existing codes all and rewrite all. Keeping current function (or adding minor change) and you write new function, which is callable from CMake, by using current function in it, is better to me.

mmurooka commented 7 years ago

And could you split deleting textured models from commit https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188/commits/ce2c31a73780295d3c91e3612c32060a8e7f90a4 ?

mmurooka commented 7 years ago

(連投すみません.) I remember one hack: https://github.com/jsk-ros-pkg/jsk_model_tools/pull/126. This problem occurs only in PR2 machine. Is this OK in new version?

furushchev commented 7 years ago

@mmurooka

Above is my understanding and is it right?

All Yes.

And could you split deleting textured models from commit ce2c31a ?

Sure!

Could you keep convert-eus-to-urdf.l and edit this file so that I can watch the diff between current and new?

I considered and did not choose this way because:

If you'd like to merge them into one file convert-eus-to-urdf.l, I'll try to do it.

mmurooka commented 7 years ago

If you'd like to merge them into one file convert-eus-to-urdf.l, I'll try to do it.

Maybe it is bothering but I'd like you to do that.

before this pull request, conversion codes are spread in both python and euslisp. I want to simplify to call a script in order to convert model or world 1 by 1.

Euslisp part of current version and new version can be compared. You can delete calling python script from current program and add eus lines there. For example, now euscollada function is called in both program of current and new version, and this should be shared. It is OK to separate eus script into two but these common parts should not be written twice. Maybe (irteus2urdf-for-gazebo), (irteus2urdf-room-for-gazebo), (generate-room-models) are used in other program in euslib/demo/murooka, I'd like you to support these functions and add new feature to call CMakeLists.txt.

furushchev commented 7 years ago

@mmurooka OK. I now understand your demand. I'll try to keep as good compatibility as possible.

furushchev commented 7 years ago

@mmurooka I'm now trying but there are some points that are really difficult to read in the current code. What did you mean in the code: https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L26-L30 ? Also please note that we cannot use ros::resolve-ros-path in cmake build time. So you will have to specify full path for output directory.

mmurooka commented 7 years ago

@mmurooka I'm now trying but there are some points that are really difficult to read in the current code.

question is wellcome!

(send obj :name) is used in eus2collada, so name of object is set properly. https://github.com/euslisp/jskeus/blob/master/irteus/irtcollada.l#L327 https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L26-L28 tries to set object name if object name is nil, ""(empty string), or symbol.

Also please note that we cannot use ros::resolve-ros-path in cmake build time. So you will have to specify full path for output directory.

It is same in current version. Those pass can be passed as argument, and in such case, resolve-ros-path is not called. https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L5-L6 Those passes are passed from CMakeLists.txt via https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/CMakeLists.txt#L23 and https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/scripts/convert-scene-to-urdf.py#L21

furushchev commented 7 years ago

@mmurooka in https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/scripts/convert-scene-to-urdf.py#L21, you use roseus not irteusgl. If you load codes including ros::~~~ on irteusgl. error occurs like below:

irteusgl 0 error: no such package ROS in (load "convert-eus-to-urdf.l ")

So we might have to remove all ros::~~ function calls from codes.

mmurooka commented 7 years ago

and in the case of using these functions from euslisp script directly (not CMakeList), we can use resolve-ros-path and we do not need to specify them (I believe you become to want to convert some models from eus to urdf without CMakeLists.txt just for trial.).

mmurooka commented 7 years ago

How about using roseus instead of irteus in CMakeLists.txt?

furushchev commented 7 years ago

We could not use ros::resolve-ros-path feature when building without isolation. For example we have called roseus to make jsk_maps, but changed to use irteusgl with very dirty hack. https://github.com/jsk-ros-pkg/jsk_demos/pull/112 Currently most jsk users use catkin build rather than catkin_make, which makes each packages isolated way (I believe so, please correct if I mistake) and it does not matter in that case, but I'm using catkin_make because of rosjava issue. (rosjava does not work with catkin build currently)

mmurooka commented 7 years ago

So do you have any good idea? My next option is generating wrapper function in another file not to break current function, (irteus2urdf-for-gazebo), (irteus2urdf-room-for-gazebo), (generate-room-models). In that wrapper function, default value is given with resolve-ros-path for arguments of https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L5-L6 .

furushchev commented 7 years ago

@mmurooka If it is allowed, can I create each wrapper function ((irteus2urdf-for-gazebo), (irteus2urdf-room-for-gazebo) and (generate-room-models)) to use functions I added in this pull request (I took care of letting them be independent to any package path, and using full path) internally?

mmurooka commented 7 years ago

Yes, it satisfies following and I think no problem.

For example, now euscollada function is called in both program of current and new version, and this should be shared.

I mean that For example, (irteus2urdf-for-gazebo-without-ros) for (irteus2urdf-for-gazebo). and put this function in separate file convert-eus-to-urdf-without-ros.l, and CMakeLists.txt load this file. (please consider better name..)

mmurooka commented 7 years ago

I'd like to keep following examples working. https://github.com/jsk-ros-pkg/jsk_model_tools/tree/master/eusurdf#convert-eus-model-to-urdf . I now check this on my PC and it is working correctly. Those are also called in travis test https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/test/convert-eus-to-urdf-test.l . Without calling eus2collada or collada_to_urdf more than two in whole eusurdf source code, I'd like you to achieve this. (Otherwise, whole part of these functions become completely isolate function that only I use..)

furushchev commented 7 years ago

@mmurooka OK. I updated codes and checked https://github.com/jsk-ros-pkg/jsk_model_tools/tree/master/eusurdf#convert-eus-model-to-urdf works.

mmurooka commented 7 years ago

test fails

eusurdf] [ROSUNIT] Outputting test results to /workspace/ros/ws_jsk_model_tools/build/eusurdf/test_results/eusurdf/rostest-test_convert-eus-to-urdf-test.xml 
[eusurdf] configuring by "/opt/ros/hydro/share/euslisp/jskeus/eus//lib/eusrt.l" 
[eusurdf] ;; readmacro ;; object ;; packsym ;; common ;; constants ;; stream ;; string ;; loader ;; pprint ;; process ;; hashtab ;; array ;; mathtran ;; eusdebug ;; eusforeign ;; coordinates ;; tty ;; history ;; toplevel ;; trans ;; comp ;; builtins ;; par ;; intersection ;; geoclasses ;; geopack ;; geobody ;; primt ;; compose ;; polygon ;; viewing ;; viewport ;; viewsurface ;; hid ;; shadow ;; bodyrel ;; dda ;; helpsub ;; eushelp ;; xforeign ;; Xdecl ;; Xgraphics ;; Xcolor ;; Xeus ;; Xevent ;; Xpanel ;; Xitem ;; Xtext ;; Xmenu ;; Xscroll ;; Xcanvas ;; Xtop ;; Xapplwin 
[eusurdf] ;; pixword ;; RGBHLS ;; convolve ;; piximage ;; pbmfile ;; image_correlation ;; oglforeign ;; gldecl ;; glconst ;; glforeign ;; gluconst ;; gluforeign ;; glxconst ;; glxforeign ;; eglforeign ;; eglfunc ;; glutil ;; gltexture ;; glprim ;; gleus ;; glview ;; toiv-undefined ;; fstringdouble irtmath irtutil irtc irtgeoc irtgraph pgsql irtgeo euspqp pqp irtscene irtmodel irtdyna irtrobot irtsensor irtbvh irtcollada irtpointcloud irtx eusjpeg euspng png irtimage irtglrgb 
[eusurdf] ;; extending gcstack 0x5247d30[16374] --> 0x567d210[32748] top=3f7f 
[eusurdf] irtgl irtviewer  
[eusurdf] EusLisp 9.15( 1.0.10) for Linux64 created on host03.storm.ros.org(Mon Aug 31 14:54:36 UTC 2015) 
[eusurdf] roseus ;; loading roseus("") on euslisp((9.15 host03.storm.ros.org Mon Aug 31 14:54:36 UTC 2015  1.0.10)) 
[eusurdf] eustf roseus_c_util ;; 
[eusurdf] ;; 
[eusurdf] ;; roseus/euslisp/unittest.l is deprecated 
[eusurdf] ;; use (require :unittest "lib/llib/unittest.l") 
[eusurdf] ;; 
[eusurdf] output to /workspace/.ros/test_results/eusurdf/rosunit-convert_eus_to_urdf_test.xml 
[eusurdf] (progn (load "models/laundry-machine-object.l") (irteus2urdf-for-gazebo (laundry-machine) :name "laundry")) 
[eusurdf] (progn (load "models/room73b2-scene.l") (irteus2urdf-room-for-gazebo (room73b2))) 
[eusurdf] (generate-room-models "room73b2") 
[eusurdf] start testing [irteus2urdf-for-gazebo-test] 
[eusurdf] start converting to collada sxml 
[eusurdf] ;; Adding gazebo description 
[eusurdf] ;; Use assimp export 
[eusurdf] ;; output file is: /workspace/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/irteus2urdf_test/model.urdf 
[eusurdf] ;; mesh_prefix is: model://irteus2urdf_test/meshes 
[eusurdf] ;; Mesh output directory is: /workspace/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/irteus2urdf_test/meshes/ 
[eusurdf] ;; Input file is: /tmp/irteus2urdf_test.dae 
[eusurdf] start testing [irteus2urdf-room-for-gazebo-test] 
[eusurdf] sh: 1: uuidgen: not found 
[eusurdf] /opt/ros/hydro/share/euslisp/jskeus/eus/Linux64/bin/irteusgl unittest-error: EOF hit in (read (piped-fork "uuidgen -t")), exitting... 
[eusurdf] [ERROR] test (read (piped-fork uuidgen -t)) failed ... (EOF hit 31). 
[eusurdf] testconvert_eus_to_urdf_test ... ok 
[eusurdf] [ROSTEST]----------------------------------------------------------------------- 
[eusurdf]  
[eusurdf] [eusurdf.rosunit-convert_eus_to_urdf_test/all-test][FAILURE]-------------------- 
[eusurdf] Test:(read (piped-fork "uuidgen -t")) 
[eusurdf] Trace:31 
[eusurdf] Message:"EOF hit" 
[eusurdf] -------------------------------------------------------------------------------- 
[eusurdf]  
[eusurdf] [eusurdf.rosunit-convert_eus_to_urdf_test/irteus2urdf-for-gazebo-test][passed] 
[eusurdf] [eusurdf.rosunit-convert_eus_to_urdf_test/irteus2urdf-room-for-gazebo-test][passed] 
[eusurdf]  
[eusurdf] SUMMARY 
[eusurdf]  * RESULT: FAIL 
[eusurdf]  * TESTS: 3 
[eusurdf]  * ERRORS: 0 
[eusurdf]  * FAILURES: 1 
mmurooka commented 7 years ago

Following error occured on my PC.

murooka@murooka-ThinkPad-P50:~/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/euslisp$ roscd eusurdf/euslisp
roseus convert-eus-to-urdf.l
murooka@murooka-ThinkPad-P50:~/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/euslisp$ configuring by "/home/murooka/ros/indigo_parent/devel/share/euslisp/jskeus/eus//lib/eusrt.l"
;; readmacro ;; object ;; packsym ;; common ;; constants ;; stream ;; string ;; loader ;; pprint ;; process ;; hashtab ;; array ;; mathtran ;; eusdebug ;; eusforeign ;; coordinates ;; tty ;; history ;; toplevel ;; trans ;; comp ;; builtins ;; par ;; intersection ;; geoclasses ;; geopack ;; geobody ;; primt ;; compose ;; polygon ;; viewing ;; viewport ;; viewsurface ;; hid ;; shadow ;; bodyrel ;; dda ;; helpsub ;; eushelp ;; xforeign ;; Xdecl ;; Xgraphics ;; Xcolor ;; Xeus ;; Xevent ;; Xpanel ;; Xitem ;; Xtext ;; Xmenu ;; Xscroll ;; Xcanvas ;; Xtop ;; Xapplwin 
connected to Xserver DISPLAY=:0.0
X events are being asynchronously monitored.
;; pixword ;; RGBHLS ;; convolve ;; piximage ;; pbmfile ;; image_correlation ;; oglforeign ;; gldecl ;; glconst ;; glforeign ;; gluconst ;; gluforeign ;; glxconst ;; glxforeign ;; eglforeign ;; eglfunc ;; glutil ;; gltexture ;; glprim ;; gleus ;; glview ;; toiv-undefined ;; fstringdouble irtmath irtutil irtc irtgeoc irtgraph pgsql irtgeo euspqp pqp irtscene irtmodel irtdyna irtrobot irtsensor irtbvh irtcollada irtpointcloud irtx eusjpeg euspng png irtimage irtglrgb 
;; extending gcstack 0x64cede0[16374] --> 0x692b320[32748] top=3cc1
irtgl irtglc irtviewer 
EusLisp 9.20(f764928 1.0.13) for Linux64 created on murooka-ThinkPad-P50(Sun Oct 16 11:11:55 JST 2016)
roseus ;; loading roseus("c220b50") on euslisp((9.20 murooka-ThinkPad-P50 Sun Oct 16 11:11:55 JST 2016 f764928 1.0.13))
eustf roseus_c_util (progn (load "models/laundry-machine-object.l") (irteus2urdf-for-gazebo (laundry-machine) :name "laundry"))
(progn (load "models/room73b2-scene.l") (irteus2urdf-room-for-gazebo (room73b2)))
(generate-room-models "room73b2")
1.irteusgl$ (progn (load "models/room73b2-scene.l") (irteus2urdf-room-for-gazebo (room73b2)))
;; Could not find file models/cola-top.jpg
Color name not found Color name not found grep: nil: No such file or directory
start converting to collada sxml
;; Adding gazebo description
;; Use assimp export
;; output file is: /home/murooka/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/room73b2-73b2-ground/model.urdf
;; mesh_prefix is: model://room73b2-73b2-ground/meshes
;; Mesh output directory is: /home/murooka/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/room73b2-73b2-ground/meshes/
;; Input file is: /tmp/C3A5625A-BD61-11E6-B717-1989633D64D1/room73b2-73b2-ground.dae
sed: can't read nil: No such file or directory
grep: nil: No such file or directory
start converting to collada sxml
;; Adding gazebo description
;; Use assimp export
;; output file is: /home/murooka/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/room73b2-locker2/model.urdf
;; mesh_prefix is: model://room73b2-locker2/meshes
;; Mesh output directory is: /home/murooka/ros/ws_jsk_model_tools/src/jsk_model_tools/eusurdf/models/room73b2-locker2/meshes/
;; Input file is: /tmp/C3A5625A-BD61-11E6-B717-1989633D64D1/room73b2-locker2.dae
sed: can't read nil: No such file or directory
grep: nil: No such file or directory
start converting to collada sxml
;; Adding gazebo description
;; Use assimp export
...............
mmurooka commented 7 years ago

If I write hoge to head of eusmodel_to_urdf.l to occur error intentionally, catkin bt continues forever. Could you resolve this?

mmurooka commented 7 years ago

https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265700985 problem occurs again with this PR?

furushchev commented 7 years ago

@mmurooka about https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265782042

sed: can't read nil: No such file or directory grep: nil: No such file or directory

I think the original codes also does not work even no error output displays.

in https://github.com/jsk-ros-pkg/jsk_model_tools/blob/master/eusurdf/euslisp/convert-eus-to-urdf.l#L103, world-file-path is used, nevertheless it can be empty. Could I change from

(defun irteus2urdf-room-for-gazebo
  (room
   &key
   make-static make-fixed
   world-file-path
   eusurdf-package-path
   collada-to-urdf-exe-path
   (tmp-dir "/tmp")
   (tmp-dir-no-duplication t)
   (random-seed (integer-vector (elt (unix:localtime) 0) (elt (unix:localtime) 1)))
   )

to

(defun irteus2urdf-room-for-gazebo
  (room
   world-file-path
   &key
   make-static make-fixed
   eusurdf-package-path
   collada-to-urdf-exe-path
   (tmp-dir "/tmp")
   (tmp-dir-no-duplication t)
   (random-seed (integer-vector (elt (unix:localtime) 0) (elt (unix:localtime) 1)))
   )

?

furushchev commented 7 years ago

@mmurooka about https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265785044

If I write hoge to head of eusmodel_to_urdf.l to occur error intentionally, catkin bt continues forever. Could you resolve this?

Strange. In my PC, build fails with error if I insert (hoge) in the top of eusmodel_to_urdf.l.

$ (cd ~/ros/bremen/catkin_ws; catkin_make)
Base path: /home/furushchev/ros/bremen/catkin_ws
Source space: /home/furushchev/ros/bremen/catkin_ws/src
Build space: /home/furushchev/ros/bremen/catkin_ws/build
Devel space: /home/furushchev/ros/bremen/catkin_ws/devel
Install space: /home/furushchev/ros/bremen/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/furushchev/ros/bremen/catkin_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/furushchev/ros/bremen/catkin_ws/build"
####
[  0%] Built target eusurdf_scenes
[  0%] Built target eus_assimp
[  0%] Built target collada2eus
[  0%] Built target collada2eus_urdfmodel
[  0%] [  0%] [  0%] [  0%] [  0%] [  0%] Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room73a3-bariera-1400-middle-7/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room83b1-askul-1400-desk-2/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room73a3-askul-1600-desk-0/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/uchida-shelf-1300/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room73b2-kettle/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room602-wall4/model.urdf
configuring by "/home/furushchev/ros/indigo_parent/devel/share/euslisp/jskeus/eus//lib/eusrt.l"
;; readmacro ;; object ;; packsym ;; common ;; constants [  0%] ;; stream ;; string ;; loader ;; pprint ;; process ;; hashtab [  0%] ;; array ;; mathtran ;; eusdebug ;; eusforeign ;; coordinates ;; tty ;; history ;; toplevel ;; trans ;; comp ;; builtins ;; par ;; intersection ;; geoclasses ;; geopack ;; geobody ;; primt ;; compose ;; polygon ;; viewing ;; viewport ;; viewsurface ;; hid ;; shadow ;; bodyrel ;; dda ;; helpsub ;; eushelp ;; xforeign ;; Xdecl Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room602-tableware-shelf2/model.urdf
Generating /home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room83b1-village-chair-1/model.urdf
;; Xgraphics ;; Xcolor ;; Xeus ;; Xevent ;; Xpanel ;; Xitem ;; Xtext ;; Xmenu ;; Xscroll ;; Xcanvas ;; Xtop ;; Xapplwin 
connected to Xserver DISPLAY=:0
X events are being asynchronously monitored.
;; pixword ;; RGBHLS ;; convolve ;; piximage ;; pbmfile ;; image_correlation ;; oglforeign ;; gldecl ;; glconst ;; glforeign ;; gluconst ;; gluforeign ;; glxconst ;; glxforeign ;; eglforeign ;; eglfunc ;; glutil ;; gltexture ;; glprim ;; gleus ;; glview ;; toiv-undefined ;; fstringdouble irtmath irtutil irtc irtgeoc irtgraph pgsql irtgeo euspqp pqp irtscene irtmodel irtdyna irtrobot irtsensor irtbvh Call Stack (max depth: 20):
/home/furushchev/ros/indigo_parent/devel/share/euslisp/jskeus/eus/Linux64/bin/irteusgl: ERROR th=0 undefined function hogehoge in #<compiled-code #X595ffc0>irtcollada ;; Segmentation Fault.
;; in (hoge)
;; You are still in a signal handler.
;;Try reset or throw to upper level as soon as possible.
;; code=-1562801296 x=a2d98a40 addr=2000000000000000
signal=11 to thread 0, 
;; No, you cannot continue the previous evaluation.
irtpointcloud irtx make[2]: *** [/home/furushchev/ros/bremen/catkin_ws/src/jsk_model_tools/eusurdf/models/room73a3-askul-1600-desk-0/model.urdf] エラー 11
make[2]: *** 未完了のジョブを待っています....
Call Stack (max depth: 20):
/home/furushchev/ros/indigo_parent/devel/share/euslisp/jskeus/eus/Linux64/bin/irteusgl: ERROR th=0 undefined function hogehoge in #<compiled-code #X4db5fc0>;; Segmentation Fault.
furushchev commented 7 years ago

188 (comment) problem occurs again with this PR?

Exactly. Nice catch. I fixed the code.

mmurooka commented 7 years ago

https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265796747, yes you're right and please change so. All of https://github.com/jsk-ros-pkg/jsk_model_tools/tree/master/eusurdf#convert-eus-model-to-urdf worked. Only one problem was that I need to generate world directory manually for (generate-room-models "room73b2"). Can you fix?

mmurooka commented 7 years ago

And please remove random-seed argument if you do not use in https://github.com/jsk-ros-pkg/jsk_model_tools/tree/master/eusurdf#convert-eus-model-to-urdf https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265796747 .

furushchev commented 7 years ago

@mmurooka Updated.

furushchev commented 7 years ago

@mmurooka Also updated test code. Please could you check when you have time.

mmurooka commented 7 years ago

Cloud you update tihs: https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188/commits/e1b8cf2fc5d8c096ed7d6bd2a3482fd4ba29f2c1#diff-fd3566e2a31868b72476ad66c9e5e01dR140 . world-file-path is no longer keyword argument.

furushchev commented 7 years ago

@mmurooka Sorry. Updated.

mmurooka commented 7 years ago

I think that some problem might still be found but I can not find anything now, so this PR is OK for me now after travis passes https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265776786. ( https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#issuecomment-265798943 still remains but it's OK to me)

furushchev commented 7 years ago

@mmurooka Thank you for iterating! I still wonder why build succeeds if program exits with non-zero code in your environment...

furushchev commented 7 years ago

No this is not typo. This is utility function for like "error on exit".

2016年12月9日(金) 15:20 Masaki Murooka notifications@github.com:

@mmurooka commented on this pull request.

In eusurdf/euslisp/eusscene_to_world.l https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#pullrequestreview-12234282 :

@@ -89,7 +89,7 @@ (and (subclassp (class x) cascaded-link) (not (null (send x :links))))) (send scene :objects)))

  • (cond ((null (send model :name)) (send model :name "no-name"))
  • (cond ((null (send model :name)) (errorf "model name must not be empty: ~A" model))

errorf is typo? sorry if this is mistake comment.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jsk-ros-pkg/jsk_model_tools/pull/188#pullrequestreview-12234282, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0B0LlQJr-nbZB2cxqN0LadY5rvW3lJks5rGWOagaJpZM4LDlNw .

-- -- ⌘ Yuki Furuta

furushchev commented 7 years ago

@mmurooka Is everything ok? Any oversight?

mmurooka commented 7 years ago

Everything ok!

k-okada commented 7 years ago

Do we have to change these model files in this PR?

D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0/model.config (10)
D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0_fixed/meshes/nil_link_mesh.dae (107)
D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0_fixed/model.config (10)
D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0_fixed/model.urdf (37)
D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0_static/meshes/nil_link_mesh.dae (107)
D eusurdf/textured_models/room73b2-georgia-emerald-mountain-0_static/model.urdf (31)
R eusurdf/textured_models/room73b2-georgia-emerald-mountain/meshes/can_mapped.png (0)
R eusurdf/textured_models/room73b2-georgia-emerald-mountain/meshes/nil_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-georgia-emerald-mountain/model.config (0)
R eusurdf/textured_models/room73b2-georgia-emerald-mountain/model.urdf (6)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET2_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET3_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET4_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET5_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET6_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOM73B2-HITACHI-FIESTA-REFRIGERATOR-BODYSET7_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/ROOT_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/meshes/fridge_uv_mapped_bg_white.png (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/model.config (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator/model.urdf (30)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator_fixed/model.config (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator_fixed/model.urdf (30)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator_static/model.config (0)
R eusurdf/textured_models/room73b2-hitachi-fiesta-refrigerator_static/model.urdf (30)
R eusurdf/textured_models/room73b2-iemon/meshes/iemon_uv_mapped.png (0)
R eusurdf/textured_models/room73b2-iemon/meshes/nil_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-iemon/model.config (0)
R eusurdf/textured_models/room73b2-iemon/model.urdf (6)
R eusurdf/textured_models/room73b2-mac-burger-box/meshes/hamburger_uv_mapped.png (0)
R eusurdf/textured_models/room73b2-mac-burger-box/meshes/nil_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-mac-burger-box/model.config (0)
R eusurdf/textured_models/room73b2-mac-burger-box/model.urdf (6)
R eusurdf/textured_models/room73b2-wanda/meshes/nil_link_mesh.dae (0)
R eusurdf/textured_models/room73b2-wanda/meshes/wanda_uv_mapped.png (0)
R eusurdf/textured_models/room73b2-wanda/model.config (0)
R eusurdf/textured_models/room73b2-wanda/model.urdf (6)
furushchev commented 7 years ago

@k-okada I think yes, because I change the name convention in this pull request to support parallel model generation (e.g. room73b2-tray-0 -> room73b2-tray). We currently use the same model names in textured_models and in models on purpose to override on model loading, so we also have to change names in textured_models.

furushchev commented 7 years ago

@k-okada Thank you for merging!