From gbisdale at hrl.com Thu Mar 2 21:52:19 2006 From: gbisdale at hrl.com (Jerry Isdale) Date: Fri Mar 3 16:22:28 2006 Subject: [Pyro-developers] Supporting a different sim engine under Pyro? Message-ID: <4407AF63.1050605@hrl.com> Hi folks I've been challenged by the PI on my current project to interface Pyro to a different simulation environment than one of the currently supported ones. How big an effort might this be? Ok, that is not a fair question w/o me giving lots more info. The 'other' sim system of interest is Delta3D (http://www.delta3d.org). It already has a python scripting capability. I already know python, C++, etc. Initial demo only needs to show some comm & control between environments. Where can I find more info to help scope (and complete) the task? and will any reader be at the Game Developers Conf (http://www.gdconf.com) in 3wks? -- Jerry Isdale, Research Staff Scientist Advanced Technology Department, M/S RL96 HRL Laboratories, LLC 3011 Malibu Canyon Road Malibu, Ca, 90265 USA Tel: +11 310-317-5883 Fax: +11 310-317-5695 email: isdale@hrl.com web: http://www.hrl.com personal: http://vr.isdale.com From dblank at brynmawr.edu Fri Mar 3 16:43:11 2006 From: dblank at brynmawr.edu (dblank@brynmawr.edu) Date: Fri Mar 3 16:43:18 2006 Subject: [Pyro-developers] Supporting a different sim engine under Pyro? In-Reply-To: <4407AF63.1050605@hrl.com> References: <4407AF63.1050605@hrl.com> Message-ID: <34105.12.179.224.68.1141422191.squirrel@webmail.brynmawr.edu> > Hi folks > > I've been challenged by the PI on my current project to interface Pyro > to a different simulation environment than one of the currently > supported ones. How big an effort might this be? > > Ok, that is not a fair question w/o me giving lots more info. > The 'other' sim system of interest is Delta3D (http://www.delta3d.org). > It already has a python scripting capability. > I already know python, C++, etc. > Initial demo only needs to show some comm & control between environments. > > Where can I find more info to help scope (and complete) the task? > > and will any reader be at the Game Developers Conf > (http://www.gdconf.com) in 3wks? Jerry, You can look through the email archives of Pyro, and see some similar questions and answers: http://emergent.brynmawr.edu/pipermail/pyro-developers/ http://emergent.brynmawr.edu/pipermail/pyro-users/ This page is a good start: http://pyrorobotics.org/?page=Interfacing_20Your_20Own_20Robot Most of our connections occur over a socket, connecting to a process running on the same, or other computer, on a particular port. But you can also connect onto a simulator directly. There were a series of email messages in December last year on this very topic. See, for example: http://emergent.brynmawr.edu/pipermail/pyro-users/2005-December/000224.html Basicall, as long as you can write some C, C++, or Python code to communicate or directly control the simulator, you can write a Python wrapper around that and make a standard Pyro robot. Let us know if you have additional comments or questions, -Doug > -- > Jerry Isdale, Research Staff Scientist > Advanced Technology Department, M/S RL96 > HRL Laboratories, LLC > 3011 Malibu Canyon Road Malibu, Ca, 90265 USA > Tel: +11 310-317-5883 Fax: +11 310-317-5695 > email: isdale@hrl.com > web: http://www.hrl.com personal: http://vr.isdale.com > > > _______________________________________________ > Pyro-developers mailing list > Pyro-developers@emergent.brynmawr.edu > http://emergent.brynmawr.edu/mailman/listinfo/pyro-developers > From dblank at brynmawr.edu Wed Mar 15 21:07:03 2006 From: dblank at brynmawr.edu (dblank@brynmawr.edu) Date: Wed Mar 15 21:07:10 2006 Subject: [Pyro-developers] Re: Delta3dSim minimally working... Big design issues for 3d ahead In-Reply-To: <4418B3DF.2090208@hrl.com> References: <4407AF63.1050605@hrl.com> <34105.12.179.224.68.1141422191.squirrel@webmail.brynmawr.edu> <4418B3DF.2090208@hrl.com> Message-ID: <60682.68.34.179.248.1142474823.squirrel@webmail.brynmawr.edu> > I have successfully hacked up a linkage between Delta3d and Pyro. > It is far from perfect, but I can control an entity in the 3d world from > Pyrobot. > There is only one world, with only one object (robot) on one port and no > devices. > It moves fwd/back and turns appropriately. Brains dont make much sense > yet as there are no sensors. > > Proof of concept done, I now need to turn to larger design issues. > There are a host of these that I would like to solve in cooperation with > the Pyro community. > I'll be working up some design plans and would like to hear opinions > from interested parties. > > The design and control of robots that can move with six degrees of > freedom - 3 translations and 3 rotations, is different than the existing > brains and robots. It would be good to extend (or refactor) the > existing 2d model as much as possible. I'm not sure how possible it is > to simply extend. I think doing it properly will require refactoring > (rewriting) parts of pyro. > > One key aspect of 3d simulation is the selection of coordinate > orientation. > For Pyro, it makes sense to choose the ground plane as xy with z = up. > Some 3d systems have xy being the screen plane with z in or out. > A right handed rotation is also most common and appropriate. > > The communication messages between sim and client will need to be > examined and updated. > Perhaps some higher level commands are needed. > A method for extending the message handling would be very nice to have. > Perhaps rather than changing the base simulator.py, the robot code > should handle message dispatch. > > more to come. i'm going to go celebrate minor success. Congrats; that was fast! I haven't worked with this type of interface yet, but I suspect that we will try to remain Player/Stage compatible in the future. They have defined an interface position3d: http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group__interface__position3d.html Currently, we haven't conformed strictly to the position (ie, position2d) interface, but we should. Also, we are using a completely ad hoc process-to-process string-based language in talking to the Pyrobot Simulator. That should be cleaned up, and replaced with a better communication protocol. I had dreams of making that Player/Stage compatible too. But even using Python's "pickle" serialization would be better. Good luck! -Doug > -- > Jerry Isdale, Research Staff Scientist > Advanced Technology Department, M/S RL96 > HRL Laboratories, LLC > 3011 Malibu Canyon Road Malibu, Ca, 90265 USA > Tel: +11 310-317-5883 Fax: +11 310-317-5695 > email: isdale@hrl.com > web: http://www.hrl.com personal: http://vr.isdale.com > > From mumismo at gmail.com Tue Mar 21 18:44:28 2006 From: mumismo at gmail.com (Jordi) Date: Tue Mar 21 18:43:18 2006 Subject: [Pyro-developers] about 3D simulation in pyro Message-ID: <200603220044.29512.raigengo@yahoo.es> Hello I've read the pyro + delta3D email. I don't know exactly how pyro and player/stage/gazebo are related but I do know what's happening in gazebo development. Gazebo will move to a more capable 3D rendering engine, options are Ogre3D or a game engine (Delta3D or Yake). So nice selections, drag and drop, etc. in the 3D world is the near future. Also a GUI will be built to create 3D robots models and simple worlds. I'm not sure but I guess that any 3D effort in pyro will duplicate with Gazebo. One unrelated question, pyro's Khepera support is based on player's Khepera support? -- Jordi Polo From dblank at brynmawr.edu Tue Mar 21 19:31:47 2006 From: dblank at brynmawr.edu (Douglas S. Blank) Date: Tue Mar 21 19:32:02 2006 Subject: [Pyro-developers] about 3D simulation in pyro In-Reply-To: <200603220044.29512.raigengo@yahoo.es> References: <200603220044.29512.raigengo@yahoo.es> Message-ID: <1142987507.22134.57.camel@mightymouse.brynmawr.edu> On Wed, 2006-03-22 at 00:44 +0100, Jordi wrote: > Hello > I've read the pyro + delta3D email. > I don't know exactly how pyro and player/stage/gazebo are related but I do > know what's happening in gazebo development. Jordi, Pyro sits on top of Player. Whatever Player has, Pyro can use. > Gazebo will move to a more capable 3D rendering engine, options are Ogre3D or > a game engine (Delta3D or Yake). So nice selections, drag and drop, etc. in > the 3D world is the near future. Yes, I'm on that list, and have been watching closely. We are very excited to have good support for 3D. I'll be working on a robot arm controllable via Pyro this next year, and hope to use Gazebo or Delta3D for it. > Also a GUI will be built to create 3D robots models and simple worlds. > > I'm not sure but I guess that any 3D effort in pyro will duplicate with > Gazebo. No duplication here. The 3D simulator in Pyro will be very simplistic, and pure Python. It will be very useful, but not aimed at the same goals as Gazebo. > One unrelated question, pyro's Khepera support is based on player's Khepera > support? You can use Player to talk to Khepera, but we also have a separate interface that talks directly to the serial port. If the Player+Khepera interface is complete, we may drop support for our alternate Python+ serial port connection. Although, there may be a few people running without Player (maybe on Windows or Mac) so we may keep it for now. In any event, you can use either. -Doug > > -- > Jordi Polo > _______________________________________________ > Pyro-developers mailing list > Pyro-developers@emergent.brynmawr.edu > http://emergent.brynmawr.edu/mailman/listinfo/pyro-developers > -- Douglas S. Blank Computer Science Assistant Professor Bryn Mawr College (610)526-6501 http://cs.brynmawr.edu/~dblank