Skip navigation
Hi guys!!! Although the Teacher's Pet Students' Robotics Challenge has concluded, I found that the code mentioned in my previous blog post has some bugs and I have optimised it in this post and have added a video showing the same. The response is faster and better than the previous one. MATLAB code clear rpi clear cam rpi=raspi(); myserialdevice = serialdev(rpi,'/dev/ttyAMA0',9600); cam = cameraboard(rpi, 'Resolution', '640x480'); cam.Rotation=180; edit('track.m');thresh=50; figure(1); for i ...
rohitkgp

Blog #8: Fun Time

Posted by rohitkgp Sep 29, 2015
Obviously no project is complete without having fun, here is the video of our "Raising Hands Dance Move" We should be awarded just for doing this Thanks to all the participants (from front left to back right): Myself, Atul, True, Hyo Jin, Jared and Akash     ...
I've not done full analysis of the results, but the current results are quite promising. I was able to detect almost everyone (except when someone blocks his/her face by hand). Raised hands are also detected properly as long as the student doesn't use very slanted way of raising hand which again is missed by the system. ...
From the previous module, we know where the students are sitting. So we have rough estimate of the hand location of each student.   Challenges: 1. Students sitting in front of the classroom appear bigger than the students at the back, so the size of the hands isn't uniform for everyone. 2. Some students are left and some are right handed, so we cannot assume anything here and need to look for both hands for every student. 3. Occlusion is a big problem for students sitting at the back b ...
rohitkgp

Blog #5: Face Detection

Posted by rohitkgp Sep 27, 2015
Motivation : Next step is to detect the number of students in the class. This step is important to reduce the reduce the domain of looking for raised hands as only the students can raise their hands and if we know the face location of each student it is easy to estimate the location of hand. Then some system can keep looking for hand raising event in those locations (also called Regions of Interest i.e. roi) which simplifies the problem a little.   In research community, face detection is ...
An Image frame contains a lot of information ; color for each pixel , edges of every object, objects inside the field of view. Sequence of these images (which is a video) gives a temporal information of all the above characteristics which is also very useful in detecting the actions performed by humans and is widely used in the vision community.   After the Image gets acquired, next step is to filter the important information and discard the rest. Storing all the information is very expen ...
In any Computer Vision project, 'Image Acquisition' is considered as a very important stage. To many it sounds like a step which is the easiest, but if you don't give good attention to the details it can create lot of troubles later.   Some important aspects of this step are : image quality, frame rate, size considerations, blurring aspects, light conditions/changes, storage of frames.   In my project 'Raise  your Hands !' , this step is very crucial since I've to detect the han ...
rohitkgp

Blog #2: Flow Diagram

Posted by rohitkgp Sep 27, 2015
To detect the raised hands, I need to go through a sequence of steps which is shown the the following flow diagram. I'll go over each of them in detail in next blogs.     Overall, the steps are in following order 1. Image Acquisition 2. Pre-processing of the raw frames 3. Face Detection Module 4. Hand Detection Module 5. Post-Processing or output refinement   Each of these blocks has its own challenges and makes the overall System Design modular and easy to handle. Each o ...
TL;DR:  This is a summary of my progress so far (to be continued) on getting the Raspberry Pi NoIR camera to work for thermography.   For this initial setup, I’m following the directions from Raspberry Pi Org:  https://www.raspberrypi.org/help/camera-module-setup/   The first step here was to install the camera board itself.  The board ribbon will gone into the Raspberry Pi’s “CSI Port.”   There. It’s inserted into the CSI Port. ...
TL;DR:  The Raspberry Pi 2 has an A/V jack in addition to HDMI, who knew?!  Here’s my experience getting started (Spoiler: It worked - eventually).   Oddly enough, one of the things delaying me most about getting started on this project was not owning a television.   Receiving the kit in the mail was a good start, but some key pieces were BYO.  Such as a USB mouse (Check!), a USB keyboard (Not sure…), and an HDMI monitor (Oh, boy!).  Definitely out of ...
TL;DR:  In order to take attendance, I propose we install networked Microsoft Kinect’s (essentially) in every classroom and keep count of students w/o biometric information or stored photography.   To review, my goal with this project is to aid classroom management by taking attendance for the teacher and alerting the teacher to any out-of-seat students. For a full recap, please check out my earlier post “Blog 01: Hello!”  Teacher's Pet Students' Robotics Ch ...
TL;DR:  The kits arrived… months ago… and this was my first opportunity to explore the components!  Let’s see what we’ve got to work with! [Spoiler:  It's awesome!] This is the entry where I will finally present the contents of the Raspberry Pi kit provided for this project.  It won’t be an ‘Unboxing’ per se as these components have been teasing me at the edge of my desk for almost the whole summer while everything else ha ...
adnathanail

Final Post... Failure

Posted by adnathanail Sep 13, 2015
*Edit* Here's a picture of the final code and attatched is the file.   So to reiterate what I said in the video. I think it's either the human error in my measuring of the robots movement in order to calibrate it, the cable nudging the robot out of the way, or most likely the issue from a couple of blogs ago which I am not 100% sure I fixed. Either way it doesn't work. Finally I would like to repeat my thanks to Element14 and Mathworks and a big thank you to Adafruit too who I forgot to ...
  This video showed the turning and moving in action and below I'll explain the code.   This code is to test the turning function. Line 1 clears the workspace. Line 2 defines "a" as the connected arduino. Lines 3 and 4 define "sRight" and "sLeft" as the two servos connected to pins 11 and 12. Line 5 runs the turn function passing it the two servos and the speed and angle. Line 1 defines the function called turn which takes 2 servos as inputs and the speed, between 0 and 1, a ...
Hi folks!! In my previous blog post, we've seen the basics of object detection and tracking.....both by color and also edge detection. In order to understand what I'm going to convey through this blog post, I would like you to first make yourself comfortable with the basics provided in earlier blogs. Well, in this post, let us see how to make a pan and tilt module using a couple of micro servos and then use it to control the amount of Pan and tilt by taking the tracking information as a feedba ...