Go to Post Who needs weapons when you have a scary face - Conor Ryan [more]
Home
Go Back   Chief Delphi > Technical > Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 27-12-2012, 15:52
adciv adciv is offline
One Eyed Man
FRC #0836 (RoboBees)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Southern Maryland
Posts: 478
adciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to alladciv is a name known to all
Image Processing

Alright, I'm trying something new this year.

Attached is a chunk of code I've written to perform vision processing. The idea behind this is to allow teams to utilize a coprocessor running on the robot (e.g. Raspberry Pi). I have also attached our lessons learned from last year with the Axis Cameras.

Currently: It can only read data from the Kinect and provides access to both the RGB and Depth Camera. I hope to add the Axis camera to this in the future along with many more features. I have incorporated code from FIRST FRC Team 341 Driving Miss Daisy am working on code based on a description from 987. (Thank you both)

Future: I hope to maintain this code going forward. I have listed a few things I plan to add in the code itself. Do not expect major changes until after May 2013. I have seven robotics qualifiers this year. I do plan to add a few more features to the code in the next few weeks, such as access to the remaining Kinect features (other than audio) and a function based on what Team 987 posted.

Operating System: Linux, Ubuntu 12.04 (Long Term Support)
Hardware Programmed On: Intel Centrino/Pentium-M 1.73 Ghz, 2GB ram (2005 Laptop)

IDE: I used CodeBlocks to write this (Thank you Team 987).

Details: The code provides access to the Kinect Sensors using libfreenect. Image processing is performed using OpenCV and related libraries. The code can also send processed images from the Kinect to the Dashboard over the network (see attached sample labview code).

I know a few things will have to change in order for this to work on the field, the key thing being the ports used. (I can not find a copy of last years game manual to fix this).
Attached Files
File Type: zip Distributed Code v2.1.zip (780.3 KB, 71 views)
File Type: pdf Documentation for the Image Processing Tool.pdf (322.0 KB, 112 views)

Last edited by adciv : 27-12-2012 at 20:39. Reason: Forgot a file.
Reply With Quote
  #2   Spotlight this post!  
Unread 27-12-2012, 16:27
billbo911's Avatar
billbo911 billbo911 is offline
I prefer you give a perfect effort.
AKA: That's "Mr. Bill"
FRC #2073 (EagleForce)
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Elk Grove, Ca.
Posts: 2,355
billbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond repute
Re: Image Processing

Excellent write up!! Thanks for sharing. Depending on the game this year, this WILL help a lot of teams.

May I make one suggestion to help handle and even negate problems with different lighting conditions?
Using "Florescent1" as a default is a good compromise, but there is a better option. It entails setting and locking the camera's White Balance to the actual environment.

All that is required it creating a simple vi that places the camera in "Auto" White Balance mode. The hold a white piece of paper in front of the camera close enough that it completely fills the image. Hold it steady for 15+ seconds. Then once the camera has adjusted it's self to that lighting condition, exit the loop and have the last step set the camera to "Hold Current" for the White Balance just before the vi ends.
Now, whenever you power up, have the camera set to use "Hold Current" and it will use the calibrated value for White Balance.
This can be useful in any environment and will also allow you to calibrate for the exact lighting on the playing field as long as you take advantage of the time provided at each tournament.
__________________
CalGames 2009 Autonomous Champion Award winner
Sacramento 2010 Creativity in Design winner, Sacramento 2010 Quarter finalist
2011 Sacramento Finalist, 2011 Madtown Engineering Inspiration Award.
2012 Sacramento Semi-Finals, 2012 Sacramento Innovation in Control Award, 2012 SVR Judges Award.
2012 CalGames Autonomous Challenge Award winner ($$$).
2014 2X Rockwell Automation: Innovation in Control Award (CVR and SAC). Curie Division Gracious Professionalism Award.
2014 Capital City Classic Winner AND Runner Up. Madtown Throwdown: Runner up.
2015 Innovation in Control Award, Sacramento.
2016 Chezy Champs Finalist, 2016 MTTD Finalist
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:46.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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