Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Programmers: I Have A Challenge For You (http://www.chiefdelphi.com/forums/showthread.php?t=84797)

Robototes2412 17-05-2010 16:20

Re: Programmers: I Have A Challenge For You
 
*sigh*

What I meant is it is always a good idea to know how the device you are programming works. I don't have a college-level education in this stuff, I only know what I can reverse-engineer. I think that the best way to learn how these robotics platforms work is to try things, read manuals, and mess up. Failure is the best teacher.

I am currently teaching a couple freshmen how to hack at stuff. I had them start with a ps/2 mouse and an arduino, and they turned it into encoders for our robot.

"I don't believe in shortcuts! I believe in the almighty GPL!"

kamocat 17-05-2010 16:34

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Robototes2412 (Post 962599)
*sigh*

What I meant is it is always a good idea to know how the device you are programming works. I don't have a college-level education in this stuff, I only know what I can reverse-engineer. I think that the best way to learn how these robotics platforms work is to try things, read manuals, and mess up. Failure is the best teacher.

I am currently teaching a couple freshmen how to hack at stuff. I had them start with a ps/2 mouse and an arduino, and they turned it into encoders for our robot.

"I don't believe in shortcuts! I believe in the almighty GPL!"

You do have a good point.
It's essential for the programmers to understand the underlying technology if you expect them to recover from failures. How can they fix a problem if they can't isolate or identify it?
Autonomous is certainly not how you start programming a robot. Start with learning how the system works. What is PWM? Why is it used as a data signal? How (and why) is it used to control the speed of the motor? What is the "braking" action of a brushed DC motor? Why can't the motor run at infinitely slow speeds? What are encoders and potentiometers? How does the health of the battery affect the performance of the motor? What is an FPGA? Why is it used instead of a processor?
I think the WPI library is fairly low-level, though if you wanted, you could periodically generate digital pulses with digital outputs. Having a standalone PWM-generator is also useful. We put a speaker on ours when we made it, so you can actually hear the square wave change as you adjust the duty cycle.

Anyways, understanding how the components of the system work is necessary to understand how the system can fail.

davidthefat 18-05-2010 21:20

Re: Programmers: I Have A Challenge For You
 
I think the priority should be the Robotic perception rather than locomotion. You can have the biggest and the strongest and fastest athlete, but if he is blind, he can be beat by a regular joe with 20/20 vision in a game of football or something.

mjcoss 21-05-2010 17:32

Re: Programmers: I Have A Challenge For You
 
I think that one of the biggest stumbling block for development of autonomous code is time. Programmers are usually the last folks to get their hands on the robot. While we can code things up, we must wait for the robot build process to get to a sufficiently stable point that we can grab the robot to run tests.

If the autonomous code is just a hand crafted set of instructions, then it must be tested, and refined many times to get it working properly. If the autonomous code is more of a state machine with transitions triggered by sensors, then this to must be laboriously tested. If it's an even more elaborate learning system, then the testing is even more intensive.

Bottom line is that there typically just isn't the time to do the needed testing. So some times just code up something simple, others never get around to putting anything into autonomous mode.

As far as the original idea of a fully autonomous robot, while I applaud the ambition, I suspect that it will be unrealistic for most, if not all, teams to be able to do that, given the empirical evidence of autonomous performance to date for most teams.

pSYeNCe 23-05-2010 17:16

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by mjcoss (Post 963300)
I think that one of the biggest stumbling block for development of autonomous code is time.

Bottom line is that there typically just isn't the time to do the needed testing.

This is precisely why I won't be able to accept the challenge. This last year I had one day to really test the code nonstop- all the other days I'd have it for a few minutes after grabbing it from the build team. I'd love to participate in this challenge- I believe it's a great one that would give any participant a lot of insight into programming- I can't due to insane time constraints. It's not plausible without the time to test.

davidthefat 23-05-2010 21:51

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by pSYeNCe (Post 963511)
This is precisely why I won't be able to accept the challenge. This last year I had one day to really test the code nonstop- all the other days I'd have it for a few minutes after grabbing it from the build team. I'd love to participate in this challenge- I believe it's a great one that would give any participant a lot of insight into programming- I can't due to insane time constraints. It's not plausible without the time to test.

You know what, I will just be the team leader and have a "software first" mentality. Just recruit more programmers. I would have an army of programmers, plus, I am the biggest and strongest on the team:D :p

Alan Anderson 23-05-2010 22:37

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 963548)
You know what, I will just be the team leader and have a "software first" mentality. Just recruit more programmers.

