I am using Squeak to control a robot, specifically a RoboMagellan outdoor navigating robot. Pretty soon it will be important to confront how to implement the computer vision on this robot. The OS is Linux.
One way to do this is to use an external vision system such as RoboRealm running under MS Windows and communicate between the Squeak controller and the vision system with sockets. I'll probably do something like that but it's only a short-term solution. RoboRealm is a proprietary, closed-source application that won't be able to do something I'll want to do, perhaps something like figuring out how far the robot travels between video frames by comparing the movement of "interest points". At that point I will want some type of vision or imaging library directly accessible to Squeak.
Python has an imaging library called Python Imaging Library. This is one of the strongest justifications some people use to write their entire robot code in Python in the first place.
Likewise, Python has the SciPy library, which provides a large set of tools for signal and image processing, as well as linear algebra, optimization, statistics and so forth.
For example, suppose I wanted to write a Kalman or other probabilistic filter for "fusing" inputs from a cameras, inertial sensors, wheel encoders and so forth. In Python, the matrix operations for doing the math would be simple calls.
How would you approach these imaging and quasi-scientific issues in Squeak? Would you always end up using external packages and making interfaces to them through sockets or through special primitives in a custom VM?
Thanks for your thoughts.
- Robert
Hello Robert,
RFS> I am using Squeak to control a robot, specifically a RoboMagellan RFS> outdoor navigating robot. Pretty soon it will be important to confront RFS> how to implement the computer vision on this robot. The OS is Linux.
Jon Hylands is doing robot control in Squeak, see www.huv.com and several others do too.
You will find information in the archives of squeak dev.
Maybe they don't read beginners.
Cheers
Herbert mailto:herbertkoenig@gmx.net
On Sun, 2008-01-20 at 13:29 +0100, Herbert König wrote:
Hello Robert,
RFS> I am using Squeak to control a robot, specifically a RoboMagellan RFS> outdoor navigating robot. Pretty soon it will be important to confront RFS> how to implement the computer vision on this robot. The OS is Linux.
Jon Hylands is doing robot control in Squeak, see www.huv.com and several others do too.
Thanks Herbert, yes, I already get a lot of help directly from Jon and that's how I know about sockets and how to interface to packages like OpenCV that is written in C++.
So far it looks like the practical approach involves using an external vision system that you interface Squeak to. So you end up coding in C/C ++ or conceivably some other language like Python for that part of the system.
Maybe this question requires advanced answers and should be posed on the dev forum but it's really a newbie question and is very important for anyone thinking about using Squeak in a science or engineering context.
You will find information in the archives of squeak dev.
I'll look through the archives for this discussion.
- Robert
beginners@lists.squeakfoundation.org