Servo Sketch 3D icon Servo Sketch 3D Real-time 3D servo visualization with motion trails, interactive camera controls and clear trail for ARC debugging and analysis. Try it →

Release 2013.07.22.00

Desktop — Windows

ARC Release

ARC (Autonomous Robot Control) is Synthiam's flagship desktop robot programming platform. Build, program, and control any robot with powerful AI, 500+ plugins, and a visual no-code interface — all from your PC.

🤖 500+ Robot Plugins
🧠 AI & Machine Learning
☁️ Synthiam Cloud
🖥️ Windows 10 or 11

Change Release Notes

This release contains a rewrite of the EZ-Script compiler for more features, functions, scientific math and compliance. The old compiler allowed you to embed variables within a quoted string ( i.e. "Text: $variable" ). However, that wasn't a compliant syntax to be similar with other programming languages. The new compiler requires the strings to be concatenated (i.e. "Text: " + $variable). This will aid in education and readability.

There is also a slight speed increase in the compiler. And many new functions for Math and Logic.

A really neat add-in is a new control for the Apple Mobile Device App called FNI Co. Sensor Streamer. There is both a free and paid version available. The control can be found under the Misc category of Add Control. The control will set variables to the values of parameters from the application. This includes sensors such as Compass (teslameter), Accelerometer, Gyroscope, GPS (longitude, latitude), and touchscreen. It's a really great app! Download App: https://itunes.apple.com/app/sensor-data-streamer/id608278214?mt=8

  • New EZ-Script compiler

  • New Control: Sensor Streamer Server

  • New memory Variable Manager

  • File->Open dialog remembers last open location To Use

  1. Load ARC
  2. Select Projects tab from top menu
  3. Press Add Control
  4. Select MISC tab
  5. Add the control "Sensor Streamer Server"

The control will default to port 1111. Configure your Mobile Device to connect to your computer's IP Address. The control will display the Accelerometer, Gyroscope and Compass Direction. The Config menu will allow you to assign sensor values to EZ-Script variables. The Sensor Stream Server will also control servos. This can be configured under the Config menu of the control.

User-inserted image

User-inserted image


ARC Downloads

ARC

FREE
$0 always free
  • 1 third-party plugin skill per project
  • Trial cloud services
  • Personal, DIY & education use
  • Updated every 6–12 months
Recommended

ARC

PRO
$8.99 per month
  • Use on 2+ PCs simultaneously
  • Unlimited robot skills
  • Cloud backup & revision history
  • Weekly features & bug fixes
  • Business use permitted

ARC

RUNTIME
$0 always free
  • Load & run any ARC project
  • Read-only mode
  • Unlimited robot skills
  • Includes early access fixes & features
  • Minimum requirements: Windows 10 or higher, 2 GB RAM, 500 MB free disk space.
  • Recommended: Windows 10 or higher, 8 GB RAM, 1 GB free disk space.
  • Prices are in USD.
  • More about each edition: Download & install guide.
  • Latest changes: Release notes.

Compare Editions

Feature
ARC
FREE
ARC
PRO
Get ARC Free View Plans
Usage Personal · DIY · Education Personal · DIY · Education · Business
Early access to new features & fixes
Simultaneous microcontroller connections * 1 255
Robot skills * 20 Unlimited
Skill Store plugins * 1 Unlimited
Cognitive services usage ** 10 / day 6,000 / day
Auto-positions gait actions * 40 Unlimited
Speech recognition phrases * 10 Unlimited
Camera devices * 1 Unlimited
Vision resolution max 320×240 Unlimited
Interface builder * 2 Unlimited
Cloud project size 128 MB
Cloud project revision history
Create Exosphere requests 50 / month
Exosphere API access Contact Us
Volume license discounts Contact Us
Get ARC Free View Plans

* Per robot project

** 1,000 per cognitive type: vision recognition, speech recognition, face detection, sentiment, text recognition, emotion detection, azure text to speech


ARC Pro

Upgrade to ARC Pro

Subscribe to ARC Pro, and your robot will become a canvas for your imagination, limited only by your creativity.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#25  

Thanks @Andre99, have you thought about using the Script Manager or EZ-Script control? You can toggle the digital ports using the toggle EZ-Script command. Or just use the SET command to turn them on or off programatically

#26  

Hello DJ, for this base I want to be able to control it's position with the keyboard or the mouse because my mower robot will use this type of controls to record the perimeter of my courtward.

I just think I can use a joystick unstead with script, it will be much better, I will be able to have speed control at the same time as direction (for the mower, the other is only on or off). So, will have to wait until tomorrow to purchase a joystick :( The joystick panel is very good, the Variables will be perfect.

The toggle function is to toggle the state of the output of one digital port ? I made a search and was not able to fin any example in the forum, only in ARC and I can't test it now, my wife is sleeping.:)

Thank you DJ for the good suggestions, I am very happy with my EZ kit and it alway's surprise me with the possibility you have made in it.

Andre

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#27  

Awesome Andre99:) Also, look in the Keyboard Control. You can map EZ-Script to keys. It is found under the Scripting tab:D

#28  

DJ, you are surprising ! This will do the job perfectly, you had just made my day. Look like I will have a lot of fun tomorrow morning.

Just to show you the little thing I test, it's not good looking for now:

User-inserted image

Thank's again DJ

#29  

The example below does not appear to be working in the script control of ARC.

The first time I run the script control it gives me 0's regardless of the color of the BlinkM. The second time I ran it, it disconnects the EZ-Robot controller in the connection widget.

From the ARC BlinkM control I was able to read and set values just fine. My BlinkM fades through many colors as a default program. I was able to pick up different values at different times.

Is it a flaw with the example code?

from : https://synthiam.com/Community/Questions/3918


# Shift the bits over
# Set the LSB (first bit) to a 1
# When first bit is a 1 on i2c, that means
# it is a Read Address
$i2cAddress = 0x09

Print("BlinkM Address: " + $i2cAddress)

# Tell BlinkM we want the RGB Values
i2cWrite(0, $i2cAddress, 0x67)

# Receive the RGB Values
$raw = i2cRead(0, AUTO, $i2cAddress , 3)

# Print the number of bytes
Print("Received: " + Length($Raw) + " Bytes" )

# Print the hex value of each byte
PrintHex($Raw)

# Split the array of bytes and assign to each variable
$Red = GetByte($Raw[0])
$Green = GetByte($Raw[1])
$Blue = GetByte($Raw[2])
Author Avatar
United Kingdom
LinkedIn Twitter Google+ YouTube
#30  

Probably something in the code needs changing, I'll have a look when I get the chance.

Have you tried substituting the $i2caddress variable for the actual address, in this case 0x09?

#31  

Tried putting in the address instead of the variable... still get 0's on the first run and disconnect on the second.

Return in the status window when it disconnects.


Disconnected
Comm Err: Not Connected
BbytesToExpect: 1

Received: 
Disconnected
Disconnected
Author Avatar
United Kingdom
LinkedIn Twitter Google+ YouTube
#32  

Have you checked the wiring of the BlinkM? Some of my I2C devices would cause disconnects when I had bad wires.

I'll try and test it on mine later if I can.