The flow diagram panel is the place where you can compose NAO’s behaviors.
A - Box path: allow you to browse a multilevel diagram (box including boxes).
B - Flow diagram: represents a group of boxes linked with each other.
To create a behavior, you need boxes. To get a box from here you can:
Once you have boxes in your diagram you can:
Moreover you can zoom in or out the diagram to have a better point of view of the boxes by right-clicking anywhere on the flow diagram, selecting Zoom and choosing the zoom level you want. By default the auto-zoom is set so that you can see as many boxes as possible within the diagram panel.
You can directly edit or delete each existing input (or output) of a box by right-clicking on it and selecting the action you want to make (edit or delete).
In the same way you can directly add a new input (or output) to a box by right-clicking on one of the existing inputs (or outputs) and selecting Add input (or Add output).
And if your box is a flow diagram or a timeline, you can even directly add an input from ALMemory by right-clicking on one of the inputs and selecting Add input from ALMemory.
You can also add, edit and delete most of inputs (and outputs) of a box by right-clicking in the far left area (or the far right area for the outputs) of the diagram when you are in the box diagram.
Note
While the behavior is running, you can simulate a signal on an input (or an output) by double-clicking on the input (or the output). If it carries a data, then you will be asked to enter the data value you want to send through the input (or the output).
To connect two boxes to each other you must drag and drop the mouse from the output of the first to the input of the second. A link then appears between the output and the input.
You can also set the value of a box parameter from the value of a box output by dragging and dropping the mouse from the output of the source box to the parameter button of the destination box. You can then choose the parameter which you want to change the value of. For instance, you can have a link that changes the speed of the text synthesis on the box Say:
Once you have links in your diagram you can:
You can also select several links and boxes of a diagram by dragging and dropping the mouse so that the square drawn by your mouse includes the boxes you want to select. You can even select all the links and boxes by right-clicking anywhere on the diagram and selecting Select All.
Then you will be able to group several boxes linked to each other into a single box in order to have a more readable flow diagram. To do so, right-click anywhere on the selection and select Convert to Box.
Note
This single box will have no input nor output if the selected boxes are not linked to an other box which is not selected nor to the main inputs or outputs.
In order to have clear and organized diagram it is possible to gather several boxes into one, to do so:
Select all the boxes you want to gather.
Right click on the diagram and click on Convert to box in the context menu.
If you double click on the created box you will see that all the selected boxes are in it.
Check if the links are good.
You can access the diagram of a box (if any) by double-clicking on it. You can come back to the parent diagram (if any) by double-clicking on the background of the flow diagram.
If you double-click on a timeline box to enter the diagram, the flow diagram then displayed will not be quite the same as the one corresponding to a flow diagram box and a new panel will be displayed: the Timeline panel.
If the timeline of the box has no behavior layer, it has no flow diagram and then the Flow Diagram panel will be empty as shown below.
If it has at least one behavior layer and one behavior keyframe, the diagram displayed is the diagram of the selected behavior keyframe.
Each behavior keyframe has its own diagram. And each behavior keyframe diagram has an onLoad input as shown below.
This input is stimulated as soon as the diagram is loaded.
Note
A script box has no flow diagram. So when you double-click on it, it will be the Script Editor with the box script which will be displayed. Fore further details about this panel, go to the concerned section: the Script Editor.