40 likes | 150 Views
This project presents a motion tracking system using a Quickcam camera mounted on a motor and an RCX brick. The Quickcam is connected to a Linux PC via USB, which runs a custom frame-grabber code to process images in real time. The system captures frames every 50 ms and detects the most blue pixel's location to guide the RCX's movements. This setup addresses challenges in image processing and communication, utilizing Video4Linux API for frame grabbing. Although issues with camera mobility persist, the system demonstrates promising real-time tracking capabilities.
E N D
Motion Tracking with theRCX and Quickcam Dan HuberJoe Winegarden http://www4.ncsu.edu/~jjwinega/csc714/ CSC 714 Final Project
Motion Tracking Setup • Quickcam mounted on top of motor, RCX brick sits to the side for less weight • Quickcam connected to linux PC via USB • PC runs lnpd to communicate with IR tower • PC runs frame grabber code, sends messages through tower to RCX • RCX waits for message received, rotates until told to do otherwise
Image Processing • Grab frames every 50 ms, determine where “most blue” pixel is located based on center of frame • Messages are 0 (stop turning), 1 (rotate left), 2 (rotate right)
Issues Solved/Unsolved • Improv image processing software difficult to adapt to our application, so we wrote all frame-grabbing and image processing code ourselves • Video4Linux API for frame-grabbing code • lnpd makes IR communication very simple: • Completely separate from BrickOS • Just include library and call 'lnp_addressing_write()' • Extremely stiff USB camera cable greatly restricts the rotational movement of the camera • Can't follow blue pen more than a few degrees without requiring man-power to assist camera movement • Reacts in real time!