One of the ideas of this project is to make a program which could be used by everybody, to create, direct and enjoy a theater play. Whit the purpose of develop this idea, we have created an comprehensible application, which could be used easily by the students. We will show here a short guide of its use, illustrated whit some screenshots.
Once we open the application for the first time it will show us the following screen, the play screen
In this screen we are able to set the name of the play, the size of the scenario and the plot of the play, as well as carry out some other actions, that we will explain later. Once we have introduced the asked data, we will be able to save the play, and go to the main screen, the scenario screen
The main screen, the scenario screen
In this screen we can see in the centre the scenario and all the robots (actors) of the play, spread in two list at both sides of the scenario, as well as the available actions in an horizontal list under the scenario. Over the scenario appears a short-court to the most useful actions in the play, in order of appearance (left->right): “Create an actor“, “Create an action“, “Create an object“, “Modify Play” (this one will carry us to the play screen), “Begin the play“, “Stop the play” and “Settings“. We will proceed to explain how to create an actor, and how to create an action, and after we will talk about the interaction between robots and actions.
If we push the button of “Create an actor” we will go to the actor screen
Create actor screen
In this screen we can see in the right side all the defined motors and all the defined sensors of the play. We can select a port where the motor or the sensor is attached to the robot (the ports of the sensors and the motors are different, that means that the port “2” of the motors is not the same physically than the port “2” of the sensors, so in the application they are different too). By defining the motors and the ports, we make the actions portable, even if physically they don’t share a motor, in the application they can, so you can define an action in the play which uses one motor, and all the robots which have this motor, even if they have it in different ports, will be able to implement this action.
In the left side we can see a box where we can introduce a name for the robot, under this box we see other box to set the size of the robot. In this side there are three buttons too: “Save Robot” so create the actor, “Select Picture” to select a picture which will represent the robot in the scenario, and the “Set basic action” button, this button is used to select an action from all the available actions (in this case the action “MoveFoward“), which is the one that will be trigger when we move the actor over the scenario (dragging its picture), usually this action will consist on moving the robot to any place of the scenario, but there is plenty freedom to create another action which the user think is more useful to trigger when the robot is moved.
Actors moved into the scenario
If we push the button next the the “Create robot” button, the “Create action” button, we will go to the Action Screen
Create action screen
On the left side we see on the top a box to introduce the name of the action, under it we see four boxes, which will be used to add subactions to an action, each one represent one port of the robot (not necessarily represents always the same port). The available actions to add are in the right side, in this side we can see all the available actions, which can be filter by predefined by the application, by created by the user, by motor, and by motor type. Under this actions are the properties of this subactions, the ones we can set, by clicking on the action and changing their values, before adding it (by dragging) to the left side. As we can see some actions involve more than one port, so they will require more than one slot.
Adding subactions to an action
The actions in the same column will be performed at the same time, and once they all finish the robot will proceed to perform the next column. You can add as much columns as you want, and repeat the same action in different columns. We will proceed to explain how the properties of the subactions works
Properties of the subaction
The properties are: the power which defines the percentage over the maximum voltage which will be apply to the motor, and after you can select a second property. This second property can be either a property selected from a list (rotations, angle, or seconds) which after should be receive a numeric value in the box next to it by the user, or can be a target. The target will be an element of the scenario (another robot, an object or a place if the scenario) over the one the action will be performed. The properties can be set fixed or common to some subactions. If we set them as common, all the subactions of this action which have this property as common will be set whit the same value. This value will be set at the time of adding the action to the robot. Which carries out to the next point, the interaction between actors and robots
Adding actions to a robot
If we click on any actor, it will show all the actions which the robot will perform (if we click over it again they will be hidden). The user can add actions by dragging them to this box, and can modify their order or deleting them by dragging them from this box. The actions which have common attributes, will ask us to introduce additional data as we have explain before to fill the “gaps” in the values of the subactions of the action (this gaps are the common properties)
Setting the value of a common properties of the action. In this case the common value is the power
Once all actions to be performed are added to the robots the play can begin! Once we click over the “Begin the play” button, the actions will be send to the robot, and they will perform them, we can stop the play to continue the modifications anytime we want by clicking on the button “Stop play”
This application is still under development, so will appreciate any suggestions, opinions or questions! ^^