Overview

ARC provides an event-based programming model. Robot skills will execute scripts triggered by events. For example, scripts run when the camera detects an object and begins tracking. Or, a script executes when a button is pressed on a joystick device. Or, a script can be executed when instructed by a Robot Skill function or ControlCommand(). Each robot skill will contain various event scripts respective to its behavior. ARC provides a few programming languages embedded in the application covered here.

Synthiam has developed the ARC software to scale between beginner and advanced users. Our mission is to make robot programming accessible and increase the likelihood of success.

Roboscratch

(Very easy)

Designed for learning the basics of programming, RoboScratch introduces a programming interface exclusive to ARC. With RoboScratch, function blocks are added to the workspace to create a sketch. There are blocks such as waiting for the camera to see an object, waiting for speech, or executing a movement action. Link blocks to instruct robots to perform behaviors and complete tasks.

Blockly

(Easy)

Blockly programming provides the user with graphical blocks representing programming functions or subroutines. Blockly allows users to access advanced technologies creatively without knowing the programming syntax by typing with a keyboard.

Scripting

(Intermediate)

Syntax programming is available in three scripting languages JavaScript, EZ-Script, and Python. All robot skills support any scripting languages to interact with each other for custom behaviors. Using the powerful ControlCommand messaging system, have events from robot skills send triggers to other robot skills within the project.

Programming

(Advanced)

Compile programs and libraries which interface with the ARC API. Make robot skills to distribute in the robot skill store, or use the existing framework to accelerate robot development. Access existing robot skills or the ARC API framework with C++, C, C#, VB, and more.


Block Programming (beginner)

Unlike text-based programming, block-based programming refers to programming language and IDE that separates executable actions into modular portions called blocks. These blocks are generally represented with icons that can be clicked and dragged to reorder.


Text-Based Programming (intermediate/advanced)


Robot Skill Programming

Custom robot skills can be created by users or companies wanting to add their service/peripheral to ARC. Robot skills are developed using managed CLR-supported languages, such as C# or C++. To learn how to create a custom robot skill, view the create robot skill documentation.


Choose Programming Language

There may be options to add code when editing a robot skill configuration. The code dialog window in ARC provides a tab option to select what language to use for this option. Multiple languages can be used throughout a project - you do not need to use the same language.