The Distributed Robotics Garden
Contents for This Page
Robotics Project: 6.088/6.084
This course introduces students to advanced concepts, principles, and algorithms in robotics and embedded systems. This is a project course framed as addressing a grand challenge: to create a robotic gardening system. Solving the grand challenge requires designing and programming robots or embedded systems that interact effectively and autonomously with the real world. Students will learn about the state of the art in robotics and integrate and put to use theoretical knowledge from this course or earlier in the curricula. Topics covered are: control, motion planning; state estimation; kinematics and inverse kinematics, computer vision, visual servoing, mesh networking, and networked control of multi-robot systems. Students will develop a distributed gardening robot system. The plants in the garden will be potted cherry tomatoes. Each pot will contain a soil sensor that will be networked with the robots in the system via mesh networking. The robots will be based on iRobot iCreate platforms extended with a robot arm from CrustCrawler, custom watering system, eye-in-hand camera, and mesh networking. The robot is controlled using a notebook PC.
The course will be structured with a lectures and laboratories. The lectures will be used to present concepts and algorithms for the course topics. Students will also do design review presentations during lectures. The laboratories will be used to develop and implement the course challenge project. Students will work in teams to design an integrated solution to the gardening robot system. Students will be introduced to the course platforms and system infrastructure in the first lab. During subsequent labs, students will work in small teams to develop implement and evaluate a robust solution to one component of the project. The final module of the course will integrate all the components and evaluate performance.
Our long-term goal is to develop an autonomous green house consisting of autonomous robots where pots and plants are enhanced with computation, sensing, and communication. The network of robots, pots, and plants transforms energy, water and nutrients into produce and fruits. In this type of precision agriculture system water and nutrients will be delivered locally on-demand and fruit will be harvested optimally. Plants will drive the robots' activities in the garden using sensors to monitor their local environment conditions, a plant-specific model of growth for making predictions about the state of fruit, and interaction with robots for establishing an inventory of fruit.
From an economical perspective, cultivation of specialty crops (such as fruits and vegetables) require a huge amount of manual labor and cultivation when compared with broad-land crops. This need has recently led to multiple initiatives in the United States (e.g. the Comprehensive Automation for Specialty Crops (CASC) program) and Europe (e.g. with in the scope of the 7th Framework program which aims at sustainable crop and forestry management, among others).
Approach and Implementation
This project describes some first steps toward creating an autonomous distributed robotic garden as part of the undergraduate project course 6.084/086 taught at MIT during Fall 2008. The project was framed as addressing a grand challenge: to create a robotic gardening system. Solving the grand challenge required designing and programming robots to interact effectively and autonomously with the real world. We developed the class hardware infrastructure consisting of six robots with an iCreate base and a 4DOF arm with eye-in-hand configuration and an optional watering system and four cherry tomato plants, each with its own local sensing and computation packaged in an embedded computer. The robots an plants were networked together as a mesh network. The plants have the ability to monitor their soil humidity and issue watering requests. They also have the ability to database the location and color-level of the tomatoes. The robots have the ability to visit a specific plant to deliver water or to locate and grasp a tomato. Users have the ability to request tomatoes for salad. In response to user requests, the system decides which specific plants have the ripest tomatoes and assign parallel harvesting tasks to robots.
Besides posing the challenge of integrating a multi-robot / multi-sensor system in a real-world environment, the gardening chores pose a series of research questions that are of general interest for robotics:
- Task Allocation: how to allocate tasks among a team of robots in a scalable (independent of the number of robots) and robust fashion (independent of communication and robot failure)
- Navigation and Path-Planning: how to navigate reliably in a dynamic environment using scarce resources, i.e. in the absence of global localization
- Object recognition: how to assess plant status for varying fruit color and sizes as well as object occlusion
- Visual servoing and grasping: how to reliably grasp fruits of varying orientation and size with scarce sensory information
- Locomotion and Manipulation in harsh environments
We can find the object recognition input data here at: