Resolving Technical Difficulties – Day 33

2.23.2009 (Monday) – Day 33 –

GSpot Codec Information Appliance

GSpot Codec Information Appliance

I need to get our Robotic Labyrinth game platform modeled in Alibre CAD before the trial period runs out. So, I started catching up on some more of the free training videos from the Alibre web site. Their videos formatted in the WMV format are working fine but I’m not able to get other video sessions using the AVI file to work. I tried searching the Internet for solutions to this problem. One suggestion I found was to use Handbrake to convert the AVI file into something I knew was working. I downloaded Handbrake a few weeks ago so I gave that a try. It worked but was taking over an hour to convert the file so I kept looking for solutions.

The solution comes from the GSpot Codec Information Appliance which analyzes a video file and identifies the codec’s that are not supported on your computer. When I ran the program it identified the TechSmith Screen Capture Codec (TSCC) as the culpret. I found the TechSmith web site and downloaded the TSCC file and installed the solution.

The GSpot Appliance will come in handy resolving some issues I noticed a few weeks ago when trying to view AVI files using OpenCV.

The Alibre Training Videos are a great resource I only wish I had the complete set to learn from.

Read on, check out: Day[34] = 2.24.2009
Yesterday, check out: Day[30] = 2.22.2009
Or start from the beginning: Day[0] = 1.21.2009

About SomeoneKnows

Sandwich Structures Before Lunch – Day 27

2.17.2009 (Tuesday) – Day 27 –

Linda Hall Library - Kansas City, MO

Linda Hall Library - Kansas City, MO

Return to Linda Hall

Still searching for more information supporting our Robotic Labyrinth Game project for Science City. Armed with a the new search term, “Sandwich Laminate”, I’m getting the results I wanted. Linda Hall Library’s LEONARDO  shows an interesting book so I returned this morning to check out “The Behavior of Sandwich Structures of Isotropic and Composite Materials”.

Materials are considered Isotropic when they are independent of direction. Aluminum is an isotropic material while carbon fiber is an ansiotropic material depending on the weave in it’s fabric it can exhibit a difference between longitudinal versus transverse stress and strain.

Linda Hall Library Inside

Linda Hall Library Inside

Bob Thurn wanted to meet up at Linda Hall to look for some research materials on another project he’s working on. While there he made an interesting observation. With the exception of the staff, at 10:30 on a Tuesday morning we seemed to have the library to ourselves. When you have all of these increadible resources, why isn’t this place filled with people? He said, “they should be charging a thousand dollars a head just to get in the door”. This is a great resource and is my favorite library, I used to come here over 20 years ago researching information on computer graphics.

OpenCV Study Group

Our new night for the OpenCV Study Group drew a smaller group tonight. Some had a conflict with the local Linux user group meeting tonight too. One good thing about the study group concept is to set aside time to focus on this topic instead of everything else I have going on right now. I did make some progress tonight. I passed along a tip I’m using to troll for OpenCV and Arduino information on Twitter. I’ve started using TweetDeck’s search function for the keywords “OpenCV” and another search for “Arduino”. This works pretty well.

Read on, check out: Day[28] = 2.17.2009
Yesterday, check out: Day[26] = 2.16.2009
Or start from the beginning: Day[0] = 1.21.2009

About SomeoneKnows

Science City’s Robotic Labyrinth Project

We are three weeks into designing the interactive Robotic Labyrinth Game for Science City This ten foot by twelve foot (10′ x 12′) game is being built by volunteers with donations from our growing list of sponsors.

Science City is host to over 30,000 school kids and 170,000 family members per year. It is located inside Kansas City’s historic Union Station which sees approximately 2 Million visitors per year.

Twists and Turns

Twists and Turns

Who would have thought a little wooden labyrinth game could take us in so many directions. What started out as an idea to modify this toy into a party game is turning into an educational journey. This simple game modification is an inexpensive way of introducing kids to concepts used in robotics. The game is controlled by standing on a Nintendo WiiFit balance board. A computer is used to interpret your movements when you shift your weight around. The computer sends commands to the popular Arduino microcontroller that tells servo motors how much to turn the knobs on the game. The Arduino is a great way to introduce kids and adults to the world of microcontroller programming for their own inventions. If you haven’t already seen it, this video on YouTube shows how the game works.

The video helped launch us into even more directions. The Kansas City Robotics Society (KCRS) donates interactive displays to Science City and we suggested including a robotic labyrinth game. Science City’s director liked this idea and suggested we scale it up to 12 feet. He wanted to use something kids are familiar with like a soccer ball to simulate the marble.