The typical problem is not a lack of programming resources. It's a lack of robot.

There are two ways the TechnoKats have successfully dealt with this problem. One is to build into the schedule a set of "programming only" sessions. We did this a couple of years ago, with the programming group having absolute priority on the robot a couple of evenings a week starting in Week 3 of the build. The mechanical and electrical groups were denied permission to work on the robot during those times (though they were encouraged to be present in case something broke). This worked out great because we built a practice 'bot at the same time, so "the robot" was actually able to be used by two groups simultaneously.

The other way is to finish the robot well in advance of ship date so that the programmers have plenty of time with it. This also has benefits for the drivers, giving them plenty of practice time. And probably the best thing about being done early is that there's plenty of time to break the robot. :)

Chris is me 23-05-2010 22:38

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 963548)
You know what, I will just be the team leader and have a "software first" mentality. Just recruit more programmers. I would have an army of programmers, plus, I am the biggest and strongest on the team:D :p

That should help, but by now I bet you realize the constraint here isn't whether or not you can get people typing fast enough. It's not work that just needs to be chugged through.

Doug Leppard 24-05-2010 08:32

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 963548)
You know what, I will just be the team leader and have a "software first" mentality. Just recruit more programmers. I would have an army of programmers, plus, I am the biggest and strongest on the team:D :p

If you had an army of hardware guys would the robot be buildt faster? Usually not in fact it can slow the process.

I agree usually the robot hardware is not ready in time to do 15 seconds of a game much less 2 minutes.

Doug Leppard 24-05-2010 08:35

Re: Programmers: I Have A Challenge For You
 
Maybe this has been already suggested I haven't read all the posts.

How about having a post championships competition, like IRI where the robots are totally autonomous. Maybe have it at IRI as one of the vents.

This way there is more time to work on the robot post season.

Andrew Schreiber 24-05-2010 09:18

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Doug Leppard (Post 963587)
If you had an army of hardware guys would the robot be buildt faster? Usually not in fact it can slow the process.

Yes, adding workers can slow a process. http://en.wikipedia.org/wiki/The_Mythical_Man-Month may be of some interest to you.

davidthefat 28-11-2010 00:44

Re: Programmers: I Have A Challenge For You
 
I am bumping this one up cause I honestly did not want to start another thread and as the kickoff gets closer, I thought people should see this.

I found a solution to the image processing problem.
http://microcontrollershop.com/produ...ucts_id=352 9

No battery: Legal
4 USB ports = Good
Runs Linux (The Arm 9 Linux uses 32 mb of ram, and this has 32 mb ram... So IDK...)


I realized I can not use the PS3 or a PC due to lack of voltage generated form the batteries... Don't they need a minimum of 110v? and the battery is 12 v.

It says it supports up to 4 webcams, but I do not know how well it can perform while processing images.
I can either just process the data and send the raw data obtained from the camera to the cRio and process the logic there or process the logic on the board. Thats a minor detail that can be experimented with.

Chris is me 28-11-2010 10:46

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982274)
I realized I can not use the PS3 or a PC due to lack of voltage generated form the batteries... Don't they need a minimum of 110v? and the battery is 12 v.

That's not exactly true. They need 110V of AC power, and the battery supplies 12 V of DC power. It's not really a matter of simply "oh, 110 is bigger than 12, guess I'm screwed". You could use a power inverter, though I don't think power inverters are FIRST legal...

Have you written any successful programming logic since your last post?

