Using the Propeller for Behavioral Research: The Propeller Experiment Controller
Okay, so I can officially announce this project now.
I am a doctoral student studying behavior analysis and comparative psychology. Essentially, I study learning. For many types of learning experiments, using an experiment controller and an automatic apparatus is extremely helpful and some times required for a good experiment. I have been developing a series of objects to enable the Propeller to operate as an experiment controller. First a little bit of background on why I have been doing this, then I will get to what exactly it is.
One of the most popular ways to study learning is to provide an animal with stimuli and contingencies that relate stimuli and specific behaviors to rewards and punishment. Some of you may recognize the term operant conditioning, this is but one form of learning that my field explores. Decades ago, behaviorism became quite popular, and automated operant conditioning chambers were used to study pigeons and rats as model organisms for basic learning laws. Years later, this type of apparatus is still very popular, but modern psychologists rarely have the skills to make their own equipment.
Ultimately, researchers must buy commercial equipment. This is extremely expensive. The controllers cost thousands of dollars and I have actually been quoted $110 for an omnidirectional lever! I think the prices are inflated because grant money allows it. Unfortunately, it has gotten to a point where you cannot set up a lab or buy new equipment with out a substantial grant. Additionally,
Another issue is that you are limited to only the most popular species and paradigms. I cannot, for example, purchase an apparatus to study learning in reptiles, and a standard pigeon or rat apparatus would simply not work. Similar issues are observed when you do want to study pigeons or rats, but you want to use something other than food, water and shock to motivate your subjects, or when you want to measure something besides lever presses.
One great solution, as you might imagine, is to use a microcontroller. After learning the basics with an experiment controller designed by my undergraduate mentor around 20 years ago, I started developing experiment controller software for the Propeller. I'm calling it the "Propeller Experiment Controller." In time, I may also make some boards, but for now I'm not developing hardware.
The purpose of the controller is to make experiments easy. I know that no one here has any doubts about the capability of the Propeller. However, to someone new to programing it can be intimidating. The software takes care of the complex tasks such as keeping tack of time, detecting the animal's behavior and recording data.
One object, experimental functions, takes care of all the things common to experiments, like running a clock and communicating with an SD card to create .csv data spreadsheets. Another object, experimental events, is used to keep track things related to specific events in an experiment, such as a lever press, or an activation of a feeder. Each event in an experiment uses its own experimental event. Essentially, it helps with detecting inputs, debouncing, turning on outputs and keeps track of event count, duration etc. Some of this information is passed to the first object, experimental functions, to save data.
Most of the methods are NOT complex. And I am very aware that some need to be reworked. But the idea is to make the basic requirements of experiments as simple as possible. Skilled uses can still take advantage of some of these methods while also taking advantage of the Propeller's many other abilities.
I had to keep quiet about it until the first publication came out. As this is open-source, its also very easy to steal and market as your own. You can see the publication here:
Varnon, C.A., & Abramson, C.I. (2013). The propeller experiment controller: Low-cost automation for classroom experiments in learning and behavior. Innovative Teaching, 2, 1-18. doi:10.2466/07.08.IT.2.2
The paper details use of the Propeller Experiment Controller in the classroom, for behavioral equivalent of biology and chemistry labs common to universities and high schools. The code is available here, as well as about 20 sample experiments. I have another paper, not yet published, reviewing the technical aspects of the Propeller and the objects.
Everything is also available on my website: CAVarnon.com
Anyway, thats enough detail for now. This is already a huge post. I'll be happy to provide more detail, if wanted. Everything is also completely commented, and the paper is open-access, so feel free to read more. Of course any comments would be appreciated.
I guess that is it for the "announcement." I'm not sure it will be of interest to anyone here, but perhaps it might help someone down the line. Most importantly though, I would like to THANK the users and staff on the forum here. This has been a wonderful and encouraging community. This project would have been much more difficult with out the comments made directly to me, and the many other threads I read. So, thank you, sincerely.
I am a doctoral student studying behavior analysis and comparative psychology. Essentially, I study learning. For many types of learning experiments, using an experiment controller and an automatic apparatus is extremely helpful and some times required for a good experiment. I have been developing a series of objects to enable the Propeller to operate as an experiment controller. First a little bit of background on why I have been doing this, then I will get to what exactly it is.
One of the most popular ways to study learning is to provide an animal with stimuli and contingencies that relate stimuli and specific behaviors to rewards and punishment. Some of you may recognize the term operant conditioning, this is but one form of learning that my field explores. Decades ago, behaviorism became quite popular, and automated operant conditioning chambers were used to study pigeons and rats as model organisms for basic learning laws. Years later, this type of apparatus is still very popular, but modern psychologists rarely have the skills to make their own equipment.
Ultimately, researchers must buy commercial equipment. This is extremely expensive. The controllers cost thousands of dollars and I have actually been quoted $110 for an omnidirectional lever! I think the prices are inflated because grant money allows it. Unfortunately, it has gotten to a point where you cannot set up a lab or buy new equipment with out a substantial grant. Additionally,
Another issue is that you are limited to only the most popular species and paradigms. I cannot, for example, purchase an apparatus to study learning in reptiles, and a standard pigeon or rat apparatus would simply not work. Similar issues are observed when you do want to study pigeons or rats, but you want to use something other than food, water and shock to motivate your subjects, or when you want to measure something besides lever presses.
One great solution, as you might imagine, is to use a microcontroller. After learning the basics with an experiment controller designed by my undergraduate mentor around 20 years ago, I started developing experiment controller software for the Propeller. I'm calling it the "Propeller Experiment Controller." In time, I may also make some boards, but for now I'm not developing hardware.
The purpose of the controller is to make experiments easy. I know that no one here has any doubts about the capability of the Propeller. However, to someone new to programing it can be intimidating. The software takes care of the complex tasks such as keeping tack of time, detecting the animal's behavior and recording data.
One object, experimental functions, takes care of all the things common to experiments, like running a clock and communicating with an SD card to create .csv data spreadsheets. Another object, experimental events, is used to keep track things related to specific events in an experiment, such as a lever press, or an activation of a feeder. Each event in an experiment uses its own experimental event. Essentially, it helps with detecting inputs, debouncing, turning on outputs and keeps track of event count, duration etc. Some of this information is passed to the first object, experimental functions, to save data.
Most of the methods are NOT complex. And I am very aware that some need to be reworked. But the idea is to make the basic requirements of experiments as simple as possible. Skilled uses can still take advantage of some of these methods while also taking advantage of the Propeller's many other abilities.
I had to keep quiet about it until the first publication came out. As this is open-source, its also very easy to steal and market as your own. You can see the publication here:
Varnon, C.A., & Abramson, C.I. (2013). The propeller experiment controller: Low-cost automation for classroom experiments in learning and behavior. Innovative Teaching, 2, 1-18. doi:10.2466/07.08.IT.2.2
The paper details use of the Propeller Experiment Controller in the classroom, for behavioral equivalent of biology and chemistry labs common to universities and high schools. The code is available here, as well as about 20 sample experiments. I have another paper, not yet published, reviewing the technical aspects of the Propeller and the objects.
Everything is also available on my website: CAVarnon.com
Anyway, thats enough detail for now. This is already a huge post. I'll be happy to provide more detail, if wanted. Everything is also completely commented, and the paper is open-access, so feel free to read more. Of course any comments would be appreciated.
I guess that is it for the "announcement." I'm not sure it will be of interest to anyone here, but perhaps it might help someone down the line. Most importantly though, I would like to THANK the users and staff on the forum here. This has been a wonderful and encouraging community. This project would have been much more difficult with out the comments made directly to me, and the many other threads I read. So, thank you, sincerely.
Comments
Nice web site. Great PDFhttp://www.amsciepub.com/toc/it/2/1.
I fondly remember taking a course in behavioral conditioning one summer. Very happy chickens. Lots of data.
Behavior psychology is so much nicer than physiological psychology. Our task in physiologic psychology was to ablate a rat's superior ventromedial hypothalamus. The idea was to eliminate the satiety center... if your rat got to be the size of a small football, you got an A. I missed slightly and ended up a very angry rat about the size of a small football. Apparently, the aggression-inhibition area is right next to the satiety center:)
I think your work might be very useful in the area of speech therapy for people with cognitive deficits. There are some variants of Down's syndrome for example, where auditory performance is well beyond speech performance.
These children can understand normal speech, but they cannot make themselves understood. Our classrooms are so jam-packed with such a wide range of different cognitive problems, that speech therapy for Down's syndrome ... although formally on the list...is rarely actually successful. This is terrible for the child because they are almost always much brighter than their speech indicates. Many times the "speech teaching" is converted into other kinds of teaching. Automating the process would benefit everyone.
Something as simple as phoneme teaching would be a God send and seems like it could be automated and embodied with good behavioral principles.
Best wishes
Rich
Sounds like DOD-speak for a crowbar.
Great project! My father was a Psychology Professor and I know that if he were still alive, he would delight in my electronics skills and your project.
Jim
I just presented the controller at a conference a few weeks ago. I actually gave the talk from a Propeller with Ray's VGA graphics shield. (See images.) I barely had time to test it, so I was a little nervous but it worked great. I didn't have time to set up much interesting stuff on it, but I did a few demos. For me it was just a "cool" factor thing to have the Prop run the presentation control it with an IR remote, and say "Oh and by the way, this whole presentation is being given from a Propeller, I'm not using a computer." It was also nice to be able to print the time on the screen so I knew how much longer I could talk.
Unfortunately the talk was the last day (a half-day) of the conference, so most everybody already left. But I had a really good response for those that stayed. There were also 3 other individuals using arduinos for experiments. I've never seen this before, but this year everybody has jumped on microcontrollers. I think my system is a little more developed, and it is the only system that can run an experiment without a computer. A few of the arduino systems did have some nice GUIs though, but you were relatively limited in what could be done with them.
rjo_
Another article in that issue actually talks about automation with individuals with severe developmental disabilities. It is a pretty cool area. Right now, I'm the only person what is proficient with this system, and I have my hands full with quite a few projects. With any luck, some other people will start using this and maybe we can get into some of those areas.
P.S. Chickens are fun! Where did you take that course? Few labs use chickens.
The course with the chickens was at Illinois Wesleyan at Bloomington, between high school and college... a long, long time ago. My rat torture class was the next year at U of I in Urbana.
There is a need for micro-controlled assistive technology in special education... it will reduce cost and improve results and there is gold in them thar hills. I hope a reader comes across this thread and then catches the fever.
Rich