What is mimic (for educators)?

mimic robots for everyone

What is mimic?

Mimic is a collection of robots, sensors, and programming tools that are simple enough for kids but powerful enough for experts. Combined with our 15 level ciriculum, combining teacher lead, self guided, and group project activities, mimic offers comprehensive k-12 robotics education covering a variety of learning standards over several subjects.  Our mimicArm is a desktop sized robot arm that can be controlled manually with our revolutionary Posi-Feel force feedback controller (pat. pend.) or automatically with an Arduino or mimicDuino. The open source mimicArm library (available here) allows your Arduino or mimicDuino to interface with mimicArm’s included electronics using simple commands (listed here). Less experienced programmers may prefer our graphical programming environment mimicBlock. An add-on to Arduino, mimicBlock allows the programmer to drag and drop commands to create great programs.

Introducing mimicArm from Brett Pipitone on Vimeo.



Curriculum overview

Curriculum wheel

Our curriculum is developed around a 5 day per week course for 9 weeks, and can be easily adapted to existing courses or different time frames.  Course level 1 is simple enough for kindergarden and first grade, while level 15 is challenging enough for the most advanced high school seniors.  While the educational focus is on programming and robotics, teacher lead and group project resources include the science of the the robots operate, historical context, robots in literature, the economics of developing a product, and societal impacts of technological change.  Primary learning objectives of each of the 15 levels are listed here:

Using Block Programming in mimicBlock

Level 1: Load a pre-written program onto robot

Level 2: Change a value in a prewritten program to achieve a result

Level 3: Add a command to a partially completed program

Level 4: Add motion commands to a program shell

Level 5: Create a new program to move the robot

Level 6: Create a program to determine the robots state

Level 7: Create a program using conditional operators (if, then, else, while, for)

Using C++ in Arduino IDE

Level 8: Create a C++ program to move robot

Level 9: Write a program in C++ to perform a task

Level 10: Use conditionals in a C++ program so robot interacts with its environment

Level 11: Write a C++ program so the robot to take multiple possible actions

Level 12: Create a C++ program that determines the correct action based on inputs

Level 13: Program the robot in C++ to adjusts movements based on inputs

Level 14: Create a C++ program that performs flexible tasks based on user input

Level 15: Using C++ program the robot to interact with humans and its environment in flexible ways

Manual Mode

The mimic curriculum uses the robots in several ways that make programming less intimidating.  Each level starts by using the robot in manual mode.  Using mimicArm with the Posi-Feel force feedback controller (pat. pend.) is the simplest way to use mimicArm. Simply move the controller as you would your own arm and mimicArm will “mimic” your movements. Use the scissor grip to control mimicArm’s gripper, and the harder you grip the harder mimic will grip. Because mimicArm’s gripper position is fed back to the controller you will get a sensation of touch through the controller. Because of these features you can explore the different feel of soft and hard, heavy and light things. You can control mimicArm’s grip to lift and move delicate objects without damaging them or grab hard enough to lift heavy objects. Everything is intuitive enough for even the youngest users.

When paired with an Arduino or mimicDuino and our open source library or mimicBlock software you can easily determine the robots position or grip strength using simple commands. These values can be used to set positions for programs, record motions to an SD card, set maximum grip strength, or determine if the robot is holding something all with a few simple lines of code.


Automatic Mode

In automatic mode the mimicArm is capable of extremely sophisticated interaction with it's environment, while our programming tools make the development of these interactions simple and approachable.  The electronics the come with mimicArm are designed to plug directly into an Arduino or mimicDuino. Our open source library or mimicBlock software you can easily determine the robots position or grip strength using simple commands. Controlling grip strength is a true innovation that significant improvement in capability. Using simple commands the user can grip delicate objects lightly without knowing how large they are ahead of time, the gripper will simple close with the commanded force and maintain that force on any objects in it’s path.

makers of all ages

Sensors and Inputs

Our mimic robots are designed to be capable enough for our most experienced users. Once you’ve mastered moving and grabbing in manual and automatic mode our Inputs package teaches you about external inputs in simple ways that allow less experienced users to comfortably transition to more complex programming. Examples allow you to move the arm using buttons and knobs, while more complex examples let you react to temperature, light, sound, and other inputs. Most exciting, you can record your motions on an SD card and use the recorded motions in your programs by simply reading the files.

When you combine mimicArm with our Sensors package or similar sensors from other vendors a whole new world of possibility opens up. Removing mimicArms eyes opens up a sensor platform just behind the gripper. This allows the mounting of distance sensors, color sensors, cameras, and anything else you can imaging. Our pre-written examples include a beam-break block detector, a distance sensor grabber, dance to music, record and playback, as well as options to react to light, noise, and temperature. Combine these to create all sorts of autonomous actions.