davidthefat 28-11-2010 11:26

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Chris is me (Post 982286)
That's not exactly true. They need 110V of AC power, and the battery supplies 12 V of DC power. It's not really a matter of simply "oh, 110 is bigger than 12, guess I'm screwed". You could use a power inverter, though I don't think power inverters are FIRST legal...

Have you written any successful programming logic since your last post?

I honestly have not done any programming since summer. :o

Vikesrock 28-11-2010 13:17

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982274)
I am bumping this one up cause I honestly did not want to start another thread and as the kickoff gets closer, I thought people should see this.

I found a solution to the image processing problem.
http://microcontrollershop.com/produ...ucts_id=352 9

No battery: Legal
4 USB ports = Good
Runs Linux (The Arm 9 Linux uses 32 mb of ram, and this has 32 mb ram... So IDK...)


I realized I can not use the PS3 or a PC due to lack of voltage generated form the batteries... Don't they need a minimum of 110v? and the battery is 12 v.

It says it supports up to 4 webcams, but I do not know how well it can perform while processing images.
I can either just process the data and send the raw data obtained from the camera to the cRio and process the logic there or process the logic on the board. Thats a minor detail that can be experimented with.

Another option would be a mini-ITX motherboard. Some of them have a 12VDC jack for power input. I know a number of jetway boards in particular use this form of power input. If you use the default BIOS settings I believe you can run without a CMOS battery, but I'm not positive about that. Using a small SSD for storage you may be able to get an FRC legal computer running.

PAR_WIG1350 28-11-2010 17:48

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982288)
I honestly have not done any programming since summer. :o

When an artist works on something for too long, nothing about it seems to be good enough. It isn't until he leaves it alone for a while before returning that he can see what truly needs to be worked on.

--Me

theprgramerdude 28-11-2010 19:24

Re: Programmers: I Have A Challenge For You
 
Agreed with the above. I backed off of it, and instead have been studying the bigger picture of how to build a decent robot, as well as some of the sensors available for input. There's no reason to try all autonomous anyways if your robot just flat-out sucks.

davidthefat 28-11-2010 19:36

Re: Programmers: I Have A Challenge For You
 
Well I plan to get a hold of that GadgetPC sometime soon and start working on the cameras and stuff. I really wanted to try parallel processing with multiple cores, but I guess I can hold off for a while.

PAR_WIG1350 29-11-2010 18:52

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982378)
Well I plan to get a hold of that GadgetPC sometime soon and start working on the cameras and stuff. I really wanted to try parallel processing with multiple cores, but I guess I can hold off for a while.

Stick with what you know, especially that which you know but don't know that you know. Think about how you think. How do you tell what an object is? How do you know if it needs to be avoided? In humans, image processing occurs in the occipital lobes of the brain which communicate with the frontal lobes to determine what everything is based on stored information. In your system, the GadgetPC seems to be equivalent to the occipital lobes of the brain. The frontal lobes would be the CRIO, possibly the FPGA. This involves a lot of boolean logic.
Code:

