Translating heighmap creates offset between collision and visual
When using the
This portion of the world file looks as follows. There appears to have been a similar issue that was resolved a few years ago (http://answers.gazebosim.org/question/4555/setting-position-on-heightmap-creates-offset-between-collision-and-visual/, https://bitbucket.org/osrf/gazebo/commits/807c528), but I still seem to be exhibiting the problem.
Any ideas? I am on Gazebo 7.5, installed from binaries.
<model name="heightmap">
<static>true</static>
<link name="height">
<collision name="collision">
<geometry>
<heightmap>
<uri>file://media/heightmaps/terrain.png</uri>
<size> 540 540 60 </size>
<pos> -55 -72 0 </pos>
</heightmap>
</geometry>
<surface>
<friction>
<ode>
<mu>100000</mu>
<mu2>500000</mu2>
</ode>
</friction>
<bounce/>
<contact>
<ode/>
</contact>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name="visual_abcedf">
<geometry>
<heightmap>
<use_terrain_paging>false</use_terrain_paging>
<texture>
<diffuse>file://media/heightmaps/terrain_tex.png</diffuse>
<normal>file://media/materials/textures/flat_normal.png</normal>
<size> 540 </size>
</texture>
<uri>file://media/heightmaps/terrain.png</uri>
<size> 540 540 60 </size>
<pos> -55 -72 0 </pos>
</heightmap>
</geometry>
</visual>
</link>
</model>
Asked by bybee.taylor on 2017-03-06 15:14:01 UTC
Answers
Assuming that you use default physics engine (ODE), one possible way to solve this problem is, write a model plugin for your heightmap terrain, extract its collision pointer (type casted to ODECollision type) and use ODE function dGeomSetPosition( ODECollisionPtr->ODECollisionId(), x, y, z). The offset you see is because, translation happens in rendering component (in x, y, z) but not in physics component (happens only in z) ( check gazebo-7/gazebo-9 source code ODEHeightmapShape.cc ).
This worked for me!!!
check the below link for proper syntax: ODE API Docs
Asked by Rakesh on 2021-01-11 11:08:56 UTC
Comments
I am wondering if what you're experiencing is related to this issue: https://bitbucket.org/osrf/gazebo/issues/245/heightmap-visual-is-offset-from-collision
Asked by iche033 on 2017-03-06 16:48:09 UTC