Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited

Custom Movement Panel Speed Not Working Again On 8-19-2013 Ez-Builder

The version of EZ builder just prior to the 8-19 version worked fine, but something is this build has created a problem with the custom movement panel. If I have a script in the set to run in the speed changed part of the control, my robot only seems to run forward reguardless of which buttons I push in the movement panel. My stop script works, but the left, right and reverse do not and the only script that the script manager indicates is being run is the Speed change script even though I am not changing the robots speed.

User-inserted image


My Speed change script looks like this:

IF ($Direction="Forward")
ControlCommand("Script Manager",ScriptStart, "ROVER_FWD")
ENDIF
IF ($Direction="Reverse")
ControlCommand("Script Manager",ScriptStart, "ROVER_REV")
ENDIF
IF ($Direction="Left")
ControlCommand("Script Manager",ScriptStart, "ROVER_LEFT")
ENDIF
IF ($Direction="Right")
ControlCommand("Script Manager",ScriptStart, "ROVER_RIGHT")
ENDIF

As an example my left turn script looks like this:

SET (D12, OFF)
SET (D13, ON)
$GO=GetSpeed() / 7
$GO=ROUND($GO,0)
PWM(D14, $GO)

So I press the Left Button on the Movement Panel and then stop, the right button on the movemnt panel and then stop, etc. The script manager show this:

User-inserted image


And the robot only moves forward.

In the previous version of ARC everything worked correctly. Press Left-> the left script ran, Press Right -> the right script ran, etc. Move the speed change slider the speed script ran and called the appropriate movement script.

If I remove the call to the speed script in the Movement Panel everything works fine but of course I can't change the robots speed once it is moving.

I had this exact same problem on some of the earlier builds.

AI Support Bot
Related Content
Synthiam
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
PRO
Synthiam
#1  
Post your project please. By your example i'm not able to understand what it is you're doing. I'll be able to help you with a project example
#2  
The Latest Version 2013.08.31 Still has the problem. I took the time to strip the problem down the minimum needed. Just the script manager and a custom movement panel. The scripts just print out the name of the script being run. For me only two buttons on the custom Movement Panel work properly as long as a speed changed script it set in the custom Movement Panel are stop and the speed change. Foward, Reverse, Left, and Right buttons seem to call the Speed Changed script but not the appropriate Forward, Reverse, Left, or Right Scripts.

If I remove the Script call out for Speed Changed then everything works as it should. Forward runs the Forward Script, Reverse run the Reverse Script, etc. Of course with the Speed Changed Script call out removed changing the speed does nothing.

This problem has come and gone a couple of times. As a result I usually don't mess with the speed changed part of the custom movement panel, but I got a new 12V battery for my robot instead of the 9V battery I had been using and suddenly needed to turn down the motor speed. My robot was racing out of control. I was pleasantly surprised when it worked quite well in the version prior to 2013.08.19.

After I upgraded to 2013.08.19, calling a script in the "speed changed" portion of the custom Movement Panel caused funny things to occur. Normally my Speed changed script uses the $DIR variable to determine which direction the robot is moving and the $DIR variable was making the robot appear to go in the wrong direction. But I think the problem is related to the speed changed script running instead of the appropriate script. So I created a scripted down EZB file to illustrate the basic problem.

This script should be a start on helping to identify the problem. It is much simpler than my whole robot project file.
Here is my custom Movement Panel test project EZB File.

Custom_Movement_Panel_Test_Project.EZB
PRO
Synthiam
#3  
There is nothing wrong with the example you posted...

User-inserted image
#4  
@DJ Sures - Try pressing the forward button on the movement panel. For me it runs the speed change script and not the forward script. The same for left button, right button, and reverse buttons. They all appear to run the just the speed script and not correct script. Oddly enough the stop script appears to run when the stop button is pressed.

The script does function correctly for me when I change the speed.
PRO
Synthiam
#5  
It runs the speed script, then the direction script - for me.

I have an idea... What i'll do is make it so the Speed script only runs if the speed is adjusted. Right now the speed script runs every time the speed or direction is changed... which is a little overboard now that I think about it.

I'll make that change and publish a release for you in a few minutes
#6  
@DJ Sures,

For me nothing but the speed script runs.

Thanks loads.
I will let you know if the new version works as expected. As always you provide great service.

Looking forward to buying a revolution developers kit. Being a retired electrical engineer, the plastic parts look neat, but I'm feel like I'm a little beyond that point. They should allow more people to get involved with robotics though.

I am a mentor for a local FIRST FRC robotics team. I look forward to showing them my ez-b robot when I get it further along. Ez-b has some very advanced features.
PRO
Synthiam
#7  
Thanks dude! The Revolution kit comes in a few flavors... most are kits with the plastic pieces, like Lego. The new EZ-B is what you will care about. It is by far the most amazing little device you'll ever use:) 120 MHz 32 bit arm processor with audio, video and WIFI. It's like the current EZ-B on steroids! Faster communication and increased servo accuracy.