Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Fastest Possible Canburglar (http://www.chiefdelphi.com/forums/showthread.php?t=136959)

will4499 27-04-2015 02:01

Fastest Possible Canburglar
 
2 Attachment(s)
I wrote a python script to calculate the fastest possible canburglar you could make if it was powered by motors... it appears to be in the 20 ms range. This was inspired by the can burglar from 973 that we were putting on our robot in place of the "tail" at the championship. Let me know what you think.

I attached the python file as canburglar.txt and a pdf which I used for some of the equations. Here is the code:

import math
## Using SI Units - kg, m, s, current in Amperes, angles are printed in degrees but calculations are in radians

##System
t = 0
e = 2.718281828459045
dt = 0.001
rod_mass = .15 # kg
rod_length = 2.5 # m
hook_mass = .05 # kg
J = ((16/48) * rod_mass * (rod_length ** 2)) + hook_mass * (rod_length ** 2) ## rod moment of inertia + hook moment of inertia
angle = 0
terminalangle = 90 * (math.pi / 180) # in radians

#Motor Banebots RS-775 down-regulated to 12v
motor_num = 4
motor_stall_I = 100
motor_stall_T = 1.175
motor_free_omega = 13000 * math.pi * 2
geardown = 1
test_endpoint = 3000
print(motor_free_omega)

def getVelocity():
power_term = -((motor_stall_T * motor_num * geardown)/ (J * (motor_free_omega / geardown))) * t
return (motor_free_omega / geardown) * (1 - e ** power_term)

lowestt = 1, 1, 10000 # low geardown, high geardown, time
while (geardown <= test_endpoint):
#print("terminal velocity = " + str(motor_free_omega / geardown / (2 * math.pi)))
while angle < terminalangle:
angle += getVelocity() * dt
t += dt
print("terminal velocity = " + str(motor_free_omega / geardown / (2 * math.pi)) + " rpm " + " geardown = " + str(geardown) + " angle = " + str(angle / (math.pi / 180) ) + " t = " + str(t) + " velocity = " + str(getVelocity() / (2 * math.pi)) + " rpm " + " \n")
#print("geardown = " + str(geardown) + " angle = " + str(angle / (math.pi / 180) ) + " t = " + str(t))
if (lowestt[2] > t):
lowestt = geardown, geardown, t
elif lowestt[2] == t:
lowestt = lowestt[0], geardown, t

t = 0
angle = 0
geardown += 1

print("fastest canburglar, geardown = " + str(lowestt[0]) + " :")
geardown = lowestt[0]
while angle < terminalangle:
angle += getVelocity() * dt
t += dt
print("terminal velocity = " + str(motor_free_omega / geardown / (2 * math.pi)) + " rpm " + " geardown = " + str(geardown) + " angle = " + str(angle / (math.pi / 180) ) + " t = " + str(t) + " velocity = " + str(getVelocity() / (2 * math.pi)) + " rpm " + " \n")

if (test_endpoint == lowestt[1]):
print("******************************************* ************************************************** **********************************************")
print("**************** Warning, you may not have found the absolute minimum for cangrabber speed. Increase test_endpoint. ***********************")
print("******************************************* ************************************************** **********************************************")
else:
print(" Choose a gear ratio between " + str(lowestt[0]) + " and " + str(lowestt[1]))

Bryce Paputa 27-04-2015 07:29

Re: Fastest Possible Canburglar
 
Only four rs775s? With four CIMs we got .18 seconds. ;)

carpedav000 27-04-2015 08:05

Re: Fastest Possible Canburglar
 
What about elastic//spring powered? I could see that being much faster.

Bennett548 27-04-2015 08:15

Re: Fastest Possible Canburglar
 
You can get slightly faster times if the gear ratio is not constant. A linkage or, non-round pulley or sprocket set can accomplish this.

Do you account for voltage drop? Stalling all those motors drops the voltage considerably.

Do you consider the inertia of the motors? With the gear reduction, they end up making a significant contribution to the inertia of the system.

This is a good first step. Simulations should always start simply, and add other factors and complexity as you prove it out.

RoboChair 27-04-2015 13:39

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by carpedav000 (Post 1476815)
What about elastic//spring powered? I could see that being much faster.

This guy knows whats up.

Thad House 27-04-2015 14:04

Re: Fastest Possible Canburglar
 
I'll explain when I have a few minutes and not on my cell phone, but we figured out a way to start in the holes legally. It was cheesecaked onto our 4th bot, but since it basically put a robot out of commission it wasn't worth playing in finals. Plus we were not exactly sure if it would be called legal or not, even though it was 100% within the rules and within the field.

