Servo Speed icon Servo Speed Adjust servo/PWM speed (0-20) between two positions to quickly experiment and tune motion; select board/port; settings aren't saved. Try it →

Windows Release 2014.11.10.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 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
$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

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#9  

The variable is set here:

User-inserted image

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.

User-inserted image

#10  

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:)

Author Avatar
United Kingdom
LinkedIn Twitter Google+ YouTube
#11  

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.

#12  

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

#13  

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.

  1. 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).

  2. 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

Author Avatar
United Kingdom
LinkedIn Twitter Google+ YouTube
#14  

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.

#15  

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

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#16  

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