3ERobot Coder Help

(X)

 

Subscription Code

Activate

Check

Release

Buy / Renew Subscription

Terms and Conditions ?

(X)

1. The subscription allows access to additional functionality within the 3ERobot Coder application.

2. A new subscription expires 3 months from the date of purchase.

3. Subscriptions can be renewed by typing the Subscription Code as the name.

4. A renewal subscription expires 3 months after the expiration date of the unexpired subscription. If the original subscription has already expired, the expiration date of the renewal will be 3 months from the date of purchase.

5. The Subscription Code should be activated on all computers and browsers used with the 3ERobot Coder.

6. Each computer/browser that uses the Subscription Code claims one from the total available.

7. Subscription Codes can be released from the computer / browser using the release function. Released Codes can then be activated on another computer / browser.


Name ?
Email Address ?
Type ?

- $10 per term
- $25 per term

How Many ?

The Subscription will be listed under the name, organization or description provided.

To renew an existing subscription, type the Subscription Code as the name.

A valid email address must be provided to receive confirmation of your subscription purchase and your Subscription Code.

Standard Subscriptions allow the user to manage files in the web browser memory.

Premium Subscriptions allow the user to manage files in the web browser memory, files in a private cloud, and files in a shared public cloud. Users can access the cloud files from any web browser. The private cloud can only be accessed by the subscription holders. The publically shared files can be accessed by anyone. Users who want to share their software code with friends can save their code to the share cloud with a unique name, then share the name with their friends who can then load the file from the share cloud.

The number of subscriptions that are assigned to the Subscription Code. This is the maximum number of computer/browsers that can use the code.
Click to Review
Invoice

About <>

Version 7.5

The 3ERobot Coder is a simple application that can be used to learn or teach basic software coding (programming) concepts. The user animates a 3 dimensional robot character by creating software code using a simple scripting language (3ERscript) or Javascript (JSON).

System Requirements

This application requires modern browser and computer technologies. Specifically, the computer and browser must support WebGL 3D Canvas graphics. Atlhough this application is designed for desktop computers, some mobile devices may also work.

The application is known to work with the desktop versions of Chrome, Firefox, Safari, Internet Explorer, and Edge web browsers, circa 2015. If you experience problems using this application, first try updating your browser to the latest version before trying the application on a different computer.

How it Works<>

The robot character has dozens of moveable parts that can be positioned independently. Robot motion is achieved by creating a sequence of robot poses.

The user writes software code in the Code View window to create poses for the robot. Each pose that the user creates contains position and speed commands for the robot parts that need to move. The Robot Player generates movement by sequencing thru the poses.

The Robot Player window displays the robot and navigation buttons where the user can see the results of the compiled software code.

Select Robot <>

Use SELECT ROBOT to setup the 3ERobot Coder for a particular robot. New robot characters may be added in the future, and each robot character will have unique movements and capabilities.

The default robot is the Virtual Robot.

Code View window <>

The user creates the software code in the Code View window on the left side of the screen. The user creates the code using the proper coding syntax that is required by the 3ERobot Coder scripting language compiler.

Use the QUICK EDIT lists (Directives, Controls, Robot Moves) to quickly insert text into the code. First, place 3 consecutive dots ... to indicate the insertion point, then select an entry from one of the QUICK EDIT lists.

Click the COMPILE button to convert the software code to the robot control program used by the Robot Player to animate the robot.

If there are no syntax errors, the background color of the Code View window will display GREEN. The compiled pose number is preprended to each RobotPose statement. The user can proceed to the Robot Player.

Click the EDIT button or the VIEW CODE link to re-display the software code.

If there are syntax errors, the background color of the Code View window will display YELLOW, and the Code View window will display sections of the software code that have syntax errors. Click the EDIT button to place your software code back into the Code View window and make corrections as needed. The table below summarizes the coding statements and the proper syntax.

The Code View window will display PINK when the Cheat Sheet information is displayed.

Software Code Statements <>

The following describes the Software Code Statements and their proper syntax. The user may choose to write the code statements as 3ERscript or Javascript Object Notation (JSON).

All statements must be typed exactly as shown, paying particular attention to the upper case and lower case letters. In most cases, white space can be used to make the software code easier to read. However, white space between the brackets ( ) is generally not allowed.

Each JSON pose statement must be terminated with the semi-colon (;). Also, the code statements within a JSON statement must be followed with a comma (,) - except for the last statement.

Note: Proper syntax is essential when coding software.

Directive statements can be placed at the beginning of the software code to set certain operating conditions. The ROBOT.code directive is used to select the scripting format to use, JSON or 3ERscript (the default).

