As suggest by Sébastien here I will post on my progress of building a robotics project in Flowbotics, starting as a complete novice in Flowbotics, but with many years experience in software development and architecture.
First some background. My interest and purpose is to build real world autonomous robots based upon Perceptual Control Theory, which is a approach to living systems, and robotics, as a hierarchy of feedback control systems which control their perceptions (inputs) rather than the conventional view of controlling (motor) output. You can see some videos of robots on the youtube channel. All the control systems consist of simulations of neural signals and associated functions. So, any implementation is entirely digital signal processing.
Currently I have a framework of Java libraries to run on the (Lego) robots. The framework comprises generic Java functionality for running the control systems which are defined by XML configuration files, which specify all the necessary parameters, such as gain, for the system functions. There is also a Swing GUI for monitoring the real time system remotely over TCPIP.
Working with XML configuration files is not ideal so it would be good to create the configuration within a GUI, where functions can be connected together, and grouped into control systems, and the whole system can be viewed graphically. This is where Flowbotics comes in and looks just the sort of thing I need. It would also be good to use the same project schematic to monitor the remote system and to modify remote parameters in real time. And to hot deploy modified projects to the remote robot.
So my intention is to do the following:
]create a module for a neural function, requires properties and list of parameters/:m]
]group neural function modules into control system modules/:m]
]group control systems into layers/:m]
]create different modes for the same schematic, e.g. LOCAL, CONFIGURE, MONITOR/:m]
]call Java functions to build the XML /:m]
]create ruby functions at heart of neural module to control processing according to mode/:m]
]create TCP connections to remote system/:m]
]use scope GUIs for displaying real time control variables/:m]
Here are some things I think I will need,
]Global variables for the modes/:m]
]Shell execute for calling the Java functions, and returning function output/:m]
]Set properties of modules/:m]
]Lists (or arrays) of input parameters to modules, where each parameter consists of three strings, name, value, datatype/:m]
]TCPIP connection to remote system to accept set of floats, each of which correspond a neural function/:m]
]In each function read, and display, corresponding float /:m]
I am just starting out working out how to use Flowbotics, here are a few things not yet sorted out,
]it wasn’t apparent how to connect to the scope component/:m]
]the shell exec component doesn’t appear to return output from the shell/:m]
]the ruby component has a “LoadError (in method parse)” message with test code of “2+2”/:m]
I will update this thread with the progress of this project. Any pointers or suggestions to aid with the development would be most welcome.
Regards,
Rupert