Revision: 7717
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7717&view=rev
Author:   natepak
Date:     2009-05-26 13:44:38 +0000 (Tue, 26 May 2009)

Log Message:
-----------
Updates

Modified Paths:
--------------
    code/gazebo/branches/bullet/cmake/SearchForStuff.cmake
    code/gazebo/branches/bullet/server/CMakeLists.txt
    code/gazebo/branches/bullet/server/Quatern.cc
    code/gazebo/branches/bullet/server/Quatern.hh
    code/gazebo/branches/bullet/server/gui/GLWindow.cc
    code/gazebo/branches/bullet/server/physics/Body.cc
    code/gazebo/branches/bullet/server/physics/CMakeLists.txt
    code/gazebo/branches/bullet/server/physics/Geom.cc
    code/gazebo/branches/bullet/server/physics/Geom.hh
    code/gazebo/branches/bullet/server/physics/Mass.cc
    code/gazebo/branches/bullet/server/physics/Mass.hh
    code/gazebo/branches/bullet/server/physics/PhysicsFactory.cc
    code/gazebo/branches/bullet/server/physics/ode/ODESphereGeom.hh
    code/gazebo/branches/bullet/server/physics/ode/ODETrimeshGeom.hh
    code/gazebo/branches/bullet/server/rendering/OgreCreator.cc
    code/gazebo/branches/bullet/server/rendering/OgreVisual.cc
    code/gazebo/branches/bullet/worlds/test.world

Modified: code/gazebo/branches/bullet/cmake/SearchForStuff.cmake
===================================================================
--- code/gazebo/branches/bullet/cmake/SearchForStuff.cmake      2009-05-26 
08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/cmake/SearchForStuff.cmake      2009-05-26 
13:44:38 UTC (rev 7717)
@@ -340,3 +340,61 @@
 IF (libtool_library AND libtool_include_dir)
   SET (HAVE_LTDL TRUE)
 ENDIF (libtool_library AND libtool_include_dir)
+
+########################################
+# Find bullet
+FIND_PATH( bullet_include_dir btBulletDynamicsCommon.h /usr/include 
/usr/local/include ENV CPATH)
+IF (NOT bullet_include_dir)
+  MESSAGE (STATUS "Looking for btBulletDynamicsCommon.h - not found")
+  SET (bullet_include_dir /usr/include)
+ELSE (NOT bullet_include_dir)
+  MESSAGE (STATUS "Looking for btBulletDynamicsCommon.h - found")
+ENDIF (NOT bullet_include_dir)
+
+FIND_LIBRARY(bullet_dynamics_library NAMES BulletDynamics 
+             PATHS /usr/lib /usr/local/lib ENV LD_LIBRARY_PATH)
+FIND_LIBRARY(bullet_collision_library NAMES BulletCollision  
+             PATHS /usr/lib /usr/local/lib ENV LD_LIBRARY_PATH)
+FIND_LIBRARY(bullet_softbody_library NAMES BulletSoftBody  
+             PATHS /usr/lib /usr/local/lib ENV LD_LIBRARY_PATH)
+FIND_LIBRARY(bullet_math_library NAMES LinearMath
+             PATHS /usr/lib /usr/local/lib ENV LD_LIBRARY_PATH)
+
+IF (NOT bullet_dynamics_library OR 
+    NOT bullet_collision_library OR 
+    NOT bullet_softbody_library OR
+    NOT bullet_math_library)
+  MESSAGE (STATUS "Looking for bullet libraries - not found")
+ELSE (NOT bullet_dynamics_library OR 
+      NOT bullet_collision_library OR 
+      NOT bullet_softbody_library OR
+      NOT bullet_math_library)
+  MESSAGE (STATUS "Looking for bullet libraries - found")
+ENDIF (NOT bullet_dynamics_library OR 
+      NOT bullet_collision_library OR 
+      NOT bullet_softbody_library OR
+      NOT bullet_math_library)
+
+SET (BULLET_LIBRARIES ${bullet_dynamics_library} 
+                      ${bullet_collision_library} 
+                      ${bullet_softbody_library} 
+                      ${bullet_math_library} 
+                      CACHE INTERNAL "bullet libraries")
+
+IF (bullet_dynamics_library AND 
+    bullet_collision_library AND 
+    bullet_softbody_library  AND 
+    bullet_math_library AND
+    bullet_include_dir)
+  SET (INCLUDE_BULLET TRUE CACHE BOOL "Include support for Bullet")
+ELSE (bullet_dynamics_library AND 
+      bullet_collision_library AND 
+      bullet_softbody_library  AND 
+      bullet_math_library AND
+      bullet_include_dir)
+  MESSAGE (STATUS "Warning: Unable to find bullet. The bullet physics engine 
will not be supported.")
+ENDIF (bullet_dynamics_library AND 
+       bullet_collision_library AND 
+       bullet_softbody_library  AND 
+       bullet_math_library AND
+       bullet_include_dir)

Modified: code/gazebo/branches/bullet/server/CMakeLists.txt
===================================================================
--- code/gazebo/branches/bullet/server/CMakeLists.txt   2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/CMakeLists.txt   2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -9,6 +9,7 @@
   gui 
   physics 
   physics/ode
+  physics/bullet
   audio_video
   controllers 
   rendering 
@@ -115,6 +116,7 @@
                                    gazebo_av
                                    gazebo_gui
                                    gazebo_physics_ode
+                                   gazebo_physics_bullet
                                    gazebo 
 
 )

