(Autonomous Robot Control Software)
Make robots with the easiest robot programming software. Experience user-friendly features that make any robot easy to program.
Change Release Notes
This is a small release with one new feature for the camera control
- new Camera Variable: $IsCameraActive which returns the status of the camera. Can be configured to a custom variable name in the camera config dialog
ARC Downloads
ARC Free
Free
- Includes one free 3rd party plugin robot skill per project
- Trial cloud services
- Free with trial limitations
For schools, personal use & organizations. This edition is updated every 6-12 months.
Recommended
ARC Pro
Only $8.99/mo
- 2 or more PCs simultaneously
- Includes unlimited skills
- Cloud backup
- And much more
Experience the latest features and bug fixes weekly. A Pro subscription is required to use this edition.
Runtime
Free
- Load and run any ARC project
- Operates in read-only mode
- Unlimited robot skills
- Early access fixes & features
Have you finished programming your robot? Use this to run existing ARC projects for free*.
- Minimum requirements are Windows 10 or higher with 2+gb ram and 500+MB free space.
- Recommended requirements are Windows 10 or higher with 8+gb ram and 1000+MB free space.
- ARC Free known-issues can be viewed by clicking here.
- Get more information about each ARC edition by clicking here.
- See what's new in the latest versions with Release notes.
Compare Editions
Feature | ARC FREE |
ARC PRO |
---|---|---|
Get ARC for Free | View Plans | |
Usage | Personal DIY Education |
Personal DIY Education Business |
Early access to new features & fixes | Yes | |
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 recongition phrases* | 10 | Unlimited |
Camera devices* | 1 | Unlimited |
Vision resolution | max 320x240 | Unlimited |
Interface builder* | 2 | Unlimited |
Cloud project size | 128 MB | |
Cloud project revision history | Yes | |
Create Exosphere requests | 50/month | |
Exosphere API access | Contact Us | |
Volume license discounts | Contact Us | |
Get ARC for 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)
** 1,000 per cognitive type (vision recognition, speech recognition, face detection, sentiment, text recognition, emotion detection, azure text to speech)
Upgrade to ARC Pro
Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.
The variable is set here:
If using the latest ARC, the variable is set soon as the camera is loaded. does not matter if the camera has been activated or not, the variable is set. Never, ever set a variable that is automatically set by a control. The variable is set by the control, not by you.
I knew about where to find the list of various control variables, but thanks for letting me know not to mess with setting them via initialization type scripts... Good to know... thanks
Have you added any delay prior to the IF to make sure the camera control is loaded before checking if it's running? As DJ said, the variables are there on the control being loaded.
That's a really good point @Rich.... Some complex controls I assume need extra time to load... ARC being a multi threading program means that running scripts may not wait for those controls to load...
Yes, there is several seconds of delay throughout my initialization script, and I was attempting this on the last step.
I have figured out the sequence of events that causes the issues.
If I start ARC and open my project before starting Roli, the camera fails to initialize, so the variable is not initialized (none of the camera variables appear in variable watcher, and the script using the IF statement fails).
If on the other hand, Roli is started before opening the project, the camera initializes and starts, but if I run ControlCommand("Camera", CameraStart) and the camera has already started, then ARC intermittently crashes.
There does not seem to be a way to use the variable to check the camera status if the camera has not already been run at least once in this session.
However, I think I found a solution.
Running ControlCommand("Camera", CameraStop) when the camera is not running records errors in the log, but so far has not crashed ARC, so I will add this to the end of my initialization script:
ControlCommand("Camera", CameraStop) sleep(1000) ControlCommand("Camera", CameraStart)
That way, if the camera was not running, it will start, and if it was running, it will stop, wait a second, and re-start. Avoiding the issue with the variable.
Alan
From memory (which is fuzzy at best right now) is there a toggle for the camera start/stop? Possibly use the ControlCommand for toggle twice in quick succession may kick the variables in for the camera and allowing the IF to work and avoiding stopping a stopped or starting a started camera control.
There is not a documented CameraToggle (there are toggles for tracking, recording, etc). But now I can't find where CameraStart and CameraStop were documented other than forum posts by DJ and others. They aren't in the list of ControlCommand parameters in the script reference.
Alan
Alan, certain you have the most recent version of ARC?
I'm unable to reproduce similar results. The code initializes the variables when the camera control is added to the project - whether active or not...