is it a wall?
yes
{avoid}
no
{is it a robot?
  yes
  {do something, maybe add an extra "is it an opposing robot?" test}
  no
  {is it a scoring object?
        yes
        {pick it up}
        no
        {is it a goal?
            yes
            {score,  if scoring objects are in possession}
            no
            {is it part of the field that can be driven over?
                  yes
                  {ignore}
                  no
                  {avoid}
}}}

Another important part of the brain is the parietal lobe--> processes other sensory information and builds maps of the environment

Motion would be controlled by another part of the system that uses all of this information gathered by the three "lobes" and maps out the best route to take.
-----------------------------------------------------------------------------------
**note** this isn't exactly how the human brain works, I'm just simplifying it to fit the application better and to avoid confusion of some people, myself included.
___________________________________________
I'm sorry if this is hard to follow or makes no sense, I had a hard time wording it, or even figuring out what I was trying to say, maybe I should take a break and come back to it later

davidthefat 29-11-2010 19:27

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by PAR_WIG1350 (Post 982563)
Stick with what you know, especially that which you know but don't know that you know. Think about how you think. How do you tell what an object is? How do you know if it needs to be avoided? In humans, image processing occurs in the occipital lobes of the brain which communicate with the frontal lobes to determine what everything is based on stored information. In your system, the GadgetPC seems to be equivalent to the occipital lobes of the brain. The frontal lobes would be the CRIO, possibly the FPGA. This involves a lot of boolean logic.
Code:

is it a wall?
yes
{avoid}
no
{is it a robot?
  yes
  {do something, maybe add an extra "is it an opposing robot?" test}
  no
  {is it a scoring object?
        yes
        {pick it up}
        no
        {is it a goal?
            yes
            {score,  if scoring objects are in possession}
            no
            {is it part of the field that can be driven over?
                  yes
                  {ignore}
                  no
                  {avoid}
}}}

Another important part of the brain is the parietal lobe--> processes other sensory information and builds maps of the environment

Motion would be controlled by another part of the system that uses all of this information gathered by the three "lobes" and maps out the best route to take.
-----------------------------------------------------------------------------------
**note** this isn't exactly how the human brain works, I'm just simplifying it to fit the application better and to avoid confusion of some people, myself included.
___________________________________________
I'm sorry if this is hard to follow or makes no sense, I had a hard time wording it, or even figuring out what I was trying to say, maybe I should take a break and come back to it later

I am assuming the bumper system is going to be mandatory again, so I thought that I can just do a color detection of the blob and decide with that info if that robot is an enemy or not. Also for detecting the objects, I have to think a bit more about that. I thought that just comparing colors is simple enough, but that can be very shoddy.

I been looking at the Machine Learning lectures by Andrew Ng @Stanford, I think that will give me a better insight on this.

I totally understand what you are saying, my mind thinks the same. What I was hoping I could do was use the PS3, but that does not seem likely.

There are 8 SPEs, only 7 are available, but thats fine. I was thinking each SPE was to be responsible for one part. All the SPEs can access the images without writing to it, so no problem there since all the SPEs would be only reading. Like 1 SPE can do the color detection, another do the distances of the objects, another do object recognition, and ect. They all relay that info to the PPE which will then compile the info and then do the logic. Then the PS3, through the ethernet, sends the instructions to the cRio.

Now that seems like a stretch, but honestly I like to aim high. I am 1/4 through the MIT PS3 lectures, I have learned so much just from that LOL.

If the PS3 is legal and the DC to AC inverters are legal, I can go ahead with this. Only problem, its my only PS3, do I want to potentially risk it getting crushed or something? I have 2 options too, run linux or go the homebrew way? I got a 60GB Japanese launch PS3, I still run linux on it, I have not updated it. The linux libraries for the PS3 are well documented and very thorough (IBM wrote them), but I would assume the homebrew route would have incomplete and shady libraries since its in its infancy. The down side of the linux on PS3 is the boot time, takes at least 45 seconds to boot up. The game OS only takes 2 seconds.

apalrd 29-11-2010 19:55

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982566)
... takes at least 45 seconds to boot up.

That's about as fast as the cRio anyway (seriously, it takes forever to boot)

biojae 30-11-2010 02:43

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by PAR_WIG1350 (Post 982563)
Another important part of the brain is the parietal lobe--> processes other sensory information and builds maps of the environment

That's where SLAM (Simultaneous Localization And Mapping) can come in.
(or, a partial implementation seeing as the field doesn't change from one match to the next (hopefully),
and a full map could be made once)

Quote:

Originally Posted by PAR_WIG1350 (Post 982563)
Motion would be controlled by another part of the system that uses all of this information gathered by the three "lobes" and maps out the best route to take.

With a full map made, a path planning algorithm (such as A*, Dijkstra's algorithm, or others) could find the best path (shortest, least time, less obstacles, etc.).
And if this was constantly updated with current sensor information, it could try to find a route around other robots too.

Quote:

Originally Posted by davidthefat (Post 970806)
I am thinking of using 2 60fps cameras as a stereo vision system.

Then the mapping phase would be fairly easy, as stereo vision can give you depth information.

This video shows an IRobot Create with a Kinect camera performing SLAM:
http://www.youtube.com/watch?v=dRPEns8MS2o

ptan 30-11-2010 21:41

Re: Programmers: I Have A Challenge For You
 
For what it's worth, you may want to check out CMU's intro to robotics course

http://www.cs.cmu.edu/afs/cs.cmu.edu...1/www/current/

Especially check out Lab3 which has the some useful dead reckoning code (Yes, we are using their code in our robots).

davidthefat 30-11-2010 22:04

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by ptan (Post 982827)
For what it's worth, you may want to check out CMU's intro to robotics course

http://www.cs.cmu.edu/afs/cs.cmu.edu...1/www/current/

Especially check out Lab3 which has the some useful dead reckoning code (Yes, we are using their code in our robots).

I purposely did not want to use the CMUCams because I honestly want to experience the process of making such algorithms. Because this is not all about winning. I first took this challenge to push myself and really dedicate and learn. I am also purposely staying away from OpenCV and other libraries for the same reason. Yes I have read in a lot of posts about why not to reinvent the wheel. I do it because I love doing it, it builds character and you learn a lot more than just reusing what some one has made. I push myself now so I don't have to push my self later, I wish I had learned earlier on. I wish I have learned it in elementary or middle school because that really is a valuable thing to learn. When I am doing my graduate work, the things I work on will not be canned projects like the ones we do in science class, I would be the forefront of my area of expertise. If I learn to do it on my own, its alot better than learning it too late. Its different from just plugging in the variables in a equation and getting the right answer than understanding why and how you got that answer. I believe the latter is what I strive for.

People will disagree with my mentality especially engineers, but I feel that is what I need as a student and as a person. My counselor told me that no one will just wait for me to help me, I have to actively seek help if I need it. I always think that if you reinvent the wheel, chances of you doing it better is greater than just reusing it. If you just reuse it, you will never be able to improve it.

Also if I fail, I learn, which in my book is success.
"I have not failed. I've just found 10,000 ways that won't work." -Thomas Edison

AdamHeard 01-12-2010 00:32

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982832)
I purposely did not want to use the CMUCams because I honestly want to experience the process of making such algorithms. Because this is not all about winning. I first took this challenge to push myself and really dedicate and learn. I am also purposely staying away from OpenCV and other libraries for the same reason. Yes I have read in a lot of posts about why not to reinvent the wheel. I do it because I love doing it, it builds character and you learn a lot more than just reusing what some one has made. I push myself now so I don't have to push my self later, I wish I had learned earlier on. I wish I have learned it in elementary or middle school because that really is a valuable thing to learn. When I am doing my graduate work, the things I work on will not be canned projects like the ones we do in science class, I would be the forefront of my area of expertise. If I learn to do it on my own, its alot better than learning it too late. Its different from just plugging in the variables in a equation and getting the right answer than understanding why and how you got that answer. I believe the latter is what I strive for.

People will disagree with my mentality especially engineers, but I feel that is what I need as a student and as a person. My counselor told me that no one will just wait for me to help me, I have to actively seek help if I need it. I always think that if you reinvent the wheel, chances of you doing it better is greater than just reusing it. If you just reuse it, you will never be able to improve it.

Also if I fail, I learn, which in my book is success.
"I have not failed. I've just found 10,000 ways that won't work." -Thomas Edison

I think you're getting caught up on this reuse concept. Based on your logic, pretty much every respected innovation currently on the market is not innovative, as it reused something.

Your goal of biting off 100 times more than you can chew is probably going to slow your learning process overall, there is nothing wrong with learning things in smaller steps.

Your ambition is good, your plan isn't so much.

Andrew Schreiber 01-12-2010 01:00

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by apalrd (Post 982579)
That's about as fast as the cRio anyway (seriously, it takes forever to boot)

Which confuses me since the CRIO I have at work boots up and runs my code nearly instantly.

davidthefat 01-12-2010 01:06

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Andrew Schreiber (Post 982851)
Which confuses me since the CRIO I have at work boots up and runs my code nearly instantly.

I think he meant the time it takes to connect to the classmate and have full control of it. Usually our robot has a 10-15 second delay when the green light comes up on screen and when it actually has connection

Andrew Schreiber 01-12-2010 01:09

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982852)
I think he meant the time it takes to connect to the classmate and have full control of it. Usually our robot has a 10-15 second delay when the green light comes up on screen and when it actually has connection