The list shows the available Directives.

Each robot part can be set to one of the available colors shown in the examples.

The ROBOT.library directive loads a file that contains named poses that can be inserted into the user code.

ROBOT.head = Red
ROBOT.chest = Green
ROBOT.torso = Blue
ROBOT.shoulder = White
ROBOT.upperarm = Black
ROBOT.elbow = Yellow
ROBOT.lowerarm = Gray
ROBOT.hand = Magenta
ROBOT.hip = Purple
ROBOT.upperleg = Red
ROBOT.knee = Red
ROBOT.lowerleg = Red
ROBOT.foot = Red

ROBOT.code = 3ERscript
ROBOT.code = JSON

ROBOT.library = name

ROBOT.wireframe = true
ROBOT.wireframe= false

ROBOT.model = Virtual
ROBOT.model = Demo

ROBOT.level = u8
ROBOT.pattern = alpha

ROBOT.music = on
ROBOT.music = off

A Comment Line begins with // and can be used to explain in your own words what is happening in the software code.

The compiler ignores comment lines.

You can use comment lines to disable parts of your software code.

//Comment goes here...

RobotPose()
{
   RobotPart(75)
   RobotPart(10)
   //RobotPartSpeed(5)
}

Create a robot pose. A blank robot pose assumes the position of the preceding pose.

A blank pose is useful at the beginning of the software code to position the robot in the default starting pose.

RobotPose()
{

}

or JSON **********

{

};

Position the robot parts within a robot pose. Write the code between the { }. Use white space to make your code easy to read.

Each robot part has a Range of Motion. The value between the ( ) can be from 0 to 100. The value represents the position of the robot part as a percentage of the Range of Motion. A value of 0 or no value, selects the default position.

Each robot part has a Speed setting. The value between the ( ) can be from 0 to 5. The value represents the relative speed of the part movement for that pose and subsequent poses. A value of 0 or no value, selects the default speed.

Replace the RobotParts in the example shown with the following robot parts:

  • bodySpin
  • headRotate
  • headExtend
  • headFlex
  • torsoRotate
  • torsoExtend
  • torsoFlex
  • waistRotate
  • waistExtend
  • waistFlex
  • rightShoulderFlex
  • rightArmExtend
  • rightArmFlex
  • rightElbowBend
  • rightHandExtend
  • rightHandFlex
  • leftShoulderFlex
  • leftArmExtend
  • leftArmFlex
  • leftElbowBend
  • leftHandExtend
  • leftHandFlex
  • tailRotate
  • tailExtend
  • tailFlex
  • rightHipFlex
  • rightLegExtend
  • rightLegFlex
  • rightKneeBend
  • rightFootExtend
  • leftHipFlex
  • leftLegExtend
  • leftLegFlex
  • leftKneeBend
  • leftFootExtend

RobotPose()
{
   RobotPart(75)
   RobotPart(10)
   RobotPartSpeed(5)
}

or JSON **********

{
   "RobotPart" : 75,
   "RobotPart" : 10,
   "RobotPartSpeed" : 5
};


Name a robot pose. A robot pose can be named if you want to loop back to the pose.

A named pose can also indicate the beginning of a sequence of poses that can be reused. See Function below.

The name (myName) can be up to 16 upper / lower case characters or numbers.

RobotPose(myName)
{
   bodySpin(1)
}

or JSON **********

{
   "name" : "myName",
   "bodySpin" : 1
} ;

Set the Pose Time for the pose by including the PoseTime statement within a pose.

The value between the ( ) of PoseTime(2) represents the number of half seconds that the robot will pause at the pose. For example the value 2 will pause for 1 second.

The value can be from 0 to 99 for 0 to 50 seconds, respectively. If no value is placed between the brackets, (), the pose time is set to the default pose time for the robot selected.

RobotPose()
{
   PoseTime(2)
   rightArmExtend(100)
   leftKneeBend(50)
}

or JSON **********

{
   "PoseTime" : 2,
   "rightArmExtend" : 100,
   "leftKneeBend" : 50
} ;

Reuse a robot pose as shown.

The doRobotPose() statement, without a name, will pose the robot in the default Robot Ready pose.

The [posename] statement will insert a named pose from the library file loaded with the ROBOT.library directive.

RobotPose(myName)
{
   bodySpin(1)
}

.
.
.

RobotPose()
{
   doRobotPose(myName)
}

RobotPose()
{
   doRobotPose()
}

or JSON **********

{
   "name" : "myName",
   "bodySpin" : 1
} ;

.
.
.

{
   "doRobotPose" : "myName"
} ;

{
   "doRobotPose" : ""
} ;