This project has us tackling some real world problems like building lighter weight structures. We are designing an aluminum skinned composite using rigid foam core just like the pink building insulation you get at the lumber yard. To build this game table we are working with Materials Science issues ranging from the selection of materials to finding ways of bonding them together at the molecular level. Key to this project is advice from 3M Engineers in their Aerospace Adhesive division about techniques needed to glue together our aluminum composite game table.

Henrys Design

Henry's Design

One of the best examples of why we’re doing this comes from 12 year old Henry who submitted ideas on how we can put the table into motion using pneumatic cylinders. Hopefully this project will help stimulate the imagination and creativity of other young inventors, future scientists, and engineers.

We now have programmers curious about creating web applications so people from around the world can play the game over the Internet from their own home. Not satisfied with stopping there, we wondered, could we add a webcam and use motion detection to get a computer playing the game for us? So, we’ve also started an OpenCV Study Group to learn about image processing hoping to find a way to make this happen too.

Our completion date for the basic game was chosen to coincide with the March 2-7, 2009 opening of a new group called the Cowtown Computer Congress (CCCKC). This group is a grassroots organization of tinkerers, hackers, explorers, artists, inventors and technology enthusiasts in the Kansas City area.

Since the video hit, people who hear about this project are asking – “how can I help”? This project is made possible by donations of time, materials, workspace, expertise, and money from volunteers and sponsors. We are entering our building phase and still need materials to build with. For more information you can check the blog chronicling daily progress of the Robotic Labyrinth starting here.

If you would like to help you can contact us at:  LabyrinthProject@KansasCityRobotics.org

Science City and CCCKC are non-profit organizations.

Sponsor Organizations

ClayCo Electric

Clayco Electric

ClayCo Electrical Contractors

Sheet Metal Workers Local Union 2 – The apprentice and journeyman training

Sheet Metal Workers Local Union 2

The apprentice and journeyman training

Barclay-Moore Piggyback & Warehousing

Barclay-Moore Piggyback & Warehousing

W. R. Meadows

W. R. Meadows

W. R. Meadows


About SomeoneKnows


OpenCV Study Group Announcement: 1.22.2009

Meeting Announcement

Recommended Equipment and Materials

We suggest you bring the following items with you to the study group sessions:

  • Computer
  • Webcam
  • Learning OpenCV book

Try to come prepared with programming tools installed for your chosen operating system(s). If you’re planning to attend and having trouble getting everything installed leave a message in the CCCKC Google Groups or KCRS OpenCV forum ahead of time and maybe someone can help you. Don’t forget the Yahoo Technical Group and the OpenCV Wiki for support issues. Bring your book if you have one, otherwise you can probably share.

Lets try to get our equipment working so we can run the sample programs and discuss topics from Chapters 2 and 3 of the Learning OpenCV text. You can download the sample programs free of charge.

Book Options For Learning OpenCV

The Learning OpenCV book uses the same policy as the OpenCV library. The sample files are free for commercial or research use. O’Reilly would appreciate you referencing the book when using the example programs in your work. To find information about the book and download the sample files go to:
http://oreilly.com/catalog/9780596516130/
then click on Examples link.

Buying books gets expensive. O’Reilly offers a couple of alternatives. You can download an Ebook version for about $10 less than the paperback price. O’Reilly publishes a number of technical books of interest to programmers. Another alternative you can choose is their Safari Books Online option. This service requires a monthly fee. A limited free trial offer is available if you are undecided about this option.

More Linux Setup Tips.

If you’re new at using Linux you may want to install Cheeze or Camerama to check and see if your webcam is working properly.

Jestin suggests using the Eclipse IDE for Linux and Windows platforms. Check out his blog topic Setting up Eclipse For Using OpenCV for more details.

More Windows Setup Tips.

I’m planning on using Microsoft Visual C++ Express Edition instead of Eclipse to avoid some setup issues. You are free to use any IDE you choose, the Microsoft toolset is my personal preference at this time. You can download a free copy from the MSDN Visual C++ Developer Center.

More Study Group Notes

Meeting: Maker’s Night Out in Kansas City – 4.1.2009
Meeting: Study Group Notes – 1.8.2009

Join members of the Cowtown Computer Congress and the Kansas City Robotics Society as we learn to use OpenCV.

  • Check here for more information about CCCKC
  • Check here for more information about KCRS

