Andry wrote:
Hallo Doug,

I agree with you that the idea will take a lot of effort and it might not be consistent with the basic idea of Pyro. I can see that programming in lower level might not give much advantage to students, which Pyro has successfully prevented. But somehow, I can see the need to run the program on the robot itself.

I was also considering to remotely control the robot through Bluetooth or Serial Cable, but I am aware of the delay problem with this approach. I don't know how bad the effect of this delay to the overall system performance. I wonder whether anyone has any reference stating about this issue (I have searched for some time but couldn't find any relevant paper).

I did a small test with a Khepera yesterday to see the relationship between message length and the transfer time through serial cable with 38400 bps. Well, for very long messages, such as the one from the linear camera, it will take in average more than 200 ms. It's quite a big delay, in my opinion, especially for application where fast response is compulsory.

Andry,

We have been using serial over Bluetooth for a few different kinds of robots lately, and run at 38,400 bps too. It doesn't surprise me that one would get a lag of 100 or 200 ms (10 or 5 updates a second). We run the Aibo over Wifi in this manner, and get about the same results, even with full vision processing with our Python/C++ layer!

So I need opinion from everyone here whether the robot remote control is good enough. I am thinking that robot remote control should come after simulation and before programming real robots. And for Khepera, I only see one software that can do it seamlessly, Webots. But it's not free for getting this feature. And Pyro looks to be a good candidate, if we can manage to get the 'translator' working, as you mentioned.

We have made the decision that we are willing to run at 5 or 10 updates a second in exchange for the full programming and visualization tools provided by Python & Pyro, and the other tools that run on a full operating system (including fast matrix multiplication, C-based self-organizing maps, C++ vision, graphs and plotting, debugging, etc).

But not everyone is willing to make that same sacrifice. I think that if you want the speed, then there really is no substitute for writing in the native tools for that particular robot. For example, using PBASIC for the Stamp-based robots. This Khepera page discusses the issue some:

http://diwww.epfl.ch/lami/robots/K-family/K-family.html#environment

We could work on some low-level byte-code interpreter that could run on a variety of robots. However, I think by the time we got that ready, Moore's law would have PCs the size of the Khepera, and we could just run Pyro on that.

However, this is an important issue today, and one that I suspect will be discussed at length at the upcoming 2007 AAAI Spring Symposium "Robots and Robot Venues: Resources for AI Education":

http://www.cs.hmc.edu/roboteducation/

Such data and ideas on how to solve this problem would be greatly appreciated. Maybe you can make it?

-Doug

I am insisted in working with Khepera, especially Khepera II, because the working group where I am working to has developed several extension modules for it. Moreover, I think this robot will last still for more years, and for education it will last longer.

wbr,
Andry


Douglas S. Blank wrote:

I think that this sounds like a project that may be beyond what you can easily do. And it would be very specific, so that it would only work on one type of robot.

It would be more of a translator, than compiler, probably. Say, reading in Python code, and outputing a subset of C code that could then be compiled and downloaded to the robot.

And, when you were done, you wouldn't be able to take advantage of any of Python's libraries.

I think I'd pick a different way to solve your problem.

-Doug





_______________________________________________
Pyro-users mailing list
[email protected]
http://emergent.brynmawr.edu/mailman/listinfo/pyro-users

Reply via email to