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

Moving Away From An Object....

Hey Everyone!

I know we can have the Robot Avoid Objects,using sonar,,,,,, but can we write a Script that tells the Robot to stand Still then react to something moving towards IT?, Like to move away? Say Like a Pet or Person gets too close to the Robot and it backs away....?


ARC Pro

Upgrade to ARC Pro

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

AI Support Bot
Related Content
Synthiam
#1  
ez script......


ping distance sensor.......

if(adc1, lower, 100)
reverse(200)
right(300)
forward(500)



or something
#2  
I tried something similar that might work for you. Use Ping_wait in your script. DJ has an example in the script help. You can have the ping sensor to wait until the specified value that you set is reached. Once the value is reached the script will continue to the next line through the entire script after ping_wait. If the value is not reached, nothing will happen in any of the script that you wrote after ping_wait. If you want, you can click repeat, and it will go back to the beginning, after finishing the script, and wait again until the value is reached. Try a simple script after ping_wait to see if this is what you need.

****I used ping distance to help me decide on the number value (how far or close something is) to use in ping_wait to trigger the script.
#3  
yeah good call

wait and if scripts are the best

you will have to use the

go(reverse)
:reverse

lines if you want the sensor always on kinda like repeating the process so you dont have to click start on the sensor.
#4  
:edge
if(adc, a1, > 100) or the wait command,test them out. see what works.
stop()
servo(d5, 30)

goto(backup)
goto(edge)

:backup
right(400)
forward (500)
servo(d10, 50)

goto(edge)
goto(backup)


example
#5  
THANK YOU!!!!, I will try that!; you guys are Great!