Which is not at all what he said. In the future we should try to be more precise on what we mean especially when complaining about things.

apalrd 01-12-2010 11:16

Re: Programmers: I Have A Challenge For You
 
Clarification:

45 seconds is about the total time it takes from the time when power is applied until the time which the complete control system is ready to be enabled, assuming the Classmate is already running. So, not the boot time of the cRio itself, but the entire robot-end control system.

Alan Anderson 01-12-2010 12:09

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982832)
I push myself now so I don't have to push my self later, I wish I had learned earlier on.

I have a high level of confidence that you will wish something completely different later on.

Trust me, you really don't want to set yourself up for a mindset of already having put in your effort and wishing to relax early. Ignoring resources now will only make you work harder to get to the same place others will be, and you will still have to "push" once you get there if you don't want to find yourself falling behind.

Quote:

People will disagree with my mentality especially engineers,...
You got that right.

Quote:

I always think that if you reinvent the wheel, chances of you doing it better is greater than just reusing it. If you just reuse it, you will never be able to improve it.
On the other hand, I think you got that part wrong. If you refuse to reuse it, you do not have the opportunity to make it better. You might eventually come up with something different that works better, but without building on earlier work you will find it takes a lot longer to succeed than if you had used the head start offered to you. In the meantime, others who did reuse it will likely already have improved on it before you get to that point.

