From: Hedayat V. <hed...@ai...> - 2009-02-06 09:37:12
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html style="direction: ltr;"> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> </head> <body style="direction: ltr;" bgcolor="#ffffff" text="#000000"> Hi all!<br> Recently I had some discussions with Joschka, and there are some decisions which should be made for the future direction of our simulator. So, we want to bring the discussion to this list, please participate!<br> <br> First of all, we'd like to make our physics and graphics support more modular, so that we can use physical engines other than ODE and graphical engines like OGRE and OpenSceneGraph.<br> For physics, using PAL may or may not be a good decision. Please have these issues in mind and let us know any ideas which you have about these issues.<br> <br> As you already know, my main plan was to add Player support as a way to provide a new binary protocol (agent-server for now, but might or might not be suitable for monitor-server communication too). But there are some issues which should be decided about. So, following is some parts of my last email to Joschka about these issues. Please read and let me know about your opinions.<br> Thanks in advance!<br> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <span><br> <style type="text/css">blockquote {color: navy !important; background-color: RGB(245,245,245) !important; padding: 0 15 10 15 !important; margin: 15 0 0 0; border-left: #1010ff 2px solid;} blockquote blockquote {color: maroon !important; background-color: RGB(235,235,235) !important; border-left-color:maroon !important} blockquote blockquote blockquote {color: green !important; background-color: RGB(225,225,225) !important; border-left-color:teal !important} blockquote blockquote blockquote blockquote {color: purple !important; background-color: RGB(215,215,215) !important; border-left-color: purple !important} blockquote blockquote blockquote blockquote blockquote {color: teal !important; background-color: RGB(205,205,205) !important; border-left-color: green !important}</style><i><b>Joschka Boedecker <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:jos...@go..."><jos...@go...></a></b></i> wrote on ۰۹/۰۲/۰۶ 07:53:23:</span><br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <pre wrap="">Hi Hedayat, On Wed, Feb 4, 2009 at 7:16 PM, Hedayat Vatankhah <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:hed...@ai..."><hed...@ai...></a> wrote: </pre> </blockquote> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">... </pre> </blockquote> <pre wrap=""><!----> PhysX would be great to have (and so would be BULLET, since PhysX only runs on Windows and Linux so far). We need a discussion on the re-design of the physics integration on the list I think (same for the graphics). This will also be a pretty big task, maybe too big for a single person. </pre> </blockquote> I agree!<br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">Till now I was mostly involved with CMake support and package migration, but I'm going to go for the new protocol. But some design decisions are needed here, and I'll be happy if you and others can help me! The first question which arise is about Windows support. Currently, Player doesn't support Windows (while it is planned for Player 2.2), so adding Player support as the main way of agent-server protocol will make our simulator to not work on Windows at least temporary. I don't know how much important is it. </pre> </blockquote> <pre wrap=""><!----> I still think Player integration is important, and that it is the way to go for the future. But maybe we should not make it the main protocol as long as not all the platforms are supported. I guess it would be helpful if we had it running for Linux and Mac already, so that once it's ready for Windows, it won't be too much work to adapt. But I'm not familiar with the details, so you might be able to judge better if this makes sense. Another possibility would be to develop a more efficient binary protocol for the server as an intermediate step. What do you think? </pre> </blockquote> I think currently the main platform is Linux, so the protocol we use on it will be the main protocol. We can retain the current protocol as an option, but personally I prefer to use Player protocol as the main protocol.<br> Implementing another binary protocol is an option too, specially if we want to prepare a binary protocol for RC09 ASAP. I think Player integration will take time, and also considering the parallel nature of Player, it is a good opportunity to redesign our multi-threaded implementation of the simulator, which will make the task a bit longer. <br> But if we want to implement another binary protocol, we should at least try to do it in a way to make future works easier. Currently sensors generate S-expressions directly, and often there is no internal structure representing those data exactly (data is extracted and converted to S-expression directly), and Percept() functions receive S-expressions. Some design decisions are needed here too.<br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">Another important thing here is how our simulator and player should communicate. If I understood correctly, Gazebo uses shared memory for this task. it'll make our simulator more Linux dependent. Another solution is to communicate using TCP sockets, but the overhead might be too much. (Again if I understood correctly!) Stage is implemented as a player plugin, but I should still investigate how it handles multiple agents. Another solution which is in my mind is to integrate Player server into our simulator, so we can communicate with it directly. </pre> </blockquote> <pre wrap=""><!----> I like the last idea, if it can be done as a plugin ;-) Sounds pretty good! </pre> </blockquote> I'll investigate it! And if we want to implement something such as protocol selection, I think we must go for this solution so that we can have control over the used protocol. <br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">I'm still in the early stages of investigation, and I'm pretty busy too! But I hope to be able to do it soon. </pre> </blockquote> <pre wrap=""><!---->... </pre> </blockquote> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">Another solution is to forget Player integration for now, and implement a binary protocol inside the simulator for our own. That's easier for implementation, but could create additional problems such as missing client classes. </pre> </blockquote> <pre wrap=""><!----> It would be good to allow the old and the new protocol for different teams, like in 2D I guess. </pre> </blockquote> Yes, if people cannot argue that's unfair for some reason!<br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <blockquote type="cite"> <pre wrap="">(Also, we should not use a simple binary protocol such as what is used in 2D, since that's not portable (a 32bit server cannot communicate with a 64bit monitor for example). </pre> </blockquote> <pre wrap=""><!----> I see, that's a good point. This should also be discussed on the mailing list, I think. Maybe someone has already thought about these problems and might have a proposal. Could you maybe raise these points on the mailing list? </pre> </blockquote> Yes, there are solutions. For example, Player uses XDR[1], but it seems that its not available for windows (But a Player guy have created a Windows version for use with Player I think). <br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:84b...@ma..." type="cite"> <pre wrap="">Cheers, Joschka </pre> </blockquote> <br> Good luck,<br> Hedayat<br> <br> [1] <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/External_Data_Representation">http://en.wikipedia.org/wiki/External_Data_Representation</a><br> <br> </body> </html> |
From: Yuan Xu <xuy...@gm...> - 2009-02-07 10:07:26
|
Hi, 2009/2/6 Hedayat Vatankhah <hed...@ai...>: > > First of all, we'd like to make our physics and graphics support more > modular, so that we can use physical engines other than ODE and graphical > engines like OGRE and OpenSceneGraph. OGRE and OSG manage the scene tree and special data structure themselves, it needs to copy data from a scene tree to another when running internal monitor. So, I don't think integrate OGRE or OSG into simspark is a good idea. But, some external tools can benefit form OGRE and OSG. > For physics, using PAL may or may not be a good decision. Please have these > issues in mind and let us know any ideas which you have about these issues. > > As you already know, my main plan was to add Player support as a way to > provide a new binary protocol (agent-server for now, but might or might not > be suitable for monitor-server communication too). But there are some issues > which should be decided about. In my mind, Player wants to abstract the Robot Device Interface, then robot program can be language and platform independent. It is a good idea. But, i am not sure is it all the device are available for humanoid robot. Furthermore, the interface of real robot is designed by manufacturers, it would make the abstraction useless. So, I agree with developing a new binary protocol ourselves, and It follows the KISS principle ;-) > > Joschka Boedecker <jos...@go...> wrote on ۰۹/۰۲/۰۶ > 07:53:23: > > Hi Hedayat, > > On Wed, Feb 4, 2009 at 7:16 PM, Hedayat Vatankhah <hed...@ai...> wrote: > > > ... > > PhysX would be great to have (and so would be BULLET, since PhysX only > runs on Windows and Linux so far). We need a discussion on the > re-design of the physics integration on the list I think (same for the > graphics). This will also be a pretty big task, maybe too big for a > single person. > > > I agree! > > Till now I was mostly involved with CMake support and package migration, but > I'm going to go for the new protocol. But some design decisions are needed > here, and I'll be happy if you and others can help me! > The first question which arise is about Windows support. Currently, Player > doesn't support Windows (while it is planned for Player 2.2), so adding > Player support as the main way of agent-server protocol will make our > simulator to not work on Windows at least temporary. I don't know how much > important is it. > > > I still think Player integration is important, and that it is the way > to go for the future. But maybe we should not make it the main > protocol as long as not all the platforms are supported. I guess it > would be helpful if we had it running for Linux and Mac already, so > that once it's ready for Windows, it won't be too much work to adapt. > But I'm not familiar with the details, so you might be able to judge > better if this makes sense. Another possibility would be to develop a > more efficient binary protocol for the server as an intermediate step. > What do you think? > > > I think currently the main platform is Linux, so the protocol we use on it > will be the main protocol. We can retain the current protocol as an option, > but personally I prefer to use Player protocol as the main protocol. > Implementing another binary protocol is an option too, specially if we want > to prepare a binary protocol for RC09 ASAP. I think Player integration will > take time, and also considering the parallel nature of Player, it is a good > opportunity to redesign our multi-threaded implementation of the simulator, > which will make the task a bit longer. > But if we want to implement another binary protocol, we should at least try > to do it in a way to make future works easier. Currently sensors generate > S-expressions directly, and often there is no internal structure > representing those data exactly (data is extracted and converted to > S-expression directly), and Percept() functions receive S-expressions. Some > design decisions are needed here too. > > Another important thing here is how our simulator and player should > communicate. If I understood correctly, Gazebo uses shared memory for this > task. it'll make our simulator more Linux dependent. Another solution is to > communicate using TCP sockets, but the overhead might be too much. > (Again if I understood correctly!) Stage is implemented as a player plugin, > but I should still investigate how it handles multiple agents. > Another solution which is in my mind is to integrate Player server into our > simulator, so we can communicate with it directly. > > > I like the last idea, if it can be done as a plugin ;-) Sounds pretty good! > > > I'll investigate it! And if we want to implement something such as protocol > selection, I think we must go for this solution so that we can have control > over the used protocol. > > I'm still in the early stages of investigation, and I'm pretty busy too! But > I hope to be able to do it soon. > > > ... > > > Another solution is to forget Player integration for now, and implement a > binary protocol inside the simulator for our own. That's easier for > implementation, but could create additional problems such as missing client > classes. > > > It would be good to allow the old and the new protocol for different > teams, like in 2D I guess. > > > Yes, if people cannot argue that's unfair for some reason! > > (Also, we should not use a simple binary protocol such as what is > used in 2D, since that's not portable (a 32bit server cannot communicate > with a 64bit monitor for example). > > > I see, that's a good point. This should also be discussed on the > mailing list, I think. Maybe someone has already thought about these > problems and might have a proposal. Could you maybe raise these points > on the mailing list? > > > Yes, there are solutions. For example, Player uses XDR[1], but it seems that > its not available for windows (But a Player guy have created a Windows > version for use with Player I think). > > Cheers, > Joschka > > > Good luck, > Hedayat > > [1] http://en.wikipedia.org/wiki/External_Data_Representation > > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with > Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code > to > build responsive, highly engaging applications that combine the power of > local > resources and data with the reach of the web. Download the Adobe AIR SDK and > Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com > _______________________________________________ > Simspark Generic Physical MAS Simulator > simspark-devel mailing list > sim...@li... > https://lists.sourceforge.net/lists/listinfo/simspark-devel > > -- Sincerely, Xu Yuan |
From: Hedayat V. <hed...@ai...> - 2009-02-08 13:49:46
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html style="direction: ltr;"> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> </head> <body style="direction: ltr;" bgcolor="#ffffff" text="#000000"> <span></span> <p style="margin-bottom: 0cm; margin-top: 0pt;">Hi,<br> </p> <span><br> <style type="text/css">blockquote {color: navy !important; background-color: RGB(245,245,245) !important; padding: 0 15 10 15 !important; margin: 15 0 0 0; border-left: #1010ff 2px solid;} blockquote blockquote {color: maroon !important; background-color: RGB(235,235,235) !important; border-left-color:maroon !important} blockquote blockquote blockquote {color: green !important; background-color: RGB(225,225,225) !important; border-left-color:teal !important} blockquote blockquote blockquote blockquote {color: purple !important; background-color: RGB(215,215,215) !important; border-left-color: purple !important} blockquote blockquote blockquote blockquote blockquote {color: teal !important; background-color: RGB(205,205,205) !important; border-left-color: green !important}</style><i><b>Yuan Xu <a class="moz-txt-link-rfc2396E" href="mailto:xuy...@gm..."><xuy...@gm...></a></b></i> wrote on ۰۹/۰۲/۰۷ 01:37:21:</span><br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:18a...@ma..." type="cite"> <pre wrap="">Hi, 2009/2/6 Hedayat Vatankhah <a class="moz-txt-link-rfc2396E" href="mailto:hed...@ai..."><hed...@ai...></a>: </pre> ..... <blockquote type="cite"> <pre wrap="">For physics, using PAL may or may not be a good decision. Please have these issues in mind and let us know any ideas which you have about these issues. As you already know, my main plan was to add Player support as a way to provide a new binary protocol (agent-server for now, but might or might not be suitable for monitor-server communication too). But there are some issues which should be decided about. </pre> </blockquote> <pre wrap=""><!----> In my mind, Player wants to abstract the Robot Device Interface, then robot program can be language and platform independent. It is a good idea. But, i am not sure is it all the device are available for humanoid robot. Furthermore, the interface of real robot is designed by manufacturers, it would make the abstraction useless. So, I agree with developing a new binary protocol ourselves, and It follows the KISS principle ;-) </pre> </blockquote> Certainly, Player does not support all of the available robot devices. But support for more devices can be added as new drivers for Player. The driver will work using the manufacturers' specific interface, and provides the common interface to higher levels. Just like our simulator, which is another robot device, just a simulated one! So, personally I still think that Player integration is good for the future of the simulator, specially as the long term goal is to run the agents on real robots. Finally, we can also create models for the robots which Player already supports...<br> And I think that a good design for a new binary protocol is not that simple too. (I've mentioned some of them in the email). But we might go for a temporary protocol for 2009 (IMHO).<br> <br> <br> Thanks a lot,<br> Hedayat<br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:18a...@ma..." type="cite"> <pre wrap=""> </pre> <blockquote type="cite"> <pre wrap="">Joschka Boedecker <a class="moz-txt-link-rfc2396E" href="mailto:jos...@go..."><jos...@go...></a> wrote on ۰۹/۰۲/۰۶ 07:53:23: Hi Hedayat, On Wed, Feb 4, 2009 at 7:16 PM, Hedayat Vatankhah <a class="moz-txt-link-rfc2396E" href="mailto:hed...@ai..."><hed...@ai...></a> wrote: .... PhysX would be great to have (and so would be BULLET, since PhysX only runs on Windows and Linux so far). We need a discussion on the re-design of the physics integration on the list I think (same for the graphics). This will also be a pretty big task, maybe too big for a single person. I agree! Till now I was mostly involved with CMake support and package migration, but I'm going to go for the new protocol. But some design decisions are needed here, and I'll be happy if you and others can help me! The first question which arise is about Windows support. Currently, Player doesn't support Windows (while it is planned for Player 2.2), so adding Player support as the main way of agent-server protocol will make our simulator to not work on Windows at least temporary. I don't know how much important is it. I still think Player integration is important, and that it is the way to go for the future. But maybe we should not make it the main protocol as long as not all the platforms are supported. I guess it would be helpful if we had it running for Linux and Mac already, so that once it's ready for Windows, it won't be too much work to adapt. But I'm not familiar with the details, so you might be able to judge better if this makes sense. Another possibility would be to develop a more efficient binary protocol for the server as an intermediate step. What do you think? I think currently the main platform is Linux, so the protocol we use on it will be the main protocol. We can retain the current protocol as an option, but personally I prefer to use Player protocol as the main protocol. Implementing another binary protocol is an option too, specially if we want to prepare a binary protocol for RC09 ASAP. I think Player integration will take time, and also considering the parallel nature of Player, it is a good opportunity to redesign our multi-threaded implementation of the simulator, which will make the task a bit longer. But if we want to implement another binary protocol, we should at least try to do it in a way to make future works easier. Currently sensors generate S-expressions directly, and often there is no internal structure representing those data exactly (data is extracted and converted to S-expression directly), and Percept() functions receive S-expressions. Some design decisions are needed here too. Another important thing here is how our simulator and player should communicate. If I understood correctly, Gazebo uses shared memory for this task. it'll make our simulator more Linux dependent. Another solution is to communicate using TCP sockets, but the overhead might be too much. (Again if I understood correctly!) Stage is implemented as a player plugin, but I should still investigate how it handles multiple agents. Another solution which is in my mind is to integrate Player server into our simulator, so we can communicate with it directly. I like the last idea, if it can be done as a plugin ;-) Sounds pretty good! I'll investigate it! And if we want to implement something such as protocol selection, I think we must go for this solution so that we can have control over the used protocol. I'm still in the early stages of investigation, and I'm pretty busy too! But I hope to be able to do it soon. .... Another solution is to forget Player integration for now, and implement a binary protocol inside the simulator for our own. That's easier for implementation, but could create additional problems such as missing client classes. It would be good to allow the old and the new protocol for different teams, like in 2D I guess. Yes, if people cannot argue that's unfair for some reason! (Also, we should not use a simple binary protocol such as what is used in 2D, since that's not portable (a 32bit server cannot communicate with a 64bit monitor for example). I see, that's a good point. This should also be discussed on the mailing list, I think. Maybe someone has already thought about these problems and might have a proposal. Could you maybe raise these points on the mailing list? Yes, there are solutions. For example, Player uses XDR[1], but it seems that its not available for windows (But a Player guy have created a Windows version for use with Player I think). Cheers, Joschka Good luck, Hedayat [1] <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/External_Data_Representation">http://en.wikipedia.org/wiki/External_Data_Representation</a> ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ Simspark Generic Physical MAS Simulator simspark-devel mailing list <a class="moz-txt-link-abbreviated" href="mailto:sim...@li...">sim...@li...</a> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/simspark-devel">https://lists.sourceforge.net/lists/listinfo/simspark-devel</a> </pre> </blockquote> <pre wrap=""><!----> </pre> </blockquote> </body> </html> |
From: Mahdi <zig...@gm...> - 2009-02-08 19:57:45
|
Hi Hedayat and all I think that adding a simple but efficient binary protocol would take much less time compared to adding player to simspark. So I think it's better to have the binary protocol first inserted, and integrate player with less haste and more efficiency. Integrating player would help to add multithread support for simspark, so it may be dangerous if it is hastily inserted into simpark for the RC09 competitions. For the problem you mentioned about the binary size mismatch of indormation in different cpu architectures, I did a bit of searching, and found out that Microsoft dot net framework has introduced some types like int32, int64 and like these, which gcc yet does not support, or may not support at all. (Please correct me if I am assuming wrong) So another way should be found around the problem. Anybody got any idea? Cheers Mahdi |
From: Hedayat V. <hed...@ai...> - 2009-02-08 20:17:11
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html style="direction: ltr;"> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> </head> <body style="direction: ltr;" bgcolor="#ffffff" text="#000000"> Hi,<span><br> <br> <style type="text/css">blockquote {color: navy !important; background-color: RGB(245,245,245) !important; padding: 0 15 10 15 !important; margin: 15 0 0 0; border-left: #1010ff 2px solid;} blockquote blockquote {color: maroon !important; background-color: RGB(235,235,235) !important; border-left-color:maroon !important} blockquote blockquote blockquote {color: green !important; background-color: RGB(225,225,225) !important; border-left-color:teal !important} blockquote blockquote blockquote blockquote {color: purple !important; background-color: RGB(215,215,215) !important; border-left-color: purple !important} blockquote blockquote blockquote blockquote blockquote {color: teal !important; background-color: RGB(205,205,205) !important; border-left-color: green !important}</style><i><b>Mahdi <a class="moz-txt-link-rfc2396E" href="mailto:zig...@gm..."><zig...@gm...></a></b></i> wrote on ۰۹/۰۲/۰۸ 11:27:40:</span><br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:fca...@ma..." type="cite">Hi Hedayat and all<br> <br> I think that adding a simple but efficient binary protocol would take much less time compared to adding player to simspark. So I think it's better to have the binary protocol first inserted, and integrate player with less haste and more efficiency. Integrating player would help to add multithread support for simspark, so it may be dangerous if it is hastily inserted into simpark for the RC09 competitions.<br> </blockquote> Yes, this is what I refer to as a temporary solution for RC09. <br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:fca...@ma..." type="cite"><br> For the problem you mentioned about the binary size mismatch of indormation in different cpu architectures, I did a bit of searching, and found out that Microsoft dot net framework has introduced some types like int32, int64 and like these, which gcc yet does not support, or may not support at all. (Please correct me if I am assuming wrong) So another way should be found around the problem. Anybody got any idea?<br> </blockquote> gcc supports standard data types: int64_t, int32_t and so on. So that's possible too. <br> <br> Thanks for the answer,<br> Hedayat<br> <br> <blockquote style="border-left: 2px solid rgb(16, 16, 255); color: navy; background-color: rgb(245, 245, 245); padding-left: 15px;" cite="mid:fca...@ma..." type="cite"><br> <span style="color: rgb(102, 102, 102);">Cheers</span><br style="color: rgb(102, 102, 102);"> <span style="color: rgb(102, 102, 102);">Mahdi</span><br> </blockquote> </body> </html> |
From: Oliver O. <oli...@cs...> - 2009-02-08 20:57:44
|
On 09/02/2009, at 6:57 AM, Mahdi wrote: > For the problem you mentioned about the binary size mismatch of > indormation in different cpu architectures, I did a bit of > searching, and found out that Microsoft dot net framework has > introduced some types like int32, int64 and like these, which gcc > yet does not support, or may not support at all. (Please correct me > if I am assuming wrong) So another way should be found around the > problem. Anybody got any idea? I don't think that introducing a binary protocol is a good idea, and should be avoided if possible. For the sensors we're using at the moment, a text based protocol is a good solution because it's human readable. A float always uses up 4 bytes, and the text representation doesn't use much more (in some cases, it can use less). Plus you may introduce cross-platform issues that should be avoided. The work to implement and the hassle of using a binary protocol isn't worth the relatively small gain in efficiency. There are two cases where it may be necessary: For camera data and player integration. So I'd like to suggest to think about a mixed protocol instead of pure binary. S-Expressions (the syntax for the protocol we're using now) support binary data, or another solution would be a binary protocol combined with the S-Exp for the existing sensors / actuators. just my AU$0.02 cheers Oliver |
From: Mahdi <zig...@gm...> - 2009-02-08 21:00:08
|
Hi hedayat and all So, if gcc supports that, then cpu architecture wont be any problem no more. Solution is just to create structure with int64_t, so they would be same everywhere. Is there any other possible problems? Maybe ending may cause problems. I mean hi endian systems and low endian systems. Would that create problem? Cheers Mahdi On 2/8/09, Oliver Obst <oli...@cs...> wrote: > > On 09/02/2009, at 6:57 AM, Mahdi wrote: > >> For the problem you mentioned about the binary size mismatch of >> indormation in different cpu architectures, I did a bit of >> searching, and found out that Microsoft dot net framework has >> introduced some types like int32, int64 and like these, which gcc >> yet does not support, or may not support at all. (Please correct me >> if I am assuming wrong) So another way should be found around the >> problem. Anybody got any idea? > > I don't think that introducing a binary protocol is a good idea, and > should be avoided if possible. > For the sensors we're using at the moment, a text based protocol is a > good solution because it's human readable. A float always uses up 4 > bytes, and the text representation doesn't use much more (in some > cases, it can use less). Plus you may introduce cross-platform issues > that should be avoided. The work to implement and the hassle of using > a binary protocol isn't worth the relatively small gain in efficiency. > > There are two cases where it may be necessary: For camera data and > player integration. So I'd like to suggest to think about a mixed > protocol instead of pure binary. S-Expressions (the syntax for the > protocol we're using now) support binary data, or another solution > would be a binary protocol combined with the S-Exp for the existing > sensors / actuators. > > just my AU$0.02 > > cheers > Oliver > > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with > Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code > to > build responsive, highly engaging applications that combine the power of > local > resources and data with the reach of the web. Download the Adobe AIR SDK and > Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com > _______________________________________________ > Simspark Generic Physical MAS Simulator > simspark-devel mailing list > sim...@li... > https://lists.sourceforge.net/lists/listinfo/simspark-devel > |
From: Hedayat V. <hed...@ai...> - 2009-02-08 21:24:29
|
Hi Mahdi, /*Mahdi <zig...@gm...>*/ wrote on ۰۹/۰۲/۰۹ 12:30:03: > Hi hedayat and all > So, if gcc supports that, then cpu architecture wont be any problem > no more. Solution is just to create structure with int64_t, so they > would be same everywhere. Is there any other possible problems? Maybe > ending may cause problems. I mean hi endian systems and low endian > systems. Would that create problem? > Yes, it will. There should be other problems too. And if we really want to create a really portable binary protocol, I prefer to go for Player integration since I think that is not much more time consuming. But if we really want to have some kind of binary protocol, we might forget such portability for 2009! Good luck, Hedayat > Cheers > Mahdi > > |
From: Hedayat V. <hed...@ai...> - 2009-02-08 21:52:40
|
/*Oliver Obst <oli...@cs...>*/ wrote on ۰۹/۰۲/۰۹ 12:27:29: > On 09/02/2009, at 6:57 AM, Mahdi wrote: > > >> For the problem you mentioned about the binary size mismatch of >> indormation in different cpu architectures, I did a bit of >> searching, and found out that Microsoft dot net framework has >> introduced some types like int32, int64 and like these, which gcc >> yet does not support, or may not support at all. (Please correct me >> if I am assuming wrong) So another way should be found around the >> problem. Anybody got any idea? >> > > I don't think that introducing a binary protocol is a good idea, and > should be avoided if possible. > For the sensors we're using at the moment, a text based protocol is a > good solution because it's human readable. A float always uses up 4 > bytes, and the text representation doesn't use much more (in some > cases, it can use less). Plus you may introduce cross-platform issues > that should be avoided. The work to implement and the hassle of using > a binary protocol isn't worth the relatively small gain in efficiency. > > There are two cases where it may be necessary: For camera data and > player integration. So I'd like to suggest to think about a mixed > protocol instead of pure binary. S-Expressions (the syntax for the > protocol we're using now) support binary data, or another solution > would be a binary protocol combined with the S-Exp for the existing > sensors / actuators. > If we implement Player integration, the binary protocol is handled by Player (and it do it in a portable manner using XDR). It is possible to send S-expressions using Player, but then the main purpose of integrating with Player is lost sine we are still using our custom protocol. > just my AU$0.02 > > cheers > Oliver > Thanks a lot, Hedayat > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code to > build responsive, highly engaging applications that combine the power of local > resources and data with the reach of the web. Download the Adobe AIR SDK and > Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com > _______________________________________________ > Simspark Generic Physical MAS Simulator > simspark-devel mailing list > sim...@li... > https://lists.sourceforge.net/lists/listinfo/simspark-devel > |
From: Mahdi <zig...@gm...> - 2009-02-10 10:03:08
|
Hi Oliver and All The main point of porting the agent server protocol to binary format, is to reduce the network data size, not by the size of the real data, but by truncating the data type indicators, like eg. ax1, Ball, ... These texts which come before the data values, and lots of spaces consumed within the elements are the main size and space waste of the current string protocol implementation. That was the reasonn at first place in several months ago, me and other developers suggested to change the protocol, and as you remember, Based on a simple analysis of a simple binary protocol, it was revealed that such a protocol could even make the games can be run within an ancient dial up network, which now we can't (although it is not my point to use the simspark on dialup networks!, I am refering to huge size reducution) Cheers Mahdi On Mon, Feb 9, 2009 at 12:27 AM, Oliver Obst <oli...@cs...> wrote: > > On 09/02/2009, at 6:57 AM, Mahdi wrote: > > > For the problem you mentioned about the binary size mismatch of > > indormation in different cpu architectures, I did a bit of > > searching, and found out that Microsoft dot net framework has > > introduced some types like int32, int64 and like these, which gcc > > yet does not support, or may not support at all. (Please correct me > > if I am assuming wrong) So another way should be found around the > > problem. Anybody got any idea? > > I don't think that introducing a binary protocol is a good idea, and > should be avoided if possible. > For the sensors we're using at the moment, a text based protocol is a > good solution because it's human readable. A float always uses up 4 > bytes, and the text representation doesn't use much more (in some > cases, it can use less). Plus you may introduce cross-platform issues > that should be avoided. The work to implement and the hassle of using > a binary protocol isn't worth the relatively small gain in efficiency. > > There are two cases where it may be necessary: For camera data and > player integration. So I'd like to suggest to think about a mixed > protocol instead of pure binary. S-Expressions (the syntax for the > protocol we're using now) support binary data, or another solution > would be a binary protocol combined with the S-Exp for the existing > sensors / actuators. > > just my AU$0.02 > > cheers > Oliver > > > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with > Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code > to > build responsive, highly engaging applications that combine the power of > local > resources and data with the reach of the web. Download the Adobe AIR SDK > and > Ajax docs to start building applications today- > http://p.sf.net/sfu/adobe-com > _______________________________________________ > Simspark Generic Physical MAS Simulator > simspark-devel mailing list > sim...@li... > https://lists.sourceforge.net/lists/listinfo/simspark-devel > |
From: Mohammad T. K. <kha...@gm...> - 2009-02-10 20:55:57
|
hi all > > First of all, we'd like to make our physics and graphics support more > modular, so that we can use physical engines other than ODE and graphical > engines like OGRE and OpenSceneGraph. > For physics, using PAL may or may not be a good decision. Please have these > issues in mind and let us know any ideas which you have about these issues. > > As you already know, my main plan was to add Player support as a way to > provide a new binary protocol (agent-server for now, but might or might not > be suitable for monitor-server communication too). But there are some issues > which should be decided about. So, following is some parts of my last email > to Joschka about these issues. Please read and let me know about your > opinions. > Thanks in advance! > i don't know a lot about player and what it can do but: in addition to other opinion about adding player support, i think going toward standardization must be one of the main changes to our simulator, and adding player support is a big gait, also making physics and graphics more modular and adding an abstraction layer to them help to improve relevant component when needed, not especially with OGRE or OSG. above changes(that are toward standardization) makes our simulator more popular and when number of users grown, the simulator improves(more and more) too. best wishes -- Mohammad Taghi Khalifeh AUT Robocup 3D soccer simulation team |