Python bindings are in the works for the next version of Gazebo. The plan is to provide complete (or nearly complete) access to Gazebo through python.
The first step is access to the models. This will allow quick and easy creation of new models, and custom update functions. The next step would include access to the physics. This would allow for dynamic creation of models, bodies, and geoms. As well as application of forces and velocities to bodies during runtime. I'm leaning toward boost's python interface instead of swig. If anyone wants to help out with this, just let me know your thought's and ideas and what you would like to do. -nate On 5/23/07, Douglas S. Blank <[EMAIL PROTECTED]> wrote: > Having Python bindings around Gazebo that provided such functionality as > described below would be quite useful. What would it take to build up > some of that functionality? Would it simply be a matter of SWIG-wrapping > Gazebo? > > -Doug > > Nate Koenig wrote: > > Hello, > > > > The primary problem is that ODE is tightly integrated with gazebo. The > > C code that you listed is all Gazebo code, which in turn calls ODE > > functions. While the Python code directly interacts with ODE. Both > > gazebo and pyode are wrappers to ODE, and won't mesh well together. > > > > There is of course nothing stopping you from running PyODE to modify > > the ODE world created by Gazebo. The problem will be visualization of > > the objects you create, since they will exists separately from gazebo. > > > > -nate > > > > On 5/20/07, Volker Fortströer <[EMAIL PROTECTED]> wrote: > >> Hello, > >> > >> currently I have two possibilities to create own models for my > >> gazebo-world - > >> a static and a plugin model, right? > >> > >> Our idea is using pyODE (http://pyode.sourcefrge.net) for creating such > >> models > >> so that there is no need to compile a *.cc File each time the model > >> changes. > >> > >> For example in the 'old' way I descripe a box in C-Code: > >> geom = new BoxGeom( this->body, this->modelSpaceId, .4, .4, .7 ); > >> geom->SetMass( node->GetDouble("mass", 1, 0) ); > >> geom->SetColor( GzColor(1.0, 1.0, 1.0) ); > >> geom->SetFriction(0.00005, 0.00005); > >> geom->SetSlip1(5); > >> geom->SetSlip2(5); > >> > >> In pyODE I use the following code for describing a likewise model: > >> # Create body > >> body = ode.Body(world) > >> M = ode.Mass() > >> M.setBox(density, lx, ly, lz) > >> body.setMass(M) > >> > >> # Set parameters for drawing the body > >> body.shape = "box" > >> body.boxsize = (lx, ly, lz) > >> > >> # Create a box geom for collision detection > >> geom = ode.GeomBox(space, lengths=body.boxsize) > >> geom.setBody(body) > >> > >> Ok, that enough for the preamble. ;-) Here are my questions to this topic: > >> 1. Exists a way to access such a pyODE model through a world-file to > >> generate > >> the simulation-world? > >> 2. Is it generally possible to get gazebo working together with pyODE an if > >> not what must be changed? > >> > >> Best regards from Paderborn, Germany > >> Volker Fortströer > >> > >> ------------------------------------------------------------------------- > >> This SF.net email is sponsored by DB2 Express > >> Download DB2 Express C - the FREE version of DB2 express and take > >> control of your XML. No limits. Just data. Click to get it now. > >> http://sourceforge.net/powerbar/db2/ > >> _______________________________________________ > >> Playerstage-gazebo mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo > >> > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Playerstage-gazebo mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Playerstage-gazebo mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Playerstage-gazebo mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
