Closed YoheiKakiuchi closed 9 years ago
64ビットでも起きる問題でしょうか・
64ビットでは起こっていないと思います。(報告を見逃しているだけ???)
indigo(64bit)で同じことが起こっています.
iory@crab ~/workspace/test/test/build/hrpsys_ros_bridge_tutorials make jaxon_red_hrpsys_ros_bridge_tutorials_compile_dae
Generating /home/iory/workspace/test/test/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/JAXON_RED.dae
Humanoid node
Joint node WAIST
Segment node BODY
AccelerationSensorgsensor
Gyrogyrometer
Joint node CHEST_JOINT0
Segment node CHEST_LINK0
Joint node CHEST_JOINT1
Segment node CHEST_LINK1
Joint node CHEST_JOINT2
Segment node CHEST_LINK2
Joint node HEAD_JOINT0
Segment node HEAD_LINK0
Joint node HEAD_JOINT1
Segment node HEAD_LINK1
VisionSensorHEAD_LEFT_CAMERA
Joint node LARM_JOINT0
Segment node LARM_LINK0
Joint node LARM_JOINT1
Segment node LARM_LINK1
Joint node LARM_JOINT2
Segment node LARM_LINK2
Joint node LARM_JOINT3
Segment node LARM_LINK3
Joint node LARM_JOINT4
Segment node LARM_LINK4
Joint node LARM_JOINT5
Segment node LARM_LINK5
Joint node LARM_JOINT6
Segment node LARM_LINK6
Joint node LARM_JOINT7
Segment node LARM_LINK7
ForceSensorlhsensor
Joint node RARM_JOINT0
Segment node RARM_LINK0
Joint node RARM_JOINT1
Segment node RARM_LINK1
Joint node RARM_JOINT2
Segment node RARM_LINK2
Joint node RARM_JOINT3
Segment node RARM_LINK3
Joint node RARM_JOINT4
Segment node RARM_LINK4
Joint node RARM_JOINT5
Segment node RARM_LINK5
Joint node RARM_JOINT6
Segment node RARM_LINK6
Joint node RARM_JOINT7
Segment node RARM_LINK7
ForceSensorrhsensor
Joint node LLEG_JOINT0
Segment node LLEG_LINK0
Joint node LLEG_JOINT1
Segment node LLEG_LINK1
Joint node LLEG_JOINT2
Segment node LLEG_LINK2
Joint node LLEG_JOINT3
Segment node LLEG_LINK3
Joint node LLEG_JOINT4
Segment node LLEG_LINK4
Joint node LLEG_JOINT5
Segment node LLEG_LINK5
ForceSensorlfsensor
Joint node RLEG_JOINT0
Segment node RLEG_LINK0
Joint node RLEG_JOINT1
Segment node RLEG_LINK1
Joint node RLEG_JOINT2
Segment node RLEG_LINK2
Joint node RLEG_JOINT3
Segment node RLEG_LINK3
Joint node RLEG_JOINT4
Segment node RLEG_LINK4
Joint node RLEG_JOINT5
Segment node RLEG_LINK5
ForceSensorrfsensor
Collada Info: init COLLADA writer version: 1.5.0, namespace: http://www.collada.org/2008/03/COLLADASchema
Collada Info: joint type free not supported
make[3]: *** [/home/iory/workspace/test/test/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/JAXON_RED.dae] Killed
make[2]: *** [CMakeFiles/jaxon_red_hrpsys_ros_bridge_tutorials_compile_dae.dir/all] Error 2
make[1]: *** [CMakeFiles/jaxon_red_hrpsys_ros_bridge_tutorials_compile_dae.dir/rule] Error 2
make: *** [jaxon_red_hrpsys_ros_bridge_tutorials_compile_dae] Error 2
aptから入れたopenhrp3ではうまくいかないで, sourceで入れたopenhrp3ではうまくいっている状況です.
315.9.0がリリースされたので解決しました.
デバッグモードでコンパイルすると
openhrp-export-collada: /usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h:86: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
といったアサーションが出ますね。関係あるかも。
https://github.com/fkanehiro/openhrp3/commit/b6b03af8c9d122f891d94387a5cbb8c8f00f9ef6 で修正しました。travisは通っているようだけど、クラスの構造が若干変わってしまって大丈夫だったかな。
実際の原因はよく分かっていないのですが、32bitOSでshapeが多いときにcolladaの書き出し時にsegfaultします。 shapeへのアクセスを減らす(ループで毎回shapeにアクセスしていたのを、ループの外でアクセス1回にした)ととりあえずの解決になります。