I'm soliciting student participation in these projects. These are very high-level descriptions - come talk to me in Halligan 011 or by emailing me (paulina [at] cs.tufts.edu), and we will define a more specific reseach plan. I suggest you at least have a look at the references provided with the project description to get an idea of what you might like to work on.
I'm also open to your own ideas and suggestions for projects that relate to my broad research interests: distributed and collective decision-making, self-organizing systems, AI, machine learning, and robotics.
I'm particulary interested in hearing from you if you have taken or are currently taking COMP 131 - Artificial Intelligence, or COMP 135 - Intro to Machine Learning, or related courses.
How can we extract useful control principles and algorithms from biology in order to build better, more robust robots? For example, our nervous system (as well as the nervous system of most vertebrates) controls unconscious, repetitive motion with small networks of neurons called Central Pattern Generators (CPGs). CPGs are essentially networks of coupled oscillators that produce a periodic signal, which then drives the muscles. There's been great success in using CPG-like programs to control modular robots: snake and salamander robots [1,2] and even self-reconfiguring modular robots like M-TRAN [3].
There are also other biomechanical and neural principles to be gleaned from nature. We will use a modular robotics kit such as the Bioloid by CrustCrawler to build robots and control them using biologically inspired algorithms, including CPG control for non-snake robots.
References:
[1] J. Conradt, P. Varshavskaya, Distrubuted Central Pattern Generator
Control for a Serpentine Robot, International Conference on Artificial
Neural Networks, Istanbul, Turkey, June 2003 [ pdf
]
[2] A.J. Ijspeert, A. Crespi, D. Ryczko, and J.M. Cabelguen. From
swimming to walking with a salamander robot driven by a spinal cord
model. Science, 9 March 2007, Vol. 315. no. 5817, pp. 1416 - 1420,
2007 [ pdf -
preprint ]
[3] H. Kurokawa, K. Tomita, A. Kamimura, S. Kokaji, T. Hasuo,
S. Murata, "Distributed Self-reconfiguration of M-TRAN III Modular
Robotic System", Intl. J. Robotics Research, 27-3-4:373-386, 2008
So, Central Pattern Generators (CPGs, see above) seem like a great way to control distributed systems that have to coordinate periodic behavior. But some distributed problems look nothing like spinal-cord-driven locomotion. For example, a team of robots may be required to repeatedly transport a heavy or bulky load by coordinating their movement. There might be a high-level description of the task that looks like a periodic function, which means we can build an oscillator to generate that output. But how can we distribute it among the participating robots, such that each is under its own individual control? This could be difficult because the team of robots, which are not connected by anything but wireless communications, will not always preserve the same network topology or connectivity.
Another possible application for such distributed CPG-like control of topologically-changing systems is locomotion in lattice-based self-reconfiguring modular robots (SRMRs)[1]. SRMRs are made up of identical modules that can connect to and disconnect from each other, and move about each other, such that the entire robot can change its configuration, shape and function. Such a system may move with a thread-like gait, as each module moves over on a substrate of its peers, like this (left to right):
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
We will simulate a robotic system with these properties and program them using a distributed oscillator algorithm.
References: [1] Zack Butler, Keith Kotay, Daniela Rus, Kohji Tomita - Generic Distributed Control for Locomotion with Self-reconfiguring Robots, International Journal of Robotics Research 23(9):919-938, 2004
Animals living in large groups, such as schools of fish, follow simple rules to determine their behavior [1]. These rules followed by a large number of individuals result in cohesive collective motion and decision-making. But individuals inside groups have an ability to learn - both from their experience and from observing others. We will investigate how the individual learning abilities factor into the group's collective decision-making and behavior in a simulation of swarming fish. For example, we can evolve group learning strategies using evolutionary programming techniques.
References:
[1] Couzin, I.D., Krause, J., Franks, N.R. & Levin, S.A.(2005)
Effective leadership and decision making in animal groups on the move
Nature 433, 513-516. [ pdf]
There are several research questions worth investigating in the domain of multi-agent reinforcement learning. Given a reward (cost) signal, how can a group of agents (e.g., robots) coordinate their actions in order to achieve a goal? How much and what kind of information should they have access to? What kind of communication capabilities are required? What kind of distributed learning algorithms are best and quickest at finding good solutions?
References:
[1] Collaborative Multiagent Reinforcement Learning by Payoff Propagation
Jelle R. Kok, Nikos Vlassis; 7(Sep):1789--1828, 2006. [ pdf ]