Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Extra Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=68)
-   -   pic: Team 341 presents Miss Daisy XI (http://www.chiefdelphi.com/forums/showthread.php?t=103579)

Jared Russell 22-02-2012 01:34

pic: Team 341 presents Miss Daisy XI
 

jblay 22-02-2012 01:36

Re: pic: Team 341 presents Miss Daisy XI
 
Looks like another awesome miss daisy machine. That intake system is really cool and I look forward to seeing it in action. From the videos I have seen of competition and the practice we have done, it is becoming clear how difficult picking up the balls is going to be and your intake system looks like it has more than solved that issue.

rcmolloy 22-02-2012 04:52

Re: pic: Team 341 presents Miss Daisy XI
 
This is definitely a Daisy machine. I'm sure that come Championships, Jared and the team should be seasoned in and ready to what they wanted to achieve last year to really happen. Really impressive and can't wait to see it in action soon. Good luck and see you at Champs!

Hawiian Cadder 22-02-2012 05:10

Re: pic: Team 341 presents Miss Daisy XI
 
Wow, that COG is impressive, This looks like an awesome robot, cant wait to see it in action.

Andrew Schreiber 22-02-2012 06:57

Re: pic: Team 341 presents Miss Daisy XI
 
Daisy makes extrusion look sexy. Can't wait to see Miss Daisy XI at MAR. It's been a pleasure to watch her come together, can't wait to watch her run.

Best of luck Daisy!

Mr MOE 22-02-2012 07:10

Re: pic: Team 341 presents Miss Daisy XI
 
Great-looking bot! Can't wait to see it in action at the MAR disctrict events. See you all at Chestnut Hill!

nlknauss 22-02-2012 07:22

Re: pic: Team 341 presents Miss Daisy XI
 
Great robot Team 341! I really love the intake system on the robot, very unique and cool. See you at Chestnut Hill!

lynca 22-02-2012 11:00

Re: pic: Team 341 presents Miss Daisy XI
 
Quote:

Originally Posted by Jared341 (Post 1132306)

SOFTWARE
* Completely automatic targeting via laptop-based DaisyCV image processing application
* Target detection code can run at more than 200 frames per second; it has no problems performing real-time tracking of the target regardless of lighting or even partial occlusion (such as from the rim/net)

This frame rate is very impressive.

1. What camera are you using ?

2. What are the specs of your laptop ?

3. How do you transfer information between a laptop and cRio?

4. Do you have a openCV backboard tracking example available?

Jared Russell 22-02-2012 11:57

Re: pic: Team 341 presents Miss Daisy XI
 
Quote:

Originally Posted by lynca (Post 1132515)
This frame rate is very impressive.

1. What camera are you using ?

2. What are the specs of your laptop ?

3. How do you transfer information between a laptop and cRio?

4. Do you have a openCV backboard tracking example available?

1. The Axis M1011 camera. This does limit us to 30 frames per second when operating on the robot (at 640x480 resolution), but the code itself has been shown to process upwards of 200 frames per second when streaming images from disk. In actuality, 30 frames per second is more than enough since we are actually using the gyro for doing our feedback control anyhow. At 30FPS we utilize about 15% of our CPU.

2. It's a Core i5 with 6GB of RAM.

3. Camera data goes robot -> laptop through the wireless link to the Driver Station. Computed outputs go back through the link to the cRIO using WPI Network Tables.

4. I'll post our full code after the competition season has begun. For achieving basic throughput between camera, laptop, and cRIO, you can use the example square tracker that comes with the SmartDashboard installer. Here is our basic algorithm:

1. Convert image to HSV color space
2. Perform thresholding in HSV (enforce minimum and maximum hue, minimum saturation, minimum value)
3. Find contours
4. Take convex hull of contours (this is the step that helps ensure that partial obscuration from the rim/basket doesn't kill us)
5. Perform polygon fitting to contours
6. Filter polygons based on (a) number of vertices, (b) aspect ratio, (c) angles of horizontal and vertical lines.
7. Select highest remaining polygon as the top target.
8. Compute angle from camera center to target center and add this to the current robot heading
9. Command the new heading to the robot (it uses gyro and encoders to achieve this heading)
10. Compute range based on trigonometry comparing center of camera axis to center of target height
11. Command shooter RPM setpoint based on linear interpolation of a lookup table

The code has been very carefully optimized to reduce the allocation/deallocation of dynamic memory between subsequent calls, which is what lets us operate at breakneck speed. This also involved a lot of debugging to hunt down latent memory leaks existing somewhere in the layering of OpenCV/JavaCV/WPIJavaCV APIs.

JamesTerm 22-02-2012 12:26

Re: pic: Team 341 presents Miss Daisy XI
 
How did you solve the potential networking issues and latency? Do you have some interpolation for delayed frames? Do you have timestamps on the frames to know how long they took to trasmit... when you computed your position, and transmit this back to the robot does it take into account the latency on this end. How did you work around or simulate the FMS locked stress, and did you test against a typical network traffic of a match.

All of these questions scared me away from this kind of solution. I hope you have some good answers for them. ;)

I guess you can always set still for a few seconds and that should solve that.

Jared Russell 22-02-2012 12:48

Re: pic: Team 341 presents Miss Daisy XI
 
The short answer is that if we discover network latency/dropout to be a significant problem, we will move our image processing application to an onboard laptop. Failing that, our next fallback is to reduce resolution and/or framerate. To be frank, we auto target just fine at 5 fps (because the gyro loop is closed at 200Hz); we do 30 because we can :)

However, I do not expect this to be a major concern. In past seasons, teams have streamed live camera data directly to their dashboards with few problems. The only difference is now we are cutting out the cRIO altogether. While we haven't run simulations against an "FRC network simulator" (but if you know of a tool that could be used for this purpose I would be interested in trying it), in theory there is PLENTY of bandwidth to go around. With reasonable compression settings these images are only on the order of 10-20 kilobytes a piece.

We don't timestamp the images, but we do transmit our heading synchronously with new camera images being available. That way, the results returned by the vision application do not go "out of date" if they are received late. Out of order packets would be a bigger problem (it's UDP under the hood). But absolute worst case - like you said - this would be a transient problem and would straighten itself out within a second or two.

EDIT: Forgot to add, we also do low pass filtering of both outputs from the vision system to help smoothness (and to reject momentary disturbances like when we occlude the vision target with a flying basketball :)). This should help with occasional frame drops as well.

team222badbrad 22-02-2012 13:02

Re: pic: Team 341 presents Miss Daisy XI
 
Clean looking machine!

It's nice to see another robot with a wide pickup! :-)

See you at Chestnut Hill!

waialua359 22-02-2012 14:21

Re: pic: Team 341 presents Miss Daisy XI
 
Nice job there Jared and Al!

Lil' Lavery 22-02-2012 14:40

Re: pic: Team 341 presents Miss Daisy XI
 
Awesome. Can't wait to play with 341 at Hatboro-Horsham. I'd volunteer to use your opposite-loader, but I'm thinking we want to shoot our balls in auto. :cool:

ebarker 22-02-2012 15:06

Re: pic: Team 341 presents Miss Daisy XI
 
What part number did you use for the optical photosensor / tachometer ?

Ed


All times are GMT -5. The time now is 05:57.

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