About SomeoneKnows


OpenCV – Computer Vision Study Group.

When: Bi-weekly on Thursday evenings from 6:00pm to 7:00pm
- Meeting[0] was on Thursday Jan. 8, 2009
- Meeting[1] is scheduled for Thursday Jan 22.

Where: Check the CCCKC web site for details – CCCKC hacker space location

Why study computer vision / image processing programming?
Our study group started after Jestin and I got one of our labyrinth board games hooked up to an Arduino with servos to adjust the board game’s surface. Jestin’s version is using a Nintendo WiiFit running Ubuntu Linux so you move around on the platform to make the marble move through the maze. Mine is just using an XBox360 controller in Windows.

After getting the board game to work, the next logical thing to do would be to attach an accelerometer to the bottom of the board and place a video camera above to watch the marble move. We want to use the video to locate the marble through motion detection, ultimately getting the computer to play the game for us so we can set back and watch.

Why study OpenCV?
There are other vision processing options which are home-grown, supported by a niche group, or have specific features. OpenCV has an active Yahoo Group that hopefully provides a good support role as we learn to program its features. The DARPA Grand Challenge winner Stanley is reported to use OpenCV as part of its navigation capabilities and robot vision is definately one of our interests. OpenCV comes with example programs to easily begin facial detection. All in all it just looks like a good place to start with a lot of potential for future enhancement.

Getting Started
The book “Learning OpenCV – Computer Vision with the OpenCV Library“  is referred to from the OpenCV Wiki for explanation of the library. This book is written to be used as a text book for OpenCV classes.

Using "Learning OpenCV" as our text book

Using "Learning OpenCV" as our text book

Licensing of OpenCV projects. OpenCV is open and free, the code itself may be used or embedded in other applications commercial or otherwise. No obligation to open source your project. (pg. 2)

Various Notes From Meeting[0]:

Installation Details

Windows Install

Note: Placing OpenCV in directory outside of the “Program Files”  folder. I’m using c:\OpenCV

OpenCV Tutorials

The list of tutorials is a random collection and not placed in any significant order. It would be great if we could rate the tutorials showing how useful you think they are. If you find other useful tutorials that aren’t on the list please leave a comment so I can add them.

Publications & Periodicals
Technical Publications by author Robin Hewitt. I have the Servo Magazine articles written by Robin.

Writing a Program with OpenCV

Programming in Windows

This will also work with some modification under Visual C++ 6.0 and Visual C++ 2005, 2008 Express Edition.

Creating a Project With Visual C++
Make sure you aren’t mixing C character strings with Unicode strings

The OpenCV library uses the standard pointer to char array for text strings. I started a new program using Visual C++ and it was using Unicode character strings by default.
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
A quick way to switch to using standard character strings is by changing the main function statement to:
int main(int argc, char* argv[])
{
return 0;
}
Possibly the better way to handle this is to convert from unicode to character strings before calling the OpenCV functions.

Visual C++ libraries.
Make sure the library, include, and source file paths are included on the property page.

Programming with C#
Take a look at the opencvsharp Google Code site.
OpenCvSharp, a wrapper of OpenCV for .NET Framework code.google.com/p/opencvsharp
I tried downloading the help file from there but got error messages when trying to access the help pages: “Navigation to the webpage was canceled.” and “The address is not valid”. I left an issue report on that site.
To download their source code  use an SVN system to check out the code


Problems Opening Video Files

Example 2-2 in the book is about viewing AVI video. It uses the cvCreateFileCapture function.
I found a couple of video files on the computer. A file captured from a Logitech web camera in .wmv format and some files from my cell phone stored in .mp4 format.
Wikipedia definition of AVI definition for the AVI acronym is Audio Video Interleave.

Conversion to OpenCV supported video format with memcoder
Check out this link for supported video formats:
http://opencv.willowgarage.com/wiki/VideoCodecs

Linux Install
Working through the Linux install from
http://bit.ly/Oovy
get to “Compilation” section instruction “make” but no make file. …grr.

I had better luck getting the Linux libraries installed using the instructions from “Learing OpenCV” starting on pg. 9

Twitter Feed Messages
bkmontgomery @SomeoneKnows Best way to get OpenCV on Linux is to compile from source. Be sure to build the Python wrapper! (
http://is.gd/eEi6
)

More OpenCV Study Group Notes

Meeting: Study Group Notes – 1.22.2009

About SomeoneKnows


Follow

Get every new post delivered to your Inbox.