Asked

New Robot , REMI

Thought id share a look at this new kit I received from SuperDroidRobots. Its a 4wheel drive, mobil steel base. All motors are 24VDC.  y plan is to move My  Hemi bot, with its Actobotics framework over to this base instead.

User-inserted image

This kit comes with a RC system and a Sabertooth 2x12RC motor controller which I will be changing out. I also plan on swapping two of the four  motors for two with encoders and use the kangeroo device.

Just getting started, so stay tuned:)


ARC Pro

Upgrade to ARC Pro

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.

#41  

Thanks for the insight guys:) After playing around some more tonight, I actually made some headway.  After I five the command for robot to move forward, the pin sensor begins looking at the distance. As per the varied ping1 values  I picked the motors do begin to slow down as the obkect (a wall) gets closer,then robot finally stops and says "stopped".  I def have more tweeking to do... ==========================================================\

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

#Forward()

:Start

Get the ping sensor value

$ping1 = GetPing(d16, d16)

If the ping sensor values are less than:

than 20, slow down or stop.

if ($ping1 < 80) goto(slow) endif if ($ping1 < 40) goto(slower) endif if ($ping1 < 20) goto(stop) endif

#read foot switch #if(GetDigital(D11)=1)

goto(footsw)

#endif

#read Emergency stop switch #if(GetDigital(D10) =1) #Goto (stop) #ControlCommand("RGB Animator", AutoPositionAction, "Idle") #ControlCommand("Soundboard v4", Track_2) #endif

#if the exit value is 1, exit the script if ($exit = 1) goto(Exit) endif

Sleep(500)

Goto(Start)

:slow SendSerial(D12,38400,33) SendSerial(D12,38400,151) #sayEzb("slowing") #ControlCommand("RGB Animator", AutoPositionAction, "Slow") Return()

:slower SendSerial(D12,38400,49) SendSerial(D12,38400,167) #sayezb("much slower") #ControlCommand("RGB Animator", AutoPositionAction, "Slower") Return()

:stop Stop() SendSerial(D12,38400,64) SendSerial(D12,9600,192) sleep(200) #SendSerial(D12,9600,0) SayEZB("Stopped") #ControlCommand("RGB Animator", AutoPositionAction, "Stop") stop() HALT() Return()

:footsw #SayEZB("Stopped") #SendSerial(D12,38400,0) #Stop() #endif Return()

:Exit #Stop() #SayEZB("Received Command Stop") Halt()

=========================================================== The script again, as you can see, I had to rem out alot of stuff to just get the "$Ping1" values to be sen by the sensor. As far as the $exit=0 or 1 bit is concerned, that was from a script by someone a ways back when, using up to 4 sensors (this is how I started). Im looking to have sensors, front,rear,left,right, and a couple of bump switches for basic collisoin/direction and planning on adding the EZ camera in the mix and still woul like to see if all this will work with the NMS pluggin, but first I need to get the raw sensors to work as I think they should.

And as always, any more thoughts or insights would greatly help.

#42   — Edited

I don't see any Sleep() commands in your script. Do you think it's running too fast and readings and commands are being missed?

When I have a script not working and I have suspicions that it's a timing issue, I slow the script way down and try to watch and see what the last command was that actually was excited.

A number of years ago I used to be able to watch the script run command by command in the script console. Now the only way I can see that happen is to assign a Print() command to something in the script.

@DJ, was the ability to see the script run in the script console removed from ARC or am I doing something wrong? If it was removed why? I'm guessing, maybe performance? If so, to bad, that was such a useful tool.

#43  

Hi Dave, that is interesting. I will look into further. But amazingly enough I was able to get what I wanted basically working last night, was able to get the motors to slow down as Id get closer, then to stop. But yeah I am sure more tweeking could be had.

One thing I redid last night also, after re-reading the users guide yet again on the roboclaw, was I finally got to "Autotune" the motors, each with built in quadra encoders.

Was having a lil more fun with the programming last night too, (robot almost ran over my foot in live testing lol ) with the backup sensor script which oddly seems to stop to quick even no obect is near the sensor distance.

This is my "SensorRr" script with a backup sensor...very basic I think so i'm baffled as to it not working right.

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 Backwards

#Reverse() or Backup

:Start

Get the ping sensor value

$ping4 = GetPing(d19, d19)

if ($ping4 <= 20) goto(stop) endif

:stop Stop() SendSerial(D12,38400,64) SendSerial(D12,38400,192) sleep(200) #SendSerial(D12,9600,0) SayEZB("Stopped") #ControlCommand("RGB Animator", AutoPositionAction, "Stop") stop() HALT() #Return()

Ive # out the parts im not using as shown. Script is suppose to stop when sensor reads value at 20 but stops quicker instead. Sensor reads values just fine on its own, no script. odd?

I hope to shortly post a little video of my robots forward test. But def an odd one for the reverse action.

:)

#44  

Here is a little video made showing my progress of the forward drive and the sensor, slowing the motor speed as I get closer to the robot.

PRO
USA
#45  

video?  upload it again please

PRO
USA
#47  

so are you getting the results you expected?

#48  

Oops, looks like I have to fix that first video.

Hi EzAng, I did make some more progress tonight (after tweaking the code  some more). Still have much more to add abd test before I go any further with the build.