Modified: code/gazebo/branches/bullet/server/Quatern.cc
===================================================================
--- code/gazebo/branches/bullet/server/Quatern.cc       2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/Quatern.cc       2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -60,6 +60,17 @@
 }
 
 
////////////////////////////////////////////////////////////////////////////////
+/// Set the quatern
+void Quatern::Set(double _x, double _y, double _z, double _u)
+{
+  this->x = _x;
+  this->y = _y;
+  this->z = _z;
+  this->u = _u;
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
 // Equal operator
 const Quatern &Quatern::operator=(const Quatern &qt)
 {

Modified: code/gazebo/branches/bullet/server/Quatern.hh
===================================================================
--- code/gazebo/branches/bullet/server/Quatern.hh       2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/Quatern.hh       2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -61,6 +61,9 @@
   /// \brief Destructor
   public: ~Quatern();
 
+  /// \brief Set the quatern
+  public: void Set(double x, double y, double z, double u);
+
   /// \brief Equal operator
   /// \param qt Quatern to copy
   public: const Quatern &operator=(const Quatern &qt);

Modified: code/gazebo/branches/bullet/server/gui/GLWindow.cc
===================================================================
--- code/gazebo/branches/bullet/server/gui/GLWindow.cc  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/gui/GLWindow.cc  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -228,7 +228,6 @@
 
     if (currModel == model)
     {
-      printf("Same\n");
       Simulator::Instance()->SetSelectedEntity(NULL);
       return;
     }

Modified: code/gazebo/branches/bullet/server/physics/Body.cc
===================================================================
--- code/gazebo/branches/bullet/server/physics/Body.cc  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/physics/Body.cc  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -197,9 +197,9 @@
   }
 
   // If no geoms are attached, then don't let gravity affect the body.
-  if (this->geoms.size()==0 || this->turnGravityOffP->GetValue())
+  if (this->geoms.size()==0 || (**this->turnGravityOffP) == true)
   {
-    //std::cout << "setting gravity to zero for: " << this->nameP->GetValue() 
<< std::endl;
+    std::cout << "setting gravity to zero for: " << this->nameP->GetValue() << 
std::endl;
     this->SetGravityMode(false);
   }
 
@@ -453,6 +453,9 @@
       newPose += this->staticPose;
       iter->second->SetPose(newPose);
     }
+
+    this->SetPosition(this->pose.pos);
+    this->SetRotation(this->pose.rot);
   }
   else
   {
@@ -492,8 +495,9 @@
   Geom *geom;
 
   geom = this->physicsEngine->CreateGeom(node->GetName(), this);
+  geom->Load(node);
 
-  geom->Load(node);
+  this->geoms[geom->GetName()] = geom;
 }
 
 
////////////////////////////////////////////////////////////////////////////////
@@ -609,3 +613,12 @@
 {
   return this->sensors;
 }
