Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started

ARC Software Reported The Error

I apologize for the recent posting of questions that may be easy to fix, but I am having difficulty. There have been a number of times I've been playing with robots when the Ez_builder software suddenly shut down and reported an error like the image below?
I hope someone will help me fix this.Thank you very much!
User-inserted image

Related Hardware EZ-B v4


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

That’s a serious crash that the operating system has shutdown the software. I’ve given you suggestions before on configuring your project, as there were a significant number of bugs in it. There’s only so much that the exception handling in ARC can do before the operating system takes over and shuts you down - that’s what has happened. 

If you’re looking for assistance with your programming, you’ll need to provide your program and listen to advice. Unfortunately with a screenshot of an error message from the operating system, there’s nothing anyone can do to assist. 

first start by removing wait for x commands in events, such as camera and speech recognition. Check you don’t have recursive calls. And lastly, explain what was happening before the crash. 

You have debug data disabled as well. So without diagnostic data, we can’t see what you’re doing. The last log you uploaded was August 2019.
DJ Sure, can you show me how to do it first so I can ask for your help? Bother you a little, sorry for my ignorance !!!
Hi Joinny, First start by posting your project here in this thread so we can take a look at your coding. Look at the bar above your reply window and you will see: {FILE} . Click on that and you'll get a box pop up. Follow those directions to browse to your project file on your computer then attach it here. There are a bunch of knowledgeable people here that may be able to help.
sorry for late reply, Dave schulpius this is my project:ez nhn.EZB
DJ sure thank you for the tutorial I will try.
#6   — Edited
Hi Joinny,
I loaded up your project and took a look. I did not try to connect to an EZB. Please understand I am not a script expert and it's been years since I played with anything to do with a camera in ARC. What I'm about to suggest may or may not help. either way it may help clean up a few things that might be contributing to your problems. Hopefully others will take a look and find what I could not. 

Before I proceed , do you remember what you were doing when your problems happen? That would help target the issues. 

I saw a couple things that could be an issue or at least not needed. If you try to use one of these events you might see your program lock up. Let's step through them:

*Are you using two camera on your robot? You have two camera controls installed in ARC. In your scripts you are only calling on one camera. That is called camera 2 in your scripts. I'd delete Camera 1 (called just "Camera" in ARC).  

*You have a pretty basic project. It looks nice and clean without a lot of calls from one script to another. It's pretty easy to follow your logic flow and cross check the events and scripts they are calling. The only scripts I can find are in the Voice Recognition control and there is not too many there. I see you have already removed most of the WaitFor commands in them that DJ suggested. However I still see a few problems:
*First; there are a couple scripts in your Voice Recondition control that are calling on AutoPosition actions that do not exist. In your Phrase "Look" you are calling "AutoPositionAction", "Dance Fast". The other one is in your Phrase "Green" you are calling "AutoPositionAction", "Dance"). I can not find either one of these actions in your AutoPosition control. 
*Second; When you use Variables it would be helpful for you to install the Variable Watcher control. This way you can see what the state of your variable is, when and if it changes and what the value is that you should be using. Lets look at one of the scripts you have in your Voice Recognition control where you are calling on a camera, are waiting on a Variable to change and then calling on an AutoPosition action. This is the script I mentioned above there there is no "Dance" action in the AP to call. However there is a problem with the variable also:


# Wait until the camera detects a trained multi color
ControlCommand("Camera 2", CameraMovementTrackDisable)
ControlCommand("Camera 2", CameraUseTrackingScripts, false)
ControlCommand("Camera 2", CameraMultiColorTracking)
WaitFor($CameraIsTracking = true)
ControlCommand("Camera 2", CameraDisableTracking)
ControlCommand("Camera 2", CameraUseTrackingScripts, true)

ControlCommand("Auto Position", "AutoPositionAction", "Dance")

Again there is no "Dance" action in the AP I can see.
Also, The command WaitFor($CameraIsTracking = true) may be a problem. When you install the Variable Watcher like I mentioned above you will see that the Variable value this one is showing 0. I may be wrong but I am pretty sure for variables you need to state this in your command as either a 0 (for False) or 1 (For True).  Check all your scripts for this. I know when you send a improper command through a EZB serial port the unit will lock up. I'm not sure if this is the case for the camera i2c port. 

I do know that the i2c ports are very finicky and need to have a good connection. Make sure your camera is plugged in tightly. 

Send that report to customer support like DJ suggests. I'm sure they will find something that will help. 

I hope this was of some help. Keep having fun and good luck.
One correction to what Dave said, the camera is not I2C, it is actually Serial.  However, a bad command is a bad command and results can be unpredictable, so do the cleanup that he suggested, and add the variable watcher to see what your variables actually are and you will be well on your way to success.

Use IF conditions rather than WAITFOR if you are wanting to verify the detected tracking type
Thank you very much, It may be the error of the code I made but I could not delete the camera 1. I used the camera the previous day but I accidentally deleted it and when I opened it again it was shown as camera 2, camera 1's commands still exist and I don't know how to delete them.
#11   — Edited
That's interesting that you can not delete camera 1. I just opened your project again and was able to remove it then save successfully. Camera 1 is located on your #2 virtual desktop. I just clicked the X up in the top right corner and after confirming that is what I wanted to do it was gone.

Maybe you could delete camera 2 and then move camera 1 back to desktop #1? You would have to edit all your commands back to camera 1 but that would make cleaner scripts and project.
Press the X button to close a control. It will prompt you if you want the control deleted, given that you haven't changed that preference. In Windows, the X button closes a window. The same X closes a control. Once you modify a project, you'll need to SAVE that project using the SAVE button. See screenshot...

User-inserted image