[posename]

Loop back to the named pose by including a Loop statement within a pose.

The number is the total number of times to loop back. The number can be from 1 to 99.

After the total number of loops are completed, the animator will advance to the pose following the Loop pose.

RobotPose(myName)
{
   bodySpin(1)
}

.
.
.

RobotPose()
{
  Loop(myName,3)
}

or JSON **********

{
   "name" : "myName",
   "bodySpin" : 1
} ;

.
.
.

{
  "Loop" : {
           "name" : "myName", 
           "count" : 3
   }
} ;

Create a sequence of poses to reuse by naming the first pose in the sequence followed by a return pose as shown.

RobotPose(myName)
{
   bodySpin(1)
}

.
.
.

RobotPose()
{
  Return(myName)
}

or JSON **********

{
   "name" : "myName",
   "bodySpin" : 1
} ;

.
.
.

{
  "Return" : "myName"
} ;

Reuse a previously created sequence of poses by creating a Function pose statement as shown. The myName value represents the named pose which should be the first pose in the sequence.

Upon encountering the last pose of the sequence , the Return pose, the pose following the Function pose will be executed.

RobotPose()
{
  Function(myName)
}

or JSON **********

{
  "Function" : "myName"
};

Generate robot speech by adding this statement. The text can be up to 64 characters including spaces, periods, commas, question marks, and exclamation marks.

Note that <text> is a shorthand method for defining robot speech.

The Robot Player will display a Speech Caption to indicate Robot Speech.

The real Demo Robot will speak the text aloud.

Web browsers (Chrome, Safari) that support text to speech (TTS) will speak the text aloud using the computer's default voice.

RobotPose()
{
  Say(text)
}

or JSON **********

{
  "Say" : "text"
};

<text>

Change the View of the 3D scene using these statements.

The value between the ( ) can be from 0 to 100. The value represents the view as a percentage of the Range of Motion. A value of 0 or no value, selects the default view.

RobotPose()
{
  Zoom(35)
  Pan(65)
  Tilt(10)
}

or JSON **********

{
  "Zoom" : 35,
  "Pan" : 65,
  "Tilt" : 10
} ;

Robot Player <>

The Robot Player on the right side of the screen displays the robot and navigation buttons; REWIND, NEXT, FF, PLAY. The current robot pose and total poses are displayed by the Robot Player above the navigator buttons.

Click the REWIND button to rewind the Robot Player to the Robot Ready pose, pose [0]. Click the NEXT button to display the next robot pose. Click the FF button to fast forward thru the robot poses. Click the PLAY button to animate the robot by sequencing through the robot poses.

To stop the Robot Player at a particular pose, type the pose number into the text box above the Break check box, then select the Break check box.

Example Code <>

Click the EXAMPLE button to place example software code into the Code View window. The example is appropriate for the robot selection.

The example code can be compiled and played in the Robot Player. Click the VIEW CODE link to place your software code back into the Code View window.

Compiling the Example Code will save the code as your code. You can then edit the code as desired.

Code Manager <>

The Code Manager allows the user to Save, Load, and Remove software code files created in the Code View window. A subscription is required to use the Code Manager functionality. Click the Code Manager title to refresh the subscription status.


Select SAVE to save your software code currently in the Code View window. Otherwise, your software code will be lost when you close your web browser.

Select LOAD to retrieve previously saved software code.

Select REMOVE to remove previously saved software code.


Standard Subscriptions allow the user to manage files in the web browser memory.

Premium Subscriptions allow the user to manage files in the web browser memory, files in a private cloud, and files in a shared public cloud. Users can access the cloud files from any web browser. The private cloud can only be accessed by the subscription holders. The publically shared files can be accessed by anyone. Users who want to share their software code with friends can save their code to the share cloud with a unique name, then share the name with their friends who can then load the file from the share cloud.

Select BROWSER to manage files in the web browser memory.

Select myCLOUD to manage files on a private cloud.

Select SHARE to manage files on a public shared cloud.

Type a CLOUD NAME in the text box to organize your saved files.


Type a CODE NAME for your code or select a name from the list of code names that are in the browser memory. If myCLOUD or BROWSER is selected, the list will display the saved filenames that are grouped under the the Cloud Name.


Click the SAVE/LOAD/REMOVE/CANCEL selection to select your desired action. Then click the button to execute.

Click the OK button to clear the Code Manager messages and reset the Code Manager selection to CANCEL.

Cheat Sheet <>

Click the CHEAT SHEET button to display a short reference of the software code statements and syntax. The Code View window will display PINK when the reference information is displayed.

Click the VIEW CODE link to restore the software code.