(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
Fix for EZ-B v4 Scanner (http://www.ez-robot.com/Community/Forum/Thread?threadId=8697)
Plugin framework now scans and loads dependent assembly libraries that your plugin may include.
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
Stay on the cutting edge of robotics with ARC Pro, guaranteeing that your robot is always ahead of the game.
Thanks for dependant assembles feature was going to ask about that.
Ugh, you have no idea how frustrating it was to implement. So, .Net has a appdomain, which they feel should be limited to the current file folder for security. Why? I have no idea - but Microsoft feels that any other installed software must be a virus... i guess!
So when you load an assembly, the refelection method doesn't look in the loaded assembly's folder for any of it's dependencies. In fact, it only looks in the calling application's domain (which is the ARC installation folder).
This isn't a problem when loading an unmanaged DLL with interop - because at that point, .Net doesn't seem to care what folder it is in, long as the path is specified.
So to get around this, there is an event which the current AppDomain will raise when it is resolving assemblies.
So the idea is before loading the plugin, assign an event to resolve assemblies. Then load the assembly, resolve the dependencies, and finally un-assign the event so it doesn't happen again.
Took all evening to figure out. I was trying to make the Oculus Rift plugin, and the dependencies just wouldn't load!
*Note: I just updated this from 2015.12.04.00 to 2015.12.05.00 because my code was being a little selfish. By selfish, i mean the only time ez_builder attempted to resolve assemblies was during the loading/initialization of a plugin. I did not take into consideration libraries being loaded after initialization, for example on the click of a button.
So now the search for missing assemblies is global. However, it will only search for the assembly in the plugin root folder still. An error will be displayed otherwise.
For example, i should have not been removing the -= the assembly resolve event after the plugin has been loaded. Now it is moved into a single global init when ARC first loads, to ensure resolving failed dependencies searches for the required assembly in your root plugin folder.
I was using the c# svg graphics library .Dll and I copied it into the ARC folder where all the ARC dlls where that seemed to resolve the issue. I knew there would be trouble with the plug in installation issues amongst the community so I ended up manually drawing the shaped using gdi+. With your hard work the community should be able to use any dlls now. Awesome.
I am using custom fonts for the plugin and they seems to be okay residing/loading in the plugin directory.
Nice!
If you do need to read files from the plugin folder, here's how you can get the path to the plugin root folder, by combing the guid and windows environment settings for the public path.
This code example combines the user's public ARC skill plugin folder, that comes from the windows environment settings, the guid and the filename.
So if you have a fonts sub folder in the plugin folder, or some sub in the plugin folder, you can do this...
Or to read the files from a sub folder of the plug directory...