Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   2 days to go how is Autonomous going? (http://www.chiefdelphi.com/forums/showthread.php?t=18031)

miketwalker 16-02-2003 22:58

What we did was while design worked hard on our design, I got 2 or 3 guys together and made last year's robot do kinda what this years bot will be doing. We then took this and found out flaws in our design, found better, more efficient and faster methods of working as well as gave us the ability to have different codes designed (such as stack tracking) that can be used if we add and setup the sensors. I have a few different little autonomous codes so we can swap codes to counteract what scouting data brings us.

One last thing, with your dead reckoning codes, be careful! I realized very well that over time those numbers WILL change. The drive system is gonna change after running a bit, as things wear in and hardware changes. Also I'd really suggest using the delta_t counter and add it in to your counter since sometimes that RC can be crazy and lose loops like mad. It keeps it so you have your times closer. That's my 2 cents though. Good luck programmers. If you guys got that autonomous running well, great job cause you deserve it.

CyberWolf_22 16-02-2003 23:09

Are code is done we got the auton code working it does perfect 90's everytime not matter about wheel slip or battery it works everytime.

TOHSlancer 16-02-2003 23:11

could you give me an example of how delta_t would be used? I'm interested in how this could be utilized in my own counter.

Curtis Williams 17-02-2003 00:18

Quote:

Originally posted by rbayer
I've got a program written, but our robot still doesn't drive so I can't test it. I'll be lucky to get 15mins with the robot before we ship...
15 minutes? we should be so lucky.

Hendrix 17-02-2003 01:32

Quote:

Originally posted by TOHSlancer
could you give me an example of how delta_t would be used? I'm interested in how this could be utilized in my own counter.

really easy. make sure delta_t is setup in your code like in the default code and use this for your counter...

counter = counter + 1 + delta_t

JasonStern 17-02-2003 04:30

Yah, 15 minutes sounds about right. The problem being I have never programed in pbasic before and have no idea if our auto code even works!

***sigh*** what I wouldn't give for fractions and inverse trig functions..........

Joe Ross 17-02-2003 09:19

I've talked to several teams, and none of them got line following working with just 3 sensors. One used 5 sensors and has it working, and the rest of us are using dead reckoning.

edit: do a search on delta_t. I know I've explained it several times, and I know others have as well.

TOHSlancer 17-02-2003 11:47

Hey, errrm there's a robot emulator out there. go to the innovation first website. It's a good way to test if your code is messed up or not. Can't really predict turning and stuff because that's all based on your robot, but it helps.

Oh really? Nobody got their working on 3 sensors? Ours works decently. I just did some testing on carpeting last night.
We just had to space the sensors right, and coding wise I did some stuff that works pretty well. 5 sensors would've been nice to work with tho. Man. Right now I just gotta tweak code so that it doesn't just turn right when it hits the top of the ramp.


example:

Code:


do_autonomous_stuff:


' sensor1 sensor2 sensor3
course3 = 0
if (sensor1>127) then too_left
if (sensor3>127) then too_right
'straight on line
drive_L =145
drive_R = 145
course2 = 3
course = 1
goto perfect


'===================================
'===================================
'===========Too left===============
'===================================
too_left:
'===========================
'--------Semi Off ----------
'============================

if (sensor2>127) then drive_R = 113       
if (sensor2>127) then drive_L = 155

'checks to see if swinging back
if (sensor2>127) and course2 = 1 then course3 = 1

'sets course status
if (sensor2>127) then course2 = 0

'======================
'-------Way Off--------
'=======================
if (sensor2<=127) then drive_R = 103
if (sensor2<=127) then drive_L = 155

'checks to see if swinging further
if (sensor2<=127) and course2 = 0 then course3 = 2

'sets course status
if (sensor2<=127) then course2 = 1

'adaptable course timer
if (course < 170) then course = (course +1)
if (course = 171) then course = 171

'checks previous sensor status and adjusts accordingly
if (sensor2>127) and course3 = 1 then course = (course - 90)
if (sensor2<=127) and course3 = 2 then course = ( course - 70)

'adjusts motor values
if (course >= 39) then drive_R = (drive_R - ((course - 39)/10))
if (course >= 39) then drive_L = (drive_L + ((course - 39)/12))
goto perfect




'===================================
'===================================
'===========Too Right===============
'===================================
too_right:
'===========================
'--------Semi Off ----------
'============================

if (sensor2>127) then drive_L = 113       
if (sensor2>127) then drive_R = 155

'checks to see if swinging back
if (sensor2>127) and course2 = 1 then course3 = 1

'sets course status
if (sensor2>127) then course2 = 0

'======================
'-------Way Off--------
'=======================
if (sensor2<=127) then drive_L = 103
if (sensor2<=127) then drive_R = 155

'checks to see if swinging further
if (sensor2<=127) and course2 = 0 then course3 = 2

'sets course status
if (sensor2<=127) then course2 = 1

'adaptable course timer
if (course < 170) then course = (course +1)
if (course = 171) then course = 171

'checks previous sensor status and adjusts accordingly
if (sensor2>127) and course3 = 1 then course = (course - 90)
if (sensor2<=127) and course3 = 2 then course = ( course - 70)

'adjusts motor values
if (course >= 39) then drive_L = (drive_L - ((course - 39)/10))
if (course >= 39) then drive_R = (drive_R + ((course - 39)/12))
goto perfect



perfect:

'sensor check
if sensor1 > 127 then out10 = 1
if sensor1 <= 127 then out10 = 0
   
if sensor2 > 127 then out11 = 1
if sensor2 <= 127 then out11 = 0

if sensor3 >127 then out12 = 1
if sensor3 <= 127 then out12 = 0

'course check
if (course > 1) then out13 = 1
if (course = 1) then out13 = 0


JasonStern 17-02-2003 12:20

HALLELUYAH!!! Praise be the the powers that be, we have an extension!! We were almost considering not telling our Mech E team so we had more time to test programing :p I say programers unite and we take control of the bots for a change. Wadda ya all think?

TOHSlancer 17-02-2003 12:41

extension wu? Well I am the driver as well as programmer. *chuckles* GTA 3 skillz baby! Not really.. but extension? time to head over to first website

Joe Ross 17-02-2003 13:37

Quote:

Originally posted by TOHSlancer
Oh really? Nobody got their working on 3 sensors? Ours works decently. I just did some testing on carpeting last night.
We just had to space the sensors right, and coding wise I did some stuff that works pretty well. 5 sensors would've been nice to work with tho. Man. Right now I just gotta tweak code so that it doesn't just turn right when it hits the top of the ramp.

I shouldn't say not working, but not working quickly. With the code you have, you aren't going very fast. The teams I talked to all decided that speed was more important then the coolness of linefollowing.

Dan Richardson 17-02-2003 13:46

bah our programmers have to much time with the bot and havn't given our drivers enough time to p ractice.. today our sponsors company is working and only allowed 2 team members to work on the the bot during work hourse ( like 7-3 ) so the programmers forced their way in there and have been running autonmous programs all day, I have to sit here and wait until finally at about 2:30 I can get up there and start playing around and getting better at this driving buisness

TOHSlancer 17-02-2003 15:13

Quote:

Originally posted by Joe Ross
I shouldn't say not working, but not working quickly. With the code you have, you aren't going very fast. The teams I talked to all decided that speed was more important then the coolness of linefollowing.
Very very true. I'm actually doing autonomous dead reckoning as we speak. Problem is I'm worred about the battery running low and that fudging up how much it turns... etc. etc. I wish I had time to install the gyro and learn how to use it. Grrrr.

Josh Hambright 17-02-2003 15:19

Our code is coming along but was set back a few days ago when our yaw rate chip decided that it didn't want to work anymore setting us back about 3 days... but we are getting by...

we are doing some crazy stuff that should be cool if it gets done...hopefully we can get enough time in to play with it while still letting the drivers practice.

randomperson 17-02-2003 21:30

hehe.. our team is lucky... the driver is our other programmer .. although she doesn't really do much programming.. but no competition for driving times!

.. they wont let me drive cuz im way too agressive.. you should have seen the mentors faces when i was doing "quality control" (involving running the robot in high gear straight into a cement wall multiple times).. hehe:D


All times are GMT -5. The time now is 00:08.

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