Virtual and Augmented Reality for Robotics in Unity environment using Mimic plugin
https://medium.com/@yosha.morheg/virtual-and-augmented-reality-for-robotics-in-unity-environment-using-mimic-plugin-3d978f780908
WHAT IS MIMIC?
Mimic is a free and open-source plugin for Autodesk Maya that enables simulation, programming, and control of 6-axis, Industrial Robots. It provides a robust and intuitive, animation-based toolset, allowing creators to prototype, validate, and drive automated systems. Use Mimic to generate programs without writing any code, or extend Mimic to suit your project’s needs.
FEATURES
MAYA INTEGRATION
Take advantage of the Autodesk Maya world-class animation, modeling, simulation, and rendering tools and the enormous community that supports thousands of other plugins and online learning resources.
ROBOT AGNOSTIC
Mimic’s robot rigs and post processors are flexible and extensible, enabling you to control most brands of 6-DOF industrial robots as well as external axes, poses, configurations, and I/Os. For an up-to-date list of supported robots see this GitHub repo.
CODING OPTIONAL
Mimic outputs usable robot code so you can focus on creating, rather than programming. Get started by attaching your robots to any kind of animation controller and generate your tool paths automatically.
EXTENSIBILE
Mimic is designed with modularity in mind, so it can become whatever you need. Reconfigure your interface, write your own program templates, integrate custom robots, post processors, and more.
ANIMATION-BASED
Drive robots using Maya’s time-based animation tools that enable keyframing motion, tuning velocity and acceleration curves, motion blending, program-scrubbing, and more.
INTUITIVE IK-FK
Use Maya’s standard transform tools to directly manipulate your machines with either Inverse or Forward Kinematics. Mimic offers robust and fast kinematic control, including tools for IK-FK switching, cloning, and keyframing.
OPEN-SOURCE
Mimic is developed and contributed to by a community of animators, designers, engineers, architects, and programmers. It’s written in Python, works on Mac and PC, and you’re free to use, fork, and contribute back!
COMMUNITY
Mimic Slack community allows you to ask questions, discuss your work, and share material such as animations, robot rigs, videos, renderings, and code.
Installation
Download the latest release and copy the contents of it to one of the following directories, depending on your operating system:
macOS ~/Library/Preferences/Autodesk/maya/modules
Windows ~/Documents/maya/modules
note: the only difference between the MAC and PC versions is the NumPy build that’s included
-We only include a small set of rigs with the main download to save download size. If you need a rig that is otherwise supported, download the manufacturer-specific rigs, grab the rig you need, and drop it into the appropriaterigs folder in your mimic directory
When you’re done, open Maya, click on the Mimic shelf tab, and click on the Mimic icon; that’s it!
Installation tips:
- If the
modules
directory above does not exist, create it. - If you’re using Maya 2017 update 3 or earlier, you must manually load the Mimic shelf.
- If you’re running Windows and downloaded a release and/or rigs archive, confirm that it isn’t “blocked” before unzipping and installing it (right click the archive, select Properties, check Unblock if necessary).
- If you cloned this repository, download the latest robot rigs from releases. Replace the directory
mimic/rigs
with the unzippedrigs
folder. - See troubleshooting if you have trouble using or installing Mimic.
You can find tutorials, videos, and other media on the website and textual documentation in docs.
Currently supported robots
Mimic currently supports the following robots for animation (see rigs):
|-- ABB
|-- IRB 120-3-58
|-- IRB 1600-6-145
|-- IRB 1600-10-145
|-- IRB 2600-20-165
|-- IRB 4400-45-196
|-- IRB 4400-60-196
|-- IRB 4600-40-255
|-- IRB 6640-180-255
|-- IRB 6640-235-255
|-- IRB 6700-150-320
|-- IRB 6700-205-280
|-- IRB 6700-245-300
|-- IRBT 4004-9000
|-- Kawasaki
|-- RS020N
|-- KUKA
|-- KL 100 6125
|-- KL 1500-3 6000
|-- KL 4000 5000
|-- KR 3
|-- KR 3 AGILUS
|-- KR 5 R1400
|-- KR 5-arc
|-- KR 6 R900 sixx AGILUS
|-- KR 10 R900 sixx AGILUS
|-- KR 10 R1100 sixx AGILUS
|-- KR 10 R1420
|-- KR 12 R1800
|-- KR 12 R1800-2
|-- KR 16 L6-2
|-- KR 16 R1610
|-- KR 16 R2010
|-- KR 16-arc HW
|-- KR 20 R1810
|-- KR 20 R1810-2
|-- KR 22 R1610
|-- KR 30-3
|-- KR 60-3
|-- KR 120 R2500 Pro
|-- KR 120 R2700 HA
|-- KR 150 R3100 Prime
|-- KR 150-2
|-- KR 200 L140-2
|-- KR 210 R3100
|-- KR 210-2
|-- KR 240 L180-2
|-- KR 240 R2900 Ultra
|-- KR 240-2
|-- KR 300 R2500 Ultra
|-- KR 500-2
|-- KR 500-2 RC
|-- KR 600 R2830
|-- KR 1000 TITAN
|-- Motoman *
|-- MH6
|-- Staubli *
|-- RX160
|-- RX160L
|-- TX40
|-- TX60
|-- TX60L
|-- TX90
|-- TX90L
|-- Universal Robots *
|-- UR3
|-- UR3e
|-- UR5
|-- UR5e
|-- UR10
|-- UR10e
* post processor not yet supported
Mimic currently supports the following post processors (see postproc):
|-- ABB
|-- RAPID
|-- KUKA
|-- EntertainTech *
|-- KRL
|-- Staubli
|-- VAL3
|-- Genral
|-- CSV
* external installation option required
License
Mimic is licensed under the MIT license. See LICENSE for details.
Notes
- Be careful out there! Mimic is not a safety certified monitoring tool. Users of this software are responsible for safe robot programming and operation.
- Developed to work with Autodesk Maya 2016, Autodesk Maya 2017, and Autodesk Maya 2018; Mimic may or may not be compatible with other versions.
- Developed to work with macOS and Windows; Maya is not compatible with other operating systems but most of the Mimic backend is.
- Do not modify names or hierarchies within robot rigs!
- Use Maya’s default units: Centimeters, Degrees
- Use Maya’s default coordinate system where the Y-axis points up.
- Note this repository does not include robot rigs; download the latest release to access the latest rigs.
Integrating and Simulating in Unity
After importing your desired robot to Maya’s workspace you need to export this model to Unity environment.
To export the scene to your Unity project
- Select File > Send to Unity > Set Unity Project, then browse to select a valid, local Unity project (the project directory) and click Select. (You need to set the project only once. It’s not necessary to set the project again for subsequent export operations.)
- Select File > Send to Unity, then select All (to export the whole scene) or Selection (to export only selected objects).
- In the Export Selection window that appears, enter a name to save the selection as a FBX file in your Unity project’s Assets folder (default) and then click Export Selection.
- Now, enjoy your robot in Unity!