I'm not belittling your goals. It's your plan for achieving them that I think needs some tweaking.

Foster 01-12-2010 12:41

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Andrew Schreiber (Post 982853)
Which is not at all what he said. In the future we should try to be more precise on what we mean especially when complaining about things.

You must be new around here :rolleyes:

I'm a big fan of the "Stand on the Shoulders of Giants (tm)" I like to use other peoples ideas/products/code/etc. to get started. Once I have things in place that work I can start refining / optimizing small parts to make them better. I know that I can dig iron and coal out of a hill, but it does not mean that I want to make my own steel gears from scratch.

So from a few posts up. I would use the CMU camera and it's code. Once I understood how it worked, I would start changing sections out to make it better and better. While there are other platforms you can use, any of them are better than starting with:
Code:

main(){
}

as a starting point.

Andrew Schreiber 01-12-2010 14:41

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Foster (Post 982899)
You must be new around here :rolleyes:

A man can dream can't he?

ptan 01-12-2010 15:29

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 982832)
I purposely did not want to use the CMUCams because I honestly want to experience the process of making such algorithms. ...

hmmm... Interesting. The link I provided did NOT have any reference to CMUCams. It is a basic Introduction to Robotics class, where all the math and materials are put online. (My daughter is being a teaching assistant in this course next semester).

I find it fascinating that people here are jumping to conclusions without checking out the facts (or links in this case). CMU does NOT just make the CMUCam !!!

In any event, the course itself is useful to take a look at for the ideas and the math behind a lot of the robotics. Why do you want to go ahead an reinvent the math when you can just look at the math and find out if you want to use it, or better still, find something better!?

ptan 01-12-2010 15:34

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Foster (Post 982899)
You must be new around here :rolleyes:

I'm a big fan of the "Stand on the Shoulders of Giants (tm)" I like to use other peoples ideas/products/code/etc. to get started.
...

Agreed.

As an Engineer, I can definitely state that in the Real World, you have to build on what other people have done. I don't see anything wrong with doing that in school or robotics competitions.

