Team of the month: Visual Rules state flow meets Stäubli robot
When I joined Bosch Software Innovations some years ago, one of my first projects was the analysis of a fancy fire detection scenario, which was intended to guide the development of the Visual Rules State Flow (a state diagram using transition rules modeled with Visual Rules). I still remember myself standing in front of a whiteboard, lively discussing the scenario with Markus and Mike, who tried to scribble the stuff that we came up and subsequently discarded. Time passed and the State Flow grew from toddler to promising juvenile. While it has been and still is pretty much underestimated, we finally have the opportunity to show its potential in an Industrial-IT showcase. Currently, we develop this showcase, which is supposed to look eventually as illustrated below, with a bunch of illustrious partners, among others Stäubli (who provide a 6-axis robot), SICK (who provide an image-based code reader), and HP (who provide the server).
The scenario envisages a 6-axis robot that grabs a block from a rack (on the left of the figure) and puts it into a pallet. There are two image processing systems: The lector above the pallet supports the initial quality control, i.e. it monitors the assembly of the pallet. The so-called SafteyEYE above the 6-axis robot ensures that the latter stops whenever a human enters its area of operations. The means of transport (in the middle of the figure) moves the pallet to an operator who does another quality control and then via GUI either approves the assembly or discards it.
I modeled the State Flow illustrated below to understand the set-up and the constraints of this scenario. As you can see, with its special elements and this crowd of arrows a State Flow looks pretty different from a “normal” Flow Rule. So, if you want to learn more about the elements and its structure, have a look at Sascha’s post “May I Introduce Myself? My Name Is State Flow”!
In order to set up the – let’s call it – seed of the showcase, the partners agreed to meet at the Robotation Academy. Even though, not all the partners could make it, we were able
- To set up a (TCP/IP) communication – pretty easy task, though – and
- To run a simple sequence modeled with a State Flow that controls the Stäubli robot.
Have a look at my model and the video that I took (admittedly with my cell phone) while working in Hannover.
You may wonder why the robot does not really grab the blocks. Well, during our very first run, the robot crashed into a block that was by mistake already lying in the pallet. This damaged its “hand”. That’s why, in order to stop the robot in time if it again runs into something (even more) expensive, such as the Plexiglas rack, X. Fan (Stäubli) held the manual controller tightly during the rest of our experiments (as you can see in the video). So obviously, the next gadget to be integrated is the image processing by SICK, which will help us avoid such crashes (and which will hopefully make X. Fan relax and release the manual controller…)
This it is, the SICK Lector® 620 mounted at the wall of my office and ready to be integrated into the scenario, that is to say the State Flow model. I am very much looking forward to this next challenge!
Last but not least: Special thanks go to Xi Fan and Michael Weiß (Stäubli), Sascha, Caroline, Mike, Robert, and Matthias (Bosch Software Innovations), and Sebastian Brinkel (Robotation Academy).