Hi guys,
I'm having problems with robot/terrain collisions in Gazebo. My Pioneer goes
into the terrain where it should collide. What am I doing wrong?
This is my world:
<verbosity>5</verbosity>
<physics:ode>
<stepTime>0.03</stepTime>
<gravity>0 0 -9.8</gravity>
<cfm>10e-5</cfm>
<erp>0.3</erp>
<updateRate>2</updateRate>
</physics:ode>
<rendering:gui>
<type>fltk</type>
<size>800 600</size>
<updateRate>20</updateRate>
<pos>0 0</pos>
<frames>
<row height="100%">
<camera width="100%">
<xyz>2.5 2.8 1.7</xyz>
<rpy>0 35 -146</rpy>
</camera>
</row>
</frames>
</rendering:gui>
<rendering:ogre>
<ambient>0.5 0.5 0.5 1.0</ambient>
<sky>
<material>Gazebo/CloudySky</material>
</sky>
</rendering:ogre>
<model:physical name="terrain">
<body:heightmap name="terrain">
<geom:heightmap name="terrain">
<image>terrain.png</image>
<worldTexture>terrain_texture.jpg</worldTexture>
<size>2 2 0.5</size>
</geom:heightmap>
</body:heightmap>
</model:physical>
<model:physical name="plane1_model">
<xyz>0 0 0</xyz>
<rpy>0 0 0</rpy>
<static>true</static>
<body:plane name="plane1_body">
<geom:plane name="plane1_geom">
<normal>0 0 1</normal>
<size>50 50</size>
<material>Gazebo/floor_texture</material>
</geom:plane>
</body:plane>
</model:physical>
<model:physical name="pioneer2dx_model1">
<!--xyz>0 0 0.145</xyz-->
<xyz>0.6 2 0.5</xyz>
<rpy>0 0 -93</rpy>
<controller:differential_position2d name="controller1">
<leftJoint>left_wheel_hinge</leftJoint>
<rightJoint>right_wheel_hinge</rightJoint>
<wheelSeparation>0.34</wheelSeparation>
<wheelDiameter>0.15</wheelDiameter>
<torque>5</torque>
<interface:position name="position_iface_0"/>
</controller:differential_position2d>
<model:physical name="sonyvid30_model">
<xyz>0.15 0 0.09</xyz>
<attach>
<parentBody>chassis_body</parentBody>
<myBody>sonyvid30_body</myBody>
</attach>
<include embedded="true">
<xi:include href="models/sonyvid30.model" />
</include>
</model:physical>
<!--
The include should be last within a model. All previous statements
will override those in the included file
-->
<include embedded="true">
<xi:include href="models/pioneer2dx.model" />
</include>
</model:physical>
<!-- White Directional light -->
<model:renderable name="directional_white">
<xyz>2.0 0 2.0</xyz>
<enableGravity>false</enableGravity>
<light>
<type>spot</type>
<range>1000 1000 100</range>
<direction>-0.1 0 -0.9</direction>
<diffuseColor>0.8 0.8 0.8</diffuseColor>
<specularColor>0.1 0.1 0.1</specularColor>
<attenuation>10 1.0 0.0 0</attenuation>
</light>
</model:renderable>
</gazebo:world>
This is my sample program:
#include <libplayerc++/playerc++.h>
#include "args.h"
#include <iostream>
int main(int argc, char** argv)
{
parse_args(argc, argv);
try
{
PlayerCc::PlayerClient client(gHostname, gPort);
PlayerCc::Position2dProxy pos(&client, gIndex);
pos.SetMotorEnable(1);
pos.SetSpeed(0.001, 0, 0);
while (1);
}
catch (PlayerCc::PlayerError e)
{
std::cerr << e << std::endl;
return -1;
}
return 1;
}
Thanks in advance!
--
View this message in context:
http://www.nabble.com/robot-terrain-collisions-tp23193439p23193439.html
Sent from the playerstage-gazebo mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo