Marvin05


Meet Marvin

MARVIN is a robust development platform for students working in our Advanced Robotics and Mechatronics course. As opposed to similar mobile robots on the market today which focus on mapping and localization tasks, MARVIN is designed with an additional emphasis on low level I/O. Since this device is intended to work in domains that require extensive mechanical, electrical, and software work, equal attention was given to each of these parts of the system design. The new system is motivated by experience with the past mobile robotic systems and desired directions for the future. At the center of this project are the following design goals:

MARVIN

In many similar robotics based courses, the emphasis is mostly on sensing and computing. In these instances, little attention is given to the mechanical adaptability of the system. Often times though, the best mechatronic approach to a given problem requires all three components (software, electrical, and mechanical) of the system to be modified. Without this approach, one often finds software trying to compensate for deficiencies in the hardware or sensing of the system. This is not an optimal solution. To better facilitate a mechatronic approach to problem solving, the mechanical systems of MARVIN have been designed with extensive reconfigurability in mind. To this mark, the chassis of the system has been built with standard mount points for its sensors and actuators. This enables the system to function in a variety of different configurations without having to add additional components. Students also have the ability to add their own components to build rigorous mechanical structures to aid in completing the task. By guiding students to look at all aspects of the problem to find a solution, we are better creating students that can recognize the right tool for the right job.

MARVIN frontpanel

Electrically, the system has been designed to use the same sensor and actuator interfaces as the RoboKit. This allows the sensors to be directly exchanged between systems, which enables students to build upon what they learned in the previous courses. For instance in our Introduction course, students are asked to sample and condition data from an infrared range finding sensor. The same sensors are then made available for the Advanced course, allowing students to leverage and extend existing knowledge. The system is built around a Compact PCI bus using a 3U form factor. The use of the cPCI bus allows the system to be easily upgraded in the future and have Pentium class computing power. This also enables us to use standardly available PC components which helps the system leverage commonly available hardware and software. The main CPU for this system is based on the CC9 SAMBA from EKF, which is equipped with a Pentium M and has similar capabilities as a laptop. This enables the system to run for relatively long periods of time (3-6 hours) on a standard battery charge. Low-level I/O is accomplished through the use of ANSI standardized M-Modules available from MEN. Each individual card accomplishes specific I/O tasks and can easily be exchanged and upgraded. The overall computational architecture allows the subsystems to be rapidly and independently upgraded in the future as new technology becomes available.

Marvin prototype

Since our students are already provided with an introduction to low-level mechatronic interfacing (see Introduction to Robotics and Mechatronics), the priority of this system's software was not to require the students to do large amounts of low level control. Rather, this system was designed to allow them to leverage on existing technologies to perform more complex tasks. With that intention, Player/Stage/Gazebo was selected as the control software for the system. This package is an open-source effort to develop more comprehensive mobile robotics control software. It allows developers around the world to work together to collaborate on research and to leverage on work that has already been done. By utilizing the library, students are not continually forced to reinvent the wheel. Along with the Player device control architecture, the project has separate 2D (Stage) and 3D simulation (Gazebo) packages. This helps alleviate some of the burden on the students to do all the work in the lab. The simulators allow them to better test their algorithms without having to deal with the real world. Switching code between the simulator and the real device consists of simply changing a few configuration files, so students are able to test out their systems virtually almost entirely throughout the development cycle.