Brad,

This is based on a quick look at the source but with a few quick  
changes you could make a version that would do what you want. It  
sounds like you want to completely drop the dynamics engine support.

In server/World.cc, take a look at the Step function. Basically this  
is what is happening in this loop (which is the updating loop in the  
simulator):

- Check to see what the models need to do on the update
- Check to see if there are collisions
- Compute the dynamic responses
- Update the models based on these dynamic responses

So you'll want to do the first one only, since collision detection is  
only relevant for the dynamics update (unless you want to hijack this  
with your own stuff). So comment out everything except for:

for (i = 0; i < this->modelCount; i++)
     {
       model = this->models[i];
       model->MasterUpdate( this->stepTime );
     }

Now you have a problem though because this update works on the wheel  
level for most models, so you would normally rotate the wheels, there  
would be collisions, the dynamic update would cause the model to move  
forward, then the forward movement is synchronized with the world  
state. So you'll need to figure out a way to move the robot and not  
care about what the wheels are doing. The fastest way to do this is  
to use the Truth interface. Take a look at server/Models/TruthWidget/ 
TruthWidget.cc, namely the IfaceGetCmd function. You'll want to use  
this, but the update only occurs if it enters the if logic, so you'll  
need to set the cmd_new flag. Once you set this it calls world- 
 >SetModelPose. A look at this function suggests that it uses  
relative coords. which may not be ideal. You could probably comment  
this line out and set the model pose directly (model->SetPose), but  
remember to recurse over the children (SetModelPose). You could also  
write your own model that provides a position or fiducial interface  
if you feel it's a more natural fit and just let the underlying model  
handle the updates.

So it looks like it would be straightforward, but I haven't tried it.

Nate


On Oct 16, 2007, at 2:23 PM, Bradley S Hamner wrote:

> Is there a way to use Gazebo without the ODE dynamics simulations?   
> For
> example, I'd like to run a mobile robot without modeling friction and
> wheel slippage, center of mass, etc.  I'd just tell it to turn at 10
> degrees per second and it would turn at 10 degrees per second.  Any
> thoughts?  Thanks
>
> -Brad Hamner
>
> ---------------------------------------------------------------------- 
> ---
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a  
> browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Playerstage-gazebo mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo

Reply via email to