How it works
In this section you will be able to find detailed information about how Chordata was designed and the mechanisms that make it work. You can start right away digging into the main components of the system and how the relate to each other by clicking on the button below, or keep reading this article for a recap of the content on the How it works section.
Chordata was developed to be used. Is not the consequence of an extensive research, instead it was the progressive implementation of each one of its parts that guided me through the study of the several disciplines that give life to motion capture. A consequence of this pragmatic approach is a system about which I’m aware of every single implementation detail, but that still lacks a comprehensive taxonomy. This is a first attempt to create a complete description of how the system is implemented.
This document is part of a public the knowledge base in the form of a wiki. That type of content structure allows this document to constantly grow through the contribution of whoever thinks have something to say about the Chordata system, the motion capture in general or any of the many technical fields that make that discipline possible. If you feel like contributing take a look here.
What this section is not about
Please note that this is not a guide to build the system, and won’t attempt to extensively describe the basic technical knowledge required to understand the system. If you are just interested on creating your own mocap gear you will probably want to take a look the Build Chordata section on which the building procedure is explained taking nothing for granted. If you are just looking for a guide on how to use the suit and perform captures, then the user manual is what you are looking for.
On the other hand this document will take the different software pieces of the system as closed entities, in the sense that even if it will describe their internal mechanisms or design, no systematic description of the source code will be included here. That type of documentation will be published together with the release of the first production version of the system.
Description of Contents
- We will begin with a general description of the main parts of the system and the way that they are related to each other (§1).
- An specific description of each of the specific parts will follow in §2. By “specific” we intend hardware and software designed exclusively for this system (as opposed to parts commonly available).
- A description of how the sensor data is processed can be found on §3. This chapter begins by stating that the most fundamental property that we should try to pull out from the sensors is their orientation (not the position as you might believe!). Then we will briefly describe how an orientation can be expressed using a Quaternion and how the raw data from the sensors is transformed into an orientation.
- Chapter 4 will cover calibration: The differences between sensor calibration and in-pose calibration, and a detailed explanation of the latter.
- A fundamental aspect of the Chordata functionality is the network communication between the gear on the performer’s body and the client which is receiving the capture. A description of the forms that the network can take is included in §5, and a summary of the Chordata specific networking protocols can be found in §6.
- As a way to apply all the concepts in §7 we will go through the creation of a simple client in python.
- As you can see many fields of knowledge are covered in this document. There’s a not negligible probability that at least some aspects of them are described in a not technically accurate manner. If you are an expert in one specific topic, and find some mistakes or ways to improve parts of this document please feel free to contribute by suggesting modifications to the wiki.
- At the end of this document you can find a glossary describing most of the specific terms used in this guide, and in the Chordata documentation in general, in the way that they are intended within Chordata.