Robot Skills

ARC apps consist of Robot Skill Controls. Each skill is a behavior for the robot, and can be thought of as a process (or node). There are skills for WiiMotes, Cameras, Speech Recognition, and hundreds more. Skills can be added to a project workspace using the Add Skill option located in the Project tab of the main menu.

Skill Messaging Example

Skills can send commands programmatically to each other. In this example, the speech is detected and events are passed between skills to achieve a final goal. Which, could also be recursive if necessary. To send commands, use the ControlCommand() script method. 

Create Custom Robot Skill Control

You may wish to create a custom control and publish in Synthiam's Skill Store. There is a great tutorial on making a control HERE.

Create robot control

Add Robot Skill To Workspace

Robot Skill Controls can be added to your project using the Add Skill option located in the Project tab of the main menu.

Add Control To Robot

Add Robot Skill Menu

When the Add Skill button is pressed, the dialog will be displayed with a list of all controls in their respective category. Selecting a skill will add it to your project. Some controls will be grey because they have not been installed. Press the download icon on the skill when an internet connection is available to download and install the robot skill. The Auto Arrange check-box located on the bottom of the Add Control dialog will auto arrange all skill controls on your project to fit the new control if checked.

Help For Robot Skills

Every skill control has a question mark next to the close X button. Pressing the question mark button will direct you to a manual page for the respective skills.

Robot Help button

Configure Button

Every skill control has a configure button in the title bar. Pressing this button will open the configuration dialog for the respective skill. The configuration dialog will present numerous configuration options on how the skill will behave.

Robot Config button

Configure Dialog

Each window has a unique configuration dialog with settings related to the behavior. There is one common setting between all robot skills, which is the Control Title/Name. Each skill control requires a unique name. This is because the ControlCommand() can send commands to controls to programmatically change parameters. As an example, you can use JavaScript to tell the Camera Control to enable face tracking. The ControlCommand() is available for Python, JavaScript and EZ-Script. In Blockly, the controlcommand is under Utilities tab.