+
+////////////////////////////////////////////////////////////////////////////////
+/// Get the mass of the body
+const Mass *Body::GetMass() const
+{
+  return this->mass;
+}
+
+

Modified: code/gazebo/branches/bullet/server/physics/CMakeLists.txt
===================================================================
--- code/gazebo/branches/bullet/server/physics/CMakeLists.txt   2009-05-26 
08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/physics/CMakeLists.txt   2009-05-26 
13:44:38 UTC (rev 7717)
@@ -2,6 +2,10 @@
 
 ADD_SUBDIRECTORY(ode)
 
+IF (INCLUDE_BULLET)
+  ADD_SUBDIRECTORY(bullet)
+ENDIF (INCLUDE_BULLET)
+
 SET (sources Joint.cc 
              Body.cc
              Geom.cc

Modified: code/gazebo/branches/bullet/server/physics/Geom.cc
===================================================================
--- code/gazebo/branches/bullet/server/physics/Geom.cc  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/physics/Geom.cc  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -62,7 +62,7 @@
   this->transparency = 0;
 
   Param::Begin(&this->parameters);
-  this->massP = new ParamT<double>("mass",0.001,0);
+  this->massP = new ParamT<double>("mass",0.0,0);
   this->massP->Callback( &Geom::SetMass, this);
 
   this->xyzP = new ParamT<Vector3>("xyz", Vector3(), 0);
@@ -117,11 +117,7 @@
   this->laserFiducialIdP->Load(node);
   this->laserRetroP->Load(node);
 
-  if (this->massP->GetValue() <= 0)
-  {
-    this->massP->SetValue( 0.001 );
-  }
-
+  this->mass->SetMass(**this->massP);
   this->contact->Load(node);
 
   this->body->AttachGeom(this);
@@ -242,6 +238,13 @@
 }
 
 
////////////////////////////////////////////////////////////////////////////////
+/// Get the mass
+Mass *Geom::GetMass() const
+{
+  return this->mass;
+}
+
+////////////////////////////////////////////////////////////////////////////////
 /// Set the laser fiducial integer id
 void Geom::SetLaserFiducialId(int id)
 {

Modified: code/gazebo/branches/bullet/server/physics/Geom.hh
===================================================================
--- code/gazebo/branches/bullet/server/physics/Geom.hh  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/physics/Geom.hh  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -97,6 +97,9 @@
     /// \brief Get the mass of the geom
     public: virtual Mass GetBodyMassMatrix() = 0;
 
+    /// \brief Get the mass
+    public: Mass *GetMass() const;
+
     /// \brief Set the mass
     public: virtual void SetMass(const Mass &mass) = 0;
 

Modified: code/gazebo/branches/bullet/server/physics/Mass.cc
===================================================================
--- code/gazebo/branches/bullet/server/physics/Mass.cc  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/physics/Mass.cc  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -121,3 +121,43 @@
   this->principals = mass.principals;
   this->products = mass.products;
 }
+
+Mass Mass::operator+(const Mass &_mass ) const
+{
+  Mass result;
+  result.mass = this->mass + _mass.mass;
+  result.cog = this->cog + _mass.cog;
+  result.principals = this->principals + _mass.principals;
+  result.products = this->products + _mass.products;
+  return result;
+}
+
+const Mass &Mass::operator+=(const Mass &_mass )
+{
+  this->mass += _mass.mass;
+  this->cog += _mass.cog;
+  this->principals += _mass.principals;
+  this->products += _mass.products;
+
+  return *this;
+}
+
+Mass Mass::operator-(const Mass &_mass ) const
+{
+  Mass result;
+  result.mass = this->mass - _mass.mass;
+  result.cog = this->cog - _mass.cog;
+  result.principals = this->principals - _mass.principals;
+  result.products = this->products - _mass.products;
+  return result;
+}
+
+const Mass &Mass::operator-=(const Mass &_mass )
+{
+  this->mass -= _mass.mass;
+  this->cog -= _mass.cog;
+  this->principals -= _mass.principals;
+  this->products -= _mass.products;
+
+  return *this;
+}

Modified: code/gazebo/branches/bullet/server/physics/Mass.hh
===================================================================
--- code/gazebo/branches/bullet/server/physics/Mass.hh  2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/server/physics/Mass.hh  2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -72,6 +72,12 @@
     /// \brief Equal operator
     public: void operator=(const Mass &mass);
 
