[Robotics] Middlewares
Morten Lind
morten at lind.no-ip.org
Wed Jan 20 08:31:10 CET 2010
Found this in an unsent condition in my mail. Sorry if this is severely
outdated now :-)
--------------------------------------------------
Hi Stefaan
I was educated in comuter science and robotics, and now work with automatic
manufacturing execution. For control of an example lab setup for part of a
manufacturing system, comprising a couple of robots, several AGVs, and an
overhead conveyor, we have chosen the Holonic Manufacturing System
architecture over the ICE (zeroc.com) middleware. While waiting for the
mechanical setup, I try to simulate the individual devices as low level
resource holons, thus maybe addressing your issue.
I'm not sure if this is really what you mean by "middleware", but what I do
is, for instance, exposing the velocity controller of every AGV in the system,
i.e. in the blender game engine, as a holon. Likewise with the robot
controller holon for every robot. The interfaces provided by these BGE-
simulated holons will be identical to the interface on the physical devices,
thus enabling the use of the same higher level control holons, regardless of
it being a simulated or the physical system.
I am not at all certain that the BGE will not be starved from computational
resouces with the system we imagine simulating, but I have no indication that
it will.
Tell me if I should keep talking.
Best regards,
Morten Lind.
On Monday 31 August 2009 12:11:58 Stefaan michielsen wrote:
> Hi
>
> I've been looking at some middleware for blender robotics the past few
> days and i'm wondering whether there is a middleware without having to
> write parsers for every junction in the system.
>
> On first hand, Verse seems like a good middleware. It brings out the
> structures of blender. So no need for parsing. But on the other hand, it's
> an deserted project, and not every data structure of blender has the
> support needed by us (for instance armatures are non-existent)
>
> At LAAS, yarp is used. I've been exploring the way yarp can help. But it
> seems as though you have to write your own parser, for everything you want
> to be able to do. As well I don't understand why yarp has robotic in the
> name. Is there some bones data structure, or any other robotic related data
> set? Or are bottles used as data containers.
>
> Are there middleware for blender that don't need parsing and are alive?
> If not we should definitly start proposals for what data is to be
> represented towards the middleware.
>
> Since i'm focusing on the *game engine*, channels are the point of
> interest. These contain the information about the pose of a robot. So this
> one should be accessible. This is my proposal for data
> structure/management: - Each joint has it's channel.
> - Since location/size are not to be altered in a robot model while running,
> these values are not to be transported.
> - Quaternion should be transported,as 4 floats
>
> Since the setChannel() of the BX_actionactuator doesn't seem to have a read
> ability, I suggest using the channelEditor as wrapper. This permits to
> retrieve info about a pose, while in game.
>
>
> The list of channels are initialized the 1st iteration of the Game Engine
> in a setup routine.
> Putting them in a dictionary in the GameLogic seems the proper way of
> making them universally available. Example:
>
> def setup(self):
> # Define your channelEditors here. This function will be called only
> once
> # "key" : Value
> # The channels should be changed through this variables.
> # The changes come into effect only after a channel run() is executed
>
> GameLogic.channels = {"act1.axis1":ChannelEditor("act1","axis1"),
> "act1.axis2":ChannelEditor("act1","axis2"),
> "act1.axis3":ChannelEditor("act1","axis3"),
> "act1.axis4":ChannelEditor("act1","axis4"),
> "act1.axis5":ChannelEditor("act1","axis5")
> }
>
> Now you can access the pose rather easily. Each Middleware, can have access
> to each channel simultaneously.
> I've already made an example for yarp integration.
>
> When it's documented properly I'll put it on the blender/robotics wiki.
>
> Stefaan Michielsen
More information about the Robotics
mailing list