This reminds me of one of the Science Exhibits I once saw titled: Baking an Apple Pie from Scratch.

Step 1: Create the Universe
Step 2: Create Life on Earth
Step 3: Create Apple Trees
Step 4: ...

The point is, you have to start somewhere. Don't be too arrogant as to think that just because you didn't invent it, it is not useful.

DDSLoan96 06-12-2010 20:36

Re: Programmers: I Have A Challenge For You
 
What you could try doing is incorporating Kinect into your Robot as it has depth and color perception built in and that could help in a game that may be like Overdrive...just a thought

davidthefat 06-12-2010 20:42

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by DDSLoan96 (Post 984017)
What you could try doing is incorporating Kinect into your Robot as it has depth and color perception built in and that could help in a game that may be like Overdrive...just a thought

Not exactly, you still have to write drivers for it and I am not sure if most of the image processing takes place on board on the Kinect or its processed on the 360 itself. Now it would be a pain in the butt either way. If it is onboard, there would be a fair amount of reverse engineering and getting the drivers to work, the second way, you have to program everything your self.

I am not going the kinect route like I mentioned before.

AustinSchuh 06-12-2010 20:54

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by davidthefat (Post 984019)
Not exactly, you still have to write drivers for it.

It's already been hacked, and there are open source drivers for Linux.

EricVanWyk 07-12-2010 01:48

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by AustinSchuh (Post 984023)
It's already been hacked, and there are open source drivers for Linux.

You forget that David prefers to create things himself. He'll create his own drivers just as soon as he finishes converting sand into processors.

Alan Anderson 07-12-2010 09:45

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by DDSLoan96 (Post 984017)
What you could try doing is incorporating Kinect into your Robot...

It's very likely that the Kinect's depth perception hardware will be prohibited on the robot under the "no lasers" rule. We'll find out next month whether it's an option.

I'd like to find out if two Kinect sensors pointed at the same object would interfere with each other. Does anyone here know if someone has tried it?

Vikesrock 07-12-2010 09:50

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Alan Anderson (Post 984093)
It's very likely that the Kinect's depth perception hardware will be prohibited on the robot under the "no lasers" rule. We'll find out next month whether it's an option.

I'd like to find out if two Kinect sensors pointed at the same object would interfere with each other. Does anyone here know if someone has tried it?

There is minimal interefernce between multiple Kinects when pointed at the same object as long as the devices aren't right on top of each other or pointed right at each other. We have not gotten this far at work, the above represents reports from the OpenKinect community.

Andrew Schreiber 07-12-2010 11:22

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Alan Anderson (Post 984093)
It's very likely that the Kinect's depth perception hardware will be prohibited on the robot under the "no lasers" rule. We'll find out next month whether it's an option.

Haven't IR range finders always been legal? [Standard disclaimer about last year's rules]

mwtidd 08-12-2010 01:39

Re: Programmers: I Have A Challenge For You
 
Quote:

Originally Posted by Alan Anderson (Post 984093)
I'd like to find out if two Kinect sensors pointed at the same object would interfere with each other. Does anyone here know if someone has tried it?

This video is first example I've found of two images being merged in a 3d environment. He talks about and shows the interference, which is fairly minimal.
Note the video is actually a 3d recreation, notice how at the end he is able to move around the space.

http://www.youtube.com/watch?v=5-w7UXCAUJE


also here's a video of mit's kinectbot
does 3d mapping and gesture recognition.

http://www.youtube.com/watch?v=dRPEns8MS2o

gblake 01-08-2011 22:42

Re: Programmers: I Have A Challenge For You
 
link to a 5th Gear "AI" FYI update in a related thread
http://www.chiefdelphi.com/forums/sh...5&postcount=21

theprgramerdude 07-08-2011 13:52

Re: Programmers: I Have A Challenge For You
 
