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
Asked — Edited

What Does Undefined Function Call Mean?

NeverMind. I did something Stupid. I installed the new update on my master computer and then ran the program on the robot without the update. so, there wasn't the newly created function on the robot. Crazy.



Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

It will be easier if you provide a project file please
I got it fixed. I did not have the latest Update. Sorry.

But, I do have a question. When I am running the Roomba, I have the script checking for the objects and it is going forward. She will go forward until I say stop or there is an object in front. But I have it in a loop to continue testing for objects, and I use speech recognition windows to say stop the script. But when I stop the script, she doesn't stop, the Roomba continues to go forward. I have to then say Robot Stop. Is there a way to stop the robot when I stop the script?


I am enjoying that subroutine.

The script actually did not work for me when I got it. I found out that my sharp sensors were flaky. So, I changed it to work with only the PING units and I guess it will be ok. But work or not, it was a GREAT tutorial. And, I am getting some of my confidence back.
Rather than use a ControlCommand() to stop the script, use a variable.

For example in the looping code, do something like this..


# This variable will be used to determine if we exit.
# If it is a 0, we continue running
# If it is a 1, we exit this script
$exit = 0

# begin moving forward


# Get the ping sensor value
$ping1 = GetPing(d9, d8)

# If the ping sensor value is less than 20, alarm!
if ($ping1 < 20)

# If the exit value is 1, exit the script
if ($exit = 1)



Say("Object Detected")

Say("Received Command Stop")

And in your Exit Command for Speech REcognition, you will set $exit = 1

You start the script the same way you'd normally start, by ControlCommand("MyScript", ScriptStart)
thanks, D.J. -You are the Greatest!!!