+    public: Mass operator+(const Mass &_mass ) const;
+    public: const Mass &operator+=(const Mass &_mass );
+
+    public: Mass operator-(const Mass &_mass ) const;
+    public: const Mass &operator-=(const Mass &_mass );
+
     private: double mass;
     private: Vector3 cog;
     private: Vector3 principals;

Modified: code/gazebo/branches/bullet/server/physics/PhysicsFactory.cc
===================================================================
--- code/gazebo/branches/bullet/server/physics/PhysicsFactory.cc        
2009-05-26 08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/physics/PhysicsFactory.cc        
2009-05-26 13:44:38 UTC (rev 7717)
@@ -31,6 +31,7 @@
 #include "PhysicsFactory.hh"
 
 void RegisterODEPhysics();
+void RegisterBulletPhysics();
 
 using namespace gazebo;
 
@@ -41,6 +42,7 @@
 void PhysicsFactory::RegisterAll()
 {
   RegisterODEPhysics();
+  RegisterBulletPhysics();
 }
 
 
////////////////////////////////////////////////////////////////////////////////

Modified: code/gazebo/branches/bullet/server/physics/ode/ODESphereGeom.hh
===================================================================
--- code/gazebo/branches/bullet/server/physics/ode/ODESphereGeom.hh     
2009-05-26 08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/physics/ode/ODESphereGeom.hh     
2009-05-26 13:44:38 UTC (rev 7717)
@@ -24,8 +24,8 @@
  * CVS: $Id: ODESphereGeom.hh 7039 2008-09-24 18:06:29Z natepak $
  */
 
-#ifndef SPHEREGEOM_HH
-#define SPHEREGEOM_HH
+#ifndef ODESPHEREGEOM_HH
+#define ODESPHEREGEOM_HH
 
 #include "Param.hh"
 #include "ODEGeom.hh"

Modified: code/gazebo/branches/bullet/server/physics/ode/ODETrimeshGeom.hh
===================================================================
--- code/gazebo/branches/bullet/server/physics/ode/ODETrimeshGeom.hh    
2009-05-26 08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/physics/ode/ODETrimeshGeom.hh    
2009-05-26 13:44:38 UTC (rev 7717)
@@ -24,8 +24,8 @@
  * CVS: $Id: ODETrimeshGeom.hh 7039 2008-09-24 18:06:29Z natepak $
  */
 
-#ifndef TRIMESHGEOM_HH
-#define TRIMESHGEOM_HH
+#ifndef ODETRIMESHGEOM_HH
+#define ODETRIMESHGEOM_HH
 
 #include "ODEGeom.hh"
 

Modified: code/gazebo/branches/bullet/server/rendering/OgreCreator.cc
===================================================================
--- code/gazebo/branches/bullet/server/rendering/OgreCreator.cc 2009-05-26 
08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/rendering/OgreCreator.cc 2009-05-26 
13:44:38 UTC (rev 7717)
@@ -749,7 +749,6 @@
 
   {
     boost::recursive_mutex::scoped_lock 
lock(*Simulator::Instance()->GetMutex());
-
     // Update the visuals
     for (viter = this->visuals.begin(); viter != this->visuals.end(); viter++)
     {

Modified: code/gazebo/branches/bullet/server/rendering/OgreVisual.cc
===================================================================
--- code/gazebo/branches/bullet/server/rendering/OgreVisual.cc  2009-05-26 
08:01:44 UTC (rev 7716)
+++ code/gazebo/branches/bullet/server/rendering/OgreVisual.cc  2009-05-26 
13:44:38 UTC (rev 7717)
@@ -170,7 +170,6 @@
       }
     }
 
-    std::cout << "Creating Mesh[" << meshName << "]\n";
     obj = (Ogre::MovableObject*)this->sceneNode->getCreator()->createEntity(
             stream.str(), meshName);
   }

Modified: code/gazebo/branches/bullet/worlds/test.world
===================================================================
--- code/gazebo/branches/bullet/worlds/test.world       2009-05-26 08:01:44 UTC 
(rev 7716)
+++ code/gazebo/branches/bullet/worlds/test.world       2009-05-26 13:44:38 UTC 
(rev 7717)
@@ -1,155 +1,148 @@
 <?xml version="1.0"?>
 
 <gazebo:world 