Has anyone tried yet to simply use the Crio as an I/O device, and use it to send all images/Sensor data to a super-extra-beefy laptop with a modern GPU that can handle all the thinking for it? I'd imagine using something like a few cameras and then trying to perform a SLAM on the inbound stream would easily exceed what the Motorolla is capable of doing, but easily within the reaches of a CUDA-powered laptop.

Suitster 03-04-2012 18:52

Re: Programmers: I Have A Challenge For You
 
Gravedig Post:
With the introduction of the Kinect this year, that may be a better system, as one could program it to recognize game objects and robots.
At least I think so.
I was thinking about trying this, but my summer project is getting a crab drive to work

gixxy 03-04-2012 19:04

Re: Programmers: I Have A Challenge For You
 
Our turret was fairly autonomous this year.

Camera would target goal, find distance and angle from target. Center to Target. Figure out what speed to use on the wheels from calibration points. and we would fire.

Everything else was Operator control: driving, ball collection, hitting the fire button, Bridge mounter.

But man that Turret was a blast to code.

I can't guarantee that we will make fully autonomous robot, but we already try to make the Robot take care of itself as best we can.

theNerd 03-04-2012 21:32

Re: Programmers: I Have A Challenge For You
 
Could we, as an awesome robotics community, create a github for this? Each team could push and pull his or her ideas....creating a truly Graciously professional union between our teams.

rebug 04-04-2012 13:57

Re: Programmers: I Have A Challenge For You
 
Wait, one question:

How in the world are you going to know where other robots are? You could do vision tracking (sound painful, but possible) or use the laser rangefinder that google used (easier to program, harder to build).

Anyway, in my senior year, I would like to do camera tracking for everything, and make it completely autonomous. I hope the game that year is good...

PS: To gixxy: why is Programmer.program() static? are you the only one?

Taylor1023 04-04-2012 17:49

Re: Programmers: I Have A Challenge For You
 
Wow. That sounds both amazing and painful. It's an interesting concept, that's for sure. The main programmer on our team might be up to the challenge (only problem is that he is a senior right now and will only mentor next year). This could be something for our programming team to work on over the summer though.

It would certainly make for an interesting match if all the robots were autonomous, but what would the drivers do? I'm not sure if a fully autonomous robot could pull off a last-second balance or miracle shot like this year. And if a robot this year were autonomous, how would it know when to balance or how to react to defending robots? How would you program it to know the difference between an alliance partner and an opponent?

The human element in matches is important. If an alliance partner needed help (say their robot was tipped over) the fully autonomous robot probably wouldn't help right the other robot. And then there's always some faulty sensor or something. I'm not saying this is a bad idea, I'm saying this would be hard to pull off and still win matches.

Still, I would be absolutely awed if there was a robot next year that had full autonomous and could still win matches.

shuhao 04-04-2012 19:00

Re: Programmers: I Have A Challenge For You
 
I've been pushing for this the entire season.. However our team has no electrical, so I had to take over that part.. Also we don't have the funds to go all out on sensors.. and our mechanical team do not have time to mount an advance sensor system..

It's not entirely impossible. It just takes 1 really good programmer (SLAM, planning, control), a really good machinist (sensor turrents etc.), and a really good electrical guy (sensors, control systems etc.) to work on exclusively the autonomous mode while everyone else works on everything else about the robot and a lot of money to do it.. 6 weeks should be enough. Though it will be pretty difficult to accomplish in the scale of FIRST, as the robots are big and the field are not always the most friendly in terms of localization. The worst part is probably tracking other robots.. Not impossible, but pretty hard as everyone has different dimensions (though bumpers are the same.. hmm)

Me and our main builder (who is probably one of the best machinist I've ever encountered), and an outside friend who's excellent at electrical are starting to do a smaller robot that could do SLAM and auto navigation. We're making the entire robot open source once completed. The current design is approximately 18in x 11in big.

2185Bilal 04-04-2012 23:06

Re: Programmers: I Have A Challenge For You
 
Team 2185 - The RoboRams
Are up for that challenge :yikes:


All times are GMT -5. The time now is 14:58.

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