Error of gazebo_ros when switching physical engine

asked 2017-11-21 11:07:17 -0600

NT gravatar image

updated 2017-11-21 19:28:23 -0600

Hello,

I want to change the physical engine in Gazebo and simulate ROS.
For that, I installed Gazebo from the source code.
As a result, I was confirmed that switches to multiple physical engines (eg. ode bullet simbody dart) with the following options.

rosrun gazebo_ros --verbose -e dart

However, when my urdf model is loaded, the physical engine other than ode displays the following error. And the robot model is broken and can not be controlled. (Since errors repeat the same comment, I will post some.)

In case of DART :

[Wrn] [msgs.cc:1808] Conversion of sensor type[depth] not suppported.
[Err] [DARTJoint.cc:450] Unable to handle joint attribute[fmax]
[Err] [DARTJoint.cc:450] Unable to handle joint attribute[vel]

In case of Bullet :

[Err] [BulletHingeJoint.cc:407] Joint must be created before setting friction
[Err] [BulletHingeJoint.cc:312] bulletHinge not yet created.
[Err] [BulletJoint.cc:387] Bullet Joint [joint0] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint1] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint2] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint3] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint4] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint5] ID is invalid
[Err] [BulletJoint.cc:387] Bullet Joint [joint6] ID is invalid
[Err] [BulletSliderJoint.cc:452] Joint must be created before getting friction
[Err] [BulletHingeJoint.cc:358] Joint must be created before getting low stop
[Err] [BulletHingeJoint.cc:346] Joint must be created before getting high stop
[Err] [BulletHingeJoint.cc:312] bulletHinge not yet created.
[Dbg] [BulletJoint.cc:565] Not implement in Bullet

In case of Simbody :

[Err] [SimbodyJoint.cc:477] Not implement in Simbody
[Err] [SimbodyMesh.cc:52] SimbodyMesh is not supported
[Err] [SimbodyPhysics.cc:1529] Collision type [33619968] unimplemented
[Err] [SimbodyJoint.cc:384] SimbodyJoint::SetAnchor: Not implement in Simbody. Anchor is set during joint construction in SimbodyPhysics.cc
[Dbg] [SimbodyHingeJoint.cc:55] SetAxis: setting axis is not yet implemented. The axis are set during joint construction in SimbodyPhysics.cc for now.
[Err] [Joint.cc:549] GetParam unrecognized parameter [friction]
[Wrn] [msgs.cc:1808] Conversion of sensor type[depth] not suppported.
[Dbg] [SimbodySliderJoint.cc:176] Simbody::GetAngleImpl() simbody not yet initialized, initial angle should be zero until <initial_angle> is implemented.
[Dbg] [SimbodyHingeJoint.cc:178] GetAngleImpl() simbody not yet initialized, initial angle should be zero until <initial_angle> is implemented.
[Err] [SimbodyPhysics.cc:326] EXCEPTION: Simbody build EXCEPTION: SimTK Exception thrown at MassProperties.h:552: Error detected by Simbody method Inertia::setInertia(xx,yy,zz,xy,xz,yz): Diagonals of an Inertia matrix must satisfy the triangle inequality; got 0.001,0.001,0.013. (Required condition 'Ixx+Iyy+Slop>=Izz && Ixx+Izz+Slop>=Iyy && Iyy+Izz+Slop>=Ixx' was not met.)
[Err] [World.cc:2035] Loading model from factory message failed gzserver: /build/simbody-bKYBkX/simbody-3.5.3+dfsg/Simbody/src/MultibodySystemRep.h:114: const SimTK::ForceCacheEntry& SimTK::MultibodySystemGlobalSubsystemRep::getForceCacheEntry(const SimTK::State&, SimTK::Stage) const: Assertion `subsystemTopologyHasBeenRealized()' failed.

I do not understand the meaning of this error.
Do ... (more)

edit retag flag offensive close merge delete

Comments

Can you post your .urdf model (or a simplified version of it) as part of your answer?

josephcoombe gravatar imagejosephcoombe ( 2017-11-21 13:25:49 -0600 )edit

I published the source code. <https://github.com/natsuho-tokunaga/rls_robot_description> /robot/modular_home_robot.xacro is the target robot model. The simulation is run by gazebo_sim.launch.

NT gravatar imageNT ( 2017-11-21 18:58:28 -0600 )edit