HTTP Server (Custom) icon HTTP Server (Custom) HTTP server for ARC serving HTML/CSS/PNG/JPG from ARC/HTTP Server Root; supports AJAX tags (ez-move, ez-script, ez-camera) to control the robot. Try it →

Release 2017.06.23.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

  • When ez-bits are missing, do not allow user to SKIP. Now first time users must SYNC or CLOSE. Skip is no longer an option.

  • Script Flow control bug fix for 3rd party controls. Find out more about script flow by clicking HERE

  • Dynamic Turning with camera control Movement Tracking (see below)

This is a fun release because it has a pretty significant update to the camera movement tracking. The movement tracking is a setting in the camera configuration which tells the robot to physically follow the specified tracking type using the movement panel. Of course, a Movement Panel is required in the project for this to work. The old movement tracking would stop the robot and turn toward the object. This new addition uses a Dynamic Turning option. This means the robot will turn toward the object while moving forward. The further the object is to the edge of the screen, the harder the robot will turn in that direction.

User-inserted image

  1. Enabling this checkbox instructs the camera control to use the Movement Panel and have the robot physically follow the object.

  2. Enabling Speed Settings tells the robot to use the specified speeds when tracking with the movement panel. Forward, Left and Right speeds can be specified and tested here.

  3. Enabling Dynamic Turning will have the robot turn toward the object at a variable speed. The values in this area are the SLOWEST speed the robot's wheel will turn in that direction. This means SLOWER = MORE TURNING. The further the detected object is from the center grid lines, the faster the robot will turn. Having this number as low as possible is usually best. For Roli, it would be set for a 1

Here is an example of the robot NOT using dynamic turning. Notice how the robot STOPS and TURNS and STOP and TURNS and STOPS and TURNS, etc...

Here is an example of the robot USING dynamic turning. Notice how the robot continues straight while tracking the object...


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

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

#9  

@DJ I am not sure about the built in roomba control as I mostly use the custom movement panel. But yes, the Roomba does use speed control... Even if it doesn't exactly match up to GetSpeedLeft() and GetSpeedRight() simple math will correct for variations...

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#10  

Getspeed and setspeed is a number between 0-255

If there are two speed sliders on the roomba control, then it supports two speeds and will work with dynamic turning.

#11  

@DJ The Map() function could be useful when 3rd party hardware doesn't match 0 - 255 as a speed control. Anyway, I think your dynamic turning ( and ez scripting) is pretty flexible and probably can be used with any 3rd party robot or controller... A little bit of math never hurt anyone...:)

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#12  

All ezrobot controls for speed accept 0-255. There's an internal mapping function in ARC for that.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#13  

Show me your roomba code and i'll show you how to turn it into a plugin with speed ability if you want

#14  

@DJ Here is a project I created when I was messing with roboRealm for visual navigation. It should provide you with info on how I use the custom Movement Panel and getting other info from the roomba... I am a little embarrassed because I am a little bit of a messy coder...:)... Let me know if you need anything else... Create_2_Mapping.EZB

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#15  

Yeah looks like you should be using the Map function. Here's how to use it...

Quote:

Map( input, inputMin, inputMax, containerMin, containerMax ) Returns a scaled value of input between containerMin and containerMax. Specify the known input’s minimum and maximum values, and the known container (output) values. For example, if you were to scale a value between -1 and 1 to 0 and 180, enter this, which returns 135. Example: $x = Map(0.5, -1, 1, 0, 180)

User-inserted image

#16  

This will work fantastic with IPS... I am almost as excited as when I first got my ezb3 4 years ago... :)