|
|
|
#1
|
|||||
|
|||||
|
Re: Programmers: I Have A Challenge For You
It's amazing how much automation creeps up as the years go by...
In 2001 (Back in the day of PBASIC) we had a robot that could balance itself on the ramp with the push of a button. A weight on a pot was all it needed. That's autonomy, however basic it is. Then, in 2003, FIRST added Autonomous mode. I've heard stories from former members and mentors of back then ("Back in 2003, the robot entered Autonomous and hit a wall at full speed") and how bad it was programming it ("We had 63 bytes of RAM and spent more code caching things into EEPROM to save RAM then actually doing stuff") In 2004 we had a decent processor and real autonomous programs began. This year, we also had an automatic transmission (autonomy in Teleop). It automatically shifted based on RPM's of the wheels vs output speed, Several of our other robots have had semi-autonomy in Teleop. 2007 had some pretty sweet arm software that I would say goes beyond the "rc car" definition (you could slide the end point in and out and it would calculate joint angles on the fly, as well as make sure it didn't hit itself on the way). This is my personal favorite robot of ours, so I went and wrote a LabVIEW demo to illustrate automation of the arm (combining some elements from the 2005 game, notably the ability to store game pieces). This LabVIEW demo was known as "the belly manager" and basically allowed the operator to perform many tasks with only 4 buttons. The total actions: Get Floor, Get Human, Score Hi, Score Lo, Hold Hi, Hold, Belly1, Belly2, Belly3 (get and put belly), as well as several intermediate states. The operator requested a Score Hi, Score Lo, Get Human, or Get Floor and the robot automatically stored game pieces in the belly when slots were available, and always tried to either empty or fill the claw. Based on states of the claw or belly slots, it would either hold the arm in a high position that makes manipulation easy or fold down to a lower position to be more stable. With the single press of Score Hi or Score Lo, it would execute a sequence to move to the setup position (possibly many steps depending on starting position), "stab" the goal, drop the game piece, and return on a path that was as stable and efficient as possible. The "robot" would try to determine the operators desired action (score, retrieve, move, etc) and act accordingly. While this never exited the simulator, this kind of automation could easily be incorporated into FIRST robots. |
|
#2
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Not in response to any particular post, I love that this is being discussed.
I really hope FIRST will find a way to design next year's game such that clever software will stand a chance to share the limelight with clever mechanical systems. I know some teams (1629 included) used software to _assist_ with goal scoring. That is, the robot (under operator control) never decided to go for a goal. Instead, the robot took a command to kick the ball and attempted to do a little fine-tuning on the aim -- using the camera; but this is a baby step. Think about implementing "situational awareness" in software: What does my universe (the field) look like? How big is it and where are the fixed objects? Where am I within my universe and which way am I facing? Where are my friends and where are my foes? These are robot smarts that should prove valuable to you next year, no matter what the game is. |
|
#3
|
|||
|
|||
|
Re: Programmers: I Have A Challenge For You
Quote:
|
|
#4
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Good thinking -- I wasn't implying that camera vision was the best or only way to support situational awareness in a robot.
|
|
#5
|
||||
|
||||
|
That is a big challenge, and it's one that I'd be willing to accept! Lol, this will be fun.
|
|
#6
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Quote:
Blake Main 5th Gear Thread: Link to 5G Thread Last edited by gblake : 31-03-2010 at 08:41. |
|
#7
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Quote:
-Tanner |
|
#8
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
I must say, if I ever saw this I would be amazed. It would be awesome. BTW this is my 340th post. Go GRR.
![]() |
|
#9
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
I'm a mentor for Team 1421 and Computational Scientist who would be happy to help with this project. I look forward to hearing more about it.
MJ |
|
#10
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Quote:
Quote:
History of 319 autonomous successes: pull 10 pt ball into field in 05, shoot 9/10 in 06, knock a ball in 08, shoot 2/3 in 10. The teams have recently signed on to the first forge project so not much has been organized but will be soon (I have a competition in 2 weeks for $1200 which i am trying to get to start the first FRC team in Haiti). The goals of the project are to first get the basic architecture down so you can implement a cookie cutter program in one day. Second phase would be to implements a more intelligent system (possibly working off some form of decision tree), which could play a match of Breakaway offensively. Third phase would be to implement some form of localization and communication (Zigbee module) so robots could communicate with one another. See above for basic architecture idea, but more complex is described on the firstforge page. The idea is that maneuvers are the same for every robot, and same with basic mechanisms(a drive drives, a arm raises and lowers, a shooter cocks and shoots..) by using maneuvers that can pass, fail and timeout (decided by the mechanisms) you can create a state machine of maneuvers which should work on any mechanism based system. All the programmer has to define is how the mechanism actually executes a given task, and what it believes a pass or fail to be, alternatively you can do it all on timers through the timeouts, and then the mechanism just runs that operation until it receives another. The importance is in a simple but extendable architecture. Quote:
for anyone even considering working on this project please sign up for a first forge account and register under the ADK project, this is where all the tasks will be organized and delegated. http://firstforge.wpi.edu/sf/projects/bobotics cheers to all! |
|
#11
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
I can't say if my team is up for making a fully autonomous 'bot, but I'm more than happy to help in the planning and coding (LabVIEW) for a system to make an autonomous implementation easy for all teams.
You can reach me at kamocat@gmail.com. Last edited by kamocat : 06-04-2010 at 00:50. |
|
#12
|
|||
|
|||
|
Re: Programmers: I Have A Challenge For You
It would completely depend on the game. That, and my team might not be that happy about it. Our driver would step forward to control it and he would have no control. I can see his face now.
If I do it, it wouldn't be used at competitions, just for lolz. I'm in. |
|
#13
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
To all of the posters who have said that ... their team won't like ..., I have a suggestion. Get permission to use one of your team's current robots to do some software work, and start learning.
You aren't asking the team to stake their next several seasons on the success or failure of creating a fully autonomous robot. You are instead scheduling some time with the robot to get some useful work done. Work that will be educational, and will contribute to both the team's and the community's body of knowledge. My guess is that the robot can be up on blocks for most of the time. Once you are initially successful developing a few small and useful improvements (small steps first, big steps once enough small steps can be combined), put a smile on your face let your team know that whether or not you (and team mates) can make the next-season robot work better during the autonomous periods, or assist your drivers during tele-op, is no longer an open question. The code for doing it is already done and is on-the-shelf for next season. That should be a good day. My point is not that you need to "go rogue"; but that you simply need to confer with the team mentors/leaders and let them know you will want to schedule some off-season time for using the robot (safely) to do some ordinary, simple, code integration and testing. If it is possible for a team to say that is a bad idea, then I'll be dumbfounded. Sound good? Blake Last edited by gblake : 06-04-2010 at 08:06. |
|
#14
|
||||
|
||||
|
Re: Programmers: I Have A Challenge For You
Make sure you post any code made in past seasons or the offseason in a public repository linked to CD or first forge, otherwise it doesn't register as a COTS and is illegal to use according to the first rules.
|
|
#15
|
|||
|
|||
|
Re: Programmers: I Have A Challenge For You
Quote:
![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| For those of you that have seen a field | goldenglove002 | General Forum | 1 | 13-02-2010 21:56 |
| SE MI Teams - I have pool noodles for you! | kmcclary | General Forum | 1 | 05-02-2010 20:29 |
| Any Programmers Have The Same Feeling As Me? | davidthefat | Programming | 23 | 16-01-2010 22:07 |
| What have you given up for FIRST? | Michael Leicht | General Forum | 138 | 11-01-2008 10:47 |