Jared Russell 27-04-2015 14:15

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by Thad House (Post 1477068)
I'll explain when I have a few minutes and not on my cell phone, but we figured out a way to start in the holes legally. It was cheesecaked onto our 4th bot, but since it basically put a robot out of commission it wasn't worth playing in finals. Plus we were not exactly sure if it would be called legal or not, even though it was 100% within the rules and within the field.

I heard about this, double checked all the pertinent rules, and then grinned ear to ear. I'll let you post the details, but I was definitely blown away by your creativity.

One interesting aspect of this game is that the canburglar wars didn't really start until the last day of the season (as predicted by many). A side effect of this is that the canburglar rules/corner cases/how rules would be enforced by inspectors and referees were not really tested until Championships. Harpoon guns, crossbows, tennis balls on strings, hundreds of pounds of spring force, loopholes - there was a little of everything.

Ozuru 27-04-2015 14:27

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by Thad House (Post 1477068)
I'll explain when I have a few minutes and not on my cell phone, but we figured out a way to start in the holes legally. It was cheesecaked onto our 4th bot, but since it basically put a robot out of commission it wasn't worth playing in finals. Plus we were not exactly sure if it would be called legal or not, even though it was 100% within the rules and within the field.

I'm interested, posting so I can remember to come back later.

MaGiC_PiKaChU 27-04-2015 14:31

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by Thad House (Post 1477068)
I'll explain when I have a few minutes and not on my cell phone, but we figured out a way to start in the holes legally. It was cheesecaked onto our 4th bot, but since it basically put a robot out of commission it wasn't worth playing in finals. Plus we were not exactly sure if it would be called legal or not, even though it was 100% within the rules and within the field.

I also found a flaw... hope we've found the same

Navid Shafa 27-04-2015 14:31

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by Thad House (Post 1477068)
I'll explain when I have a few minutes and not on my cell phone, but we figured out a way to start in the holes legally. It was cheesecaked onto our 4th bot, but since it basically put a robot out of commission it wasn't worth playing in finals. Plus we were not exactly sure if it would be called legal or not, even though it was 100% within the rules and within the field.

Your interpretation is entirely legal by the rules, and It definitely would have broken the game. Please post pictures when you can. From the descriptions I can only imagine how massive this thing would be.

The real question is do you think you could do all the set-up required in under 60 seconds?

Bennett548 27-04-2015 14:32

Re: Fastest Possible Canburglar
 
Ha! Nice find! I wish you had done it, it might have led to some interesting and productive discussions regarding lawyering and the assumed intent of the rules.

I asked a head ref about a similar case, and he said that he couldn't rule without seeing it, but said he would probably have asked the team to come back and fix the offending mechanism.

Lil' Lavery 27-04-2015 14:39

Re: Fastest Possible Canburglar
 
<G10> does not require set-up in less than 60 seconds, only that set-up must not cause a significant or repeated delay to starting a match. The 60 section portion in the blue box is simply an example. There is not set time to when a 60 second clock would start, how to distinguish it from regular autonomous set up (which frequently takes longer than 60 seconds), etc.

I am very curious as to how it satisfied <G7> B&C while being within the field borders, though.

Navid Shafa 27-04-2015 14:42

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by Lil' Lavery (Post 1477114)
<G10> does not require set-up in less than 60 seconds, only that set-up must not cause a significant or repeated delay to starting a match. The 60 section portion in the blue box is simply an example. There is not set time to when a 60 second clock would start, how to distinguish it from regular autonomous set up (which frequently takes longer than 60 seconds), etc.

This was often not enforced as intended. Seeing refs standing around kids with stopwatches at events this year looking to peg people was disappointing to say the least.

BigJ 27-04-2015 14:43

Re: Fastest Possible Canburglar
 
FIELD includes the width of the guardrail, and LANDFILL ZONE doesn't include the "and including" wording. That's my guess.

Quote:

FIELD – a roughly 27 ft. x 54 ft. carpeted area, bounded by and including the GUARDRAILS and ALLIANCE WALLS.

LANDFILL ZONE – the infinitely tall volume bound by the plastic lip of the STEP on the ALLIANCE’S side of the FIELD, the GUARDRAIL on
each side, and the landfill line (excluding the tape).

Navid Shafa 27-04-2015 14:54

Re: Fastest Possible Canburglar
 
Quote:

Originally Posted by BigJ (Post 1477120)
FIELD includes the width of the guardrail, and LANDFILL ZONE doesn't include the "and including" wording. That's my guess.

Bingo


All times are GMT -5. The time now is 06:22.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi