Overview
Vision Sensing represents by far the best overall method of perceiving the surrounding environment. While other sensory technologies such as millimeter wave radar, lidar, acoustic, thermal, chemical , and so on are very useful, none of them provides the level, quality, and variety of information that vision does.
Previously, electro-optical sensory systems were quite expensive and were mostly found in military hardware such as the AGM-65 Maverick missile and similar systems deployed around the world. Now however, affordable and capable vision sensing devices are available to the rest of us. One such device is the Pixy2 camera which is capable of line following and object recognition. Available for around $60 US, Pixy2 is a great addition to small, capable platforms such as fitlet2.
Older Machine Vision Sensing Technology - Expensive and Limited to Military Applications
Pixy2 - Modern Machine Vision Sensing Technology - Affordable and Available to All
About Pixy2
Pixy2 is the latest incarnation of Pixy which was born of a partnership between the Carnegie Mellon Robotics Institute and Charmed Labs. The hardware and software utilized in Pixy2 are open source, so it is an ideal device for use by the makers among us.
Pixy2 has a couple of sensing modes that are quite useful for the maker - especially for robotics applications. These modes are:
1. Object Detection and Recognition
Pixy2 learns and detects objects based on colors using an algorithm known as Color Connected Components. Color based object recognition was utilized because of its efficiency, speed, and relatively "bullet-proof" performance. Pixy2 has the ability to simultaneously detect and track a large number of objects simultaneously. This is a capability that was once reserved for only very complex and expensive military systems.
2. Line Tracking
Pixy2 has the ability to track and follow lines using its custom line tracking algorithm. Unlike photodetector based solutions, Pixy2's vision based line tracking solution has the ability to anticipate by looking ahead and the ability to easily identify and navigate through intersections.
Hardware Used
The hardware used for this demonstration is:
1. fitlet2
2. Pixy2 camera system
3. Pixy2 Pan-Tilt kit
Software
The basic software package for configuring and experimenting with Pixy2 is PixyMon. It is available for Linux, Mac, and Windows. This app note focuses on the Linux version. The preferred distro for the Linux version of PixyMon is Linux Mint which is what I use.
Software Installation
Detailed instructions for installing PixyMon in Linux are found here:
https://docs.pixycam.com/wiki/doku.php? ... n_on_linux
In my case I installed PixyMon in /usr/local/src/pixy2 in order to adhere to what I perceive to be standard Linux practice - although there are many different opinions concerning what is standard practice in Linux.
Also, I wrote a short script PixyMon.sh which I made executable and placed in /home/[username]/bin for universal access.
PixyMon.sh
#!/bin/bash
# Script to Run PixyMon
cd /
./usr/local/src/pixy2/build/pixymon/PixyMon
Test Results
Pixy2 in conjunction with fitlet2 proved to be a fun and interesting system to explore. I was impressed with Pixy2's ability to accurately and consistently detect, identify, and track objects. The following images and videos provide more detail.
1. Object Detection, Recognition, and Tracking
Basic Shape/Color Recognition - Primary Colors
Basic Shape/Color Recognition - Blended Secondary Colors
[/size]
Basic Shape/Color Recognition - Multiple Objects
Basic Shape/Color Tracking - PixyMon - Ripe Tomato
Basic Shape/Color Tracking - Pixy2 Pan/Tilt Kit - Ripe Tomato
2. Line Tracking
Since I am using Pixy2 in a more or less static configuration, I was not able to make a detailed exploration of its line tracking performance. However, the following picture shows that Pixy2 does its best to search its field of view for lines to follow.
Potential Projects
1. Lunar Tracker for aiming "Moon Bounce" laser and microwave transmissions.
2. Laser tracker for mobile platform.
3. Automated fruit/vegetable harvesting system using color/shape recognition.
4. Vehicle "road ahead" hazard detection, recognition, and warning system.
5. Etc.
Actual Line Following Project (By Others)
Personally, I think a fitlet2 would make a fine field-hardened replacement for the laptop used in the following video.
Resources for Developers, Experimentors, and Makers
APIs, Libraries, and Software
https://pixycam.com/downloads-pixy2/
Wiki
https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:start
Forums
https://forum.pixycam.com/
Where Do fitlet2 and Pixy2 Go From Here?
That remains to be seen, but I bet they could be the foundation for a Very Cool Robot!!
Experiment with Vision Sensing Using fitlet2 and Pixy2
Moderators: hassellbear, Andrey.Mazlin
-
- Posts: 106
- Joined: Mon May 28, 2012 3:25 pm
Return to “Cool stuff with fitlet2”
Jump to
- Announcements
- ↳ Read me first
- ↳ News
- ↳ Ordering
- Tensor-PC
- ↳ General Tensor-PC questions
- ↳ Tensor-PC Hardware
- ↳ Tensor-PC Software
- fitlet3
- ↳ General fitlet3 questions
- ↳ fitlet3 hardware
- ↳ fitlet3 software
- ↳ fitlet3 FACET Cards
- Airtop3
- ↳ General Airtop3 questions
- ↳ Airtop3 Hardware
- ↳ Airtop3 Software
- ↳ Airtop3 I3M
- fitlet2 and MBM2
- ↳ General fitlet2 questions
- ↳ fitlet2 hardware
- ↳ fitlet2 software
- ↳ fitlet2 FACET Cards
- ↳ Cool stuff with fitlet2
- Airtop2
- ↳ General Airtop2 questions
- ↳ Airtop2 Software
- ↳ Airtop2 Hardware
- ↳ Airtop2 I3M
- Mature products
- ↳ Airtop
- ↳ General Airtop questions
- ↳ I3M
- ↳ IPC2 (Intense PC2)
- ↳ General IPC2 questions
- ↳ IPC2 availability
- ↳ IPC2 Hardware
- ↳ Linux on IPC2
- ↳ Windows on IPC2
- ↳ Other operating systems on IPC2
- ↳ IPC2 BIOS
- ↳ IPC2 faults and troubleshooting
- ↳ Intense PC and MintBox 2
- ↳ General Intense PC questions
- ↳ Intense PC hardware
- ↳ CPU & Chipset
- ↳ Display interface
- ↳ Memory
- ↳ Storage
- ↳ Ethernet
- ↳ WLAN and miniPCI-e
- ↳ Audio
- ↳ USB
- ↳ Power and heat
- ↳ Linux on Intense PC
- ↳ Linux Mint
- ↳ Other distributions
- ↳ Windows on Intense PC
- ↳ Win7 on Intense PC
- ↳ Win8 on Intense PC
- ↳ Audio
- ↳ Intense PC BIOS
- ↳ Android on Intense PC
- ↳ Intense PC faults and troubleshooting
- ↳ fitlet and MintBox Mini
- ↳ General fitlet questions
- ↳ fitlet performance
- ↳ fitlet hardware
- ↳ Memory
- ↳ Storage
- ↳ Power and heat
- ↳ Mechanical
- ↳ fitlet BIOS
- ↳ Linux on MintBox Mini / Linux on fitlet
- ↳ Windows on fitlet
- ↳ Other operating systems on fitlet
- ↳ FACET Cards
- ↳ fitlet compatible devices
- ↳ Cool stuff with fitlet
- ↳ fitlet faults and troubleshooting
- ↳ fit-PC4
- ↳ General fit-PC4 questions
- ↳ fit-PC4 hardware
- ↳ Windows on fit-PC4
- ↳ Linux on fit-PC4
- ↳ Other operating systems on fit-PC4
- ↳ fit-PC4 BIOS
- ↳ fit-PC4 faults and troubleshooting
- ↳ fit-PC3
- ↳ General fit-PC3 questions
- ↳ fit-PC3 hardware
- ↳ Display interface
- ↳ Storage
- ↳ Audio
- ↳ WLAN and miniPCI-e
- ↳ USB
- ↳ Power and Heat
- ↳ Ethernet
- ↳ Windows on fit-PC3
- ↳ Linux on fit-PC3
- ↳ Other operating systems on fit-PC3
- ↳ fit-PC3 BIOS
- ↳ fit-PC3 accessories
- ↳ Using fit-PC3
- ↳ fit-PC3 faults and troubleshooting
- ↳ fit-PC2
- ↳ General fit-PC2 questions
- ↳ Buying fit-PC2
- ↳ Linux on fit-PC2
- ↳ Linux Mint
- ↳ Ubuntu 9.10
- ↳ Ubuntu 10.04
- ↳ Ubuntu 10.10
- ↳ Ubuntu 11.04
- ↳ Other Linux distributions
- ↳ Ubuntu 8.04
- ↳ Ubuntu 9.04
- ↳ Display driver
- ↳ Multimedia in Linux
- ↳ Multimedia in Mint
- ↳ Windows on fit-PC2
- ↳ Windows 7
- ↳ Windows 7 display driver
- ↳ Audio in Win7
- ↳ Windows XP
- ↳ XP installation
- ↳ Display driver
- ↳ Video playback
- ↳ Audio in XP
- ↳ Other Windows versions
- ↳ Other operating systems on fit-PC2
- ↳ FreeBSD
- ↳ fit-PC2 hardware
- ↳ fit-PC2i hardware
- ↳ Display interface
- ↳ Storage
- ↳ Audio
- ↳ WLAN and miniPCI-e
- ↳ USB
- ↳ Auto-ON
- ↳ Power and Heat
- ↳ Ethernet
- ↳ RTC & System clock
- ↳ fit-PC2 BIOS
- ↳ BIOS updates fit-PC2
- ↳ BIOS updates fit-PC2i
- ↳ fit-PC2 accessories
- ↳ Using fit-PC2
- ↳ HTPC
- ↳ Server
- ↳ Control
- ↳ Verified displays
- ↳ Car PC
- ↳ fit-PC1 questions
- ↳ fit-PC Slim questions
- ↳ uSVR
- ↳ General uSVR questions
- ↳ IPC3
- ↳ General IPC3 questions
- ↳ IPC3 Software
- ↳ IPC3 Hardware
- ↳ FACE modules
- ↳ FACE Modules
- ↳ General FACE Module questions
- Compulab accessories
- ↳ fit-Headless and fit-Headless 4K
- ↳ fit-Uptime
- ↳ fit-statUSB
- ECN/PCN
- ↳ fitlet3 ECN/PCN
- ↳ Tensor-I20 ECN/PCN
- ↳ Tensor-I22 ECN/PCN
- ↳ fitlet2 ECN/PCN
- ↳ Airtop3 ECN/PCN
- ↳ IPC3 ECN
- ↳ fitlet1 ECN
- ↳ IPC2 ECN
- ↳ IPC1 ECN
- ↳ Airtop2 ECN
- ↳ Airtop1 ECN
- ↳ fit-PC4 ECN
- ↳ fit-PC3 ECN
- ↳ fit-PC2 ECN
- ↳ FACE Modules ECN
- ↳ FACET Cards ECN
- Wish list
- ↳ Addressed requests