-  xmlns:xi="http://www.w3.org/2001/XInclude";
   xmlns:gazebo="http://playerstage.sourceforge.net/gazebo/xmlschema/#gz"; 
   xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/#model"; 
   xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"; 
-  xmlns:window="http://playerstage.sourceforge.net/gazebo/xmlschema/#window"; 
-  xmlns:param="http://playerstage.sourceforge.net/gazebo/xmlschema/#param"; 
   xmlns:body="http://playerstage.sourceforge.net/gazebo/xmlschema/#body"; 
   xmlns:geom="http://playerstage.sourceforge.net/gazebo/xmlschema/#geom"; 
   xmlns:joint="http://playerstage.sourceforge.net/gazebo/xmlschema/#joint"; 
   
xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface";
 
-  xmlns:ui="http://playerstage.sourceforge.net/gazebo/xmlschema/#ui";
   
xmlns:rendering="http://playerstage.sourceforge.net/gazebo/xmlschema/#rendering";
 
   
xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller";
   xmlns:physics="http://playerstage.sourceforge.net/gazebo/xmlschema/#physics"; 
>
 
   <verbosity>5</verbosity>
 
-  <physics:ode>
-    <stepTime>0.03</stepTime>
+  <physics:bullet>
+    <stepTime>0.001</stepTime>
     <gravity>0 0 -9.8</gravity>
-    <cfm>10e-5</cfm>
-    <erp>0.8</erp>
-    <maxUpdateRate>0</maxUpdateRate>
-  </physics:ode>
+  </physics:bullet>
 
   <rendering:gui>
+    <type>fltk</type>
     <size>800 600</size>
-    <pos>100 100</pos>
-    <frames>
-      <row height="50%">
-        <camera width="50%">
-          <xyz>-1 0 4</xyz>
-          <rpy>0 34 0</rpy>
-        </camera>
-        <camera width="50%">
-          <xyz>0 0 10</xyz>
-          <rpy>0 90 0</rpy>
-        </camera>
-      </row>
-      <row height="50%">
-        <camera width="50%">
-          <xyz>0 0 0</xyz>
-          <rpy>0 0 0</rpy>
-        </camera>
-        <camera width="50%">
-          <xyz>10 0 1</xyz>
-          <rpy>0 0 90</rpy>
-        </camera>
-      </row>
-    </frames>
+    <pos>0 0</pos>
   </rendering:gui>
 
   <rendering:ogre>
-    <ambient>0.5 0.5 0.5 1.0</ambient>
+    <ambient>0.0 0.0 0.0 1.0</ambient>
     <sky>
       <material>Gazebo/CloudySky</material>
     </sky>
-
-    <fog>
-      <color>1.0 1.0 1.0</color>
-      <linearStart>10</linearStart>
-      <linearEnd>100</linearEnd>
-    </fog>
+    <shadowTechnique>stencilAdditive</shadowTechnique>
+    <grid>true</grid>
   </rendering:ogre>
 
-  <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>2000 2000</size>
-        <segments>10 10</segments>
-        <uvTile>100 100</uvTile>
-        <material>Gazebo/Grey</material>
-      </geom:plane>
-    </body:plane>
-  </model:physical>
-
   <model:physical name="sphere1_model">
-    <xyz>2.15 -1.68 .7</xyz>
+    <xyz>1 0 1.5</xyz>
     <rpy>0.0 0.0 0.0</rpy>
     <static>false</static>
 
     <body:sphere name="sphere1_body">
       <geom:sphere name="sphere1_geom">
-        <size>0.1</size>
+        <size>0.2</size>
+        <mass>.1</mass>
 
+        <mu1>109999.0</mu1>
+
         <visual>
-          <scale>0.1 0.1 0.1</scale>
+          <size>0.4 0.4 0.4</size>
           <mesh>unit_sphere</mesh>
           <material>Gazebo/Rocky</material>
         </visual>
       </geom:sphere>
+
+      <geom:sphere name="sphere2_geom">
+        <xyz>0.5 0 0.5</xyz>
+        <size>0.1</size>
+        <mass>1</mass>
+        <mu1>109999.0</mu1>
+        <visual>
+          <size>0.2 0.2 0.2</size>
+          <mesh>unit_sphere</mesh>
+          <material>Gazebo/Rocky</material>
+        </visual>
+      </geom:sphere>
+
     </body:sphere>
   </model:physical>
 
-  <!-- 
-  Include the complete model described in the .model file
-  This assumes the root node is a <model:...>
-  -->
-  <!--  <include embedded="false">
-    <xi:include href="pioneer2dx.model" />
-  </include>
-  -->
+  <!--<model:physical name="box1_model">
+    <xyz>1 1 0.8</xyz>
+    <rpy>0.0 0.0 0.0</rpy>
+    <enableGravity>false</enableGravity>
+    <static>false</static>
 
-  <model:physical name="pioneer2dx_model1">
-    <xyz>0 0 0.145</xyz>
+    <body:box name="box1_body">
+      <geom:box name="box1_geom">
+        <size>0.2 0.2 0.2</size>
+        <mass>1</mass>
+
+        <mu1>109999.0</mu1>
+
+        <visual>
+          <size>0.4 0.4 0.4</size>
+          <mesh>unit_box</mesh>
+          <material>Gazebo/Rocky</material>
+        </visual>
+      </geom:box>
+    </body:box>
+  </model:physical>
+
+  <model:physical name="cylinder1_model">
+    <xyz>1 -1 0.5</xyz>
     <rpy>0.0 0.0 0.0</rpy>
+    <static>false</static>
 
-    <controller:differential_position2d name="controller1">
-      <leftJoint>left_wheel_hinge</leftJoint>
-      <rightJoint>right_wheel_hinge</rightJoint>
-      <wheelSeparation>0.39</wheelSeparation>
-      <wheelDiameter>0.15</wheelDiameter>
-      <torque>5</torque>
-      <interface:position name="position_iface_0"/>
-    </controller:differential_position2d>
+    <body:cylinder name="cylinder1_body">
+      <geom:cylinder name="cylinder1_geom">
+        <size>0.2 0.2</size>
+        <mass>1</mass>
 
-    <model:physical name="laser">
-      <xyz>0.15 0 0.18</xyz>
+        <mu1>109999.0</mu1>
 
-      <attach>
-        <parentBody>chassis_body</parentBody>
-        <myBody>laser_body</myBody>
-      </attach>
+        <visual>
+          <size>0.4 0.4 0.4</size>
+          <mesh>unit_cylinder</mesh>
+          <material>Gazebo/Rocky</material>
+        </visual>
+      </geom:cylinder>
+    </body:cylinder>
+  </model:physical>
+  -->
 
-      <include embedded="true">
-        <xi:include href="models/sicklms200.model" />
-      </include>
-    </model:physical>
 
-    <include embedded="true">
-      <xi:include href="models/pioneer2dx.model" />
-    </include>
+   <!-- Ground Plane -->
+   <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>100 100</size>
+        <segments>10 10</segments>
+        <uvTile>100 100</uvTile>
+        <material>Gazebo/Rockwall</material>
+        <mu1>109999.0</mu1>
+        <mu2>1000.0</mu2>
+      </geom:plane>
+    </body:plane>
   </model:physical>
 
-  <!-- White Directional light -->
-  <model:renderable name="directional_white">
+  <!-- White Point light -->
+  <model:renderable name="point_white">
+    <xyz>0 0 5</xyz>
     <enableGravity>false</enableGravity>
+
     <light>
-      <type>directional</type>
-      <direction>0 -0.6 -0.4</direction>
-      <diffuseColor>1.0 1.0 1.0</diffuseColor>
-      <specularColor>0.2 0.2 0.2</specularColor>
-      <attenuation>1000 1.0 0.0 0</attenuation>
+      <type>point</type>
+      <diffuseColor>0.9 0.9 0.9</diffuseColor>
+      <specularColor>0.1 0.1 0.1</specularColor>
+      <attenuation>20 0.8 0.1 0.0</attenuation>
     </light>
   </model:renderable>
-
+ 
 </gazebo:world>


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to