Table of Contents
CMotionServer Overview
The C-Motion Server (CMS) is a network application that makes real-time hardware data available to multiple client applications using the Visual3D pipeline command language.
Contents
Core Features
- streaming from multiple real-time mocap hardware sources.
- basic 2-D and 3-D data visualization.
- pipeline command processing.
- connection from multiple clients applications.
- common XML mocap language broadcast over TCP and UDP networks.
3rd Party Real-Time Hardware Systems
CMS Supports the follow hardware systems:
AMTI Gen5 - USB - force plates
Bertec AM6x00 - USB - force plates
MAC Cortex - TCP/IP - markers and force plates
NDI First Principles - TCP/IP - markers
Qualisys Track Manager - TCP/IP - markers and force plates
Vicon DataStream (Nexus) - TCP/IP - markers and force plates
In addition, CMS can treat a C3D file as a hardware system. This is very useful for working with pre-record data.
Visual3D Pipeline Commands
CMS supports the following subset of Visual3D pipeline commands:
Center of Pressure (COP)
Center of Mass (COM)
First Derivative
Force
Ground Reaction Force (GRF)
Joint Angle
Multiply by Constant
Subtract Signals
Client Applications
CMS can talk to multiple client applications at one time over the network.
A client connects over TCP/IP on port 12099. This can be done on any platform (e.g., Windows, Mac OS X, Linux, iOS, Android, etc.) using any language of choice (e.g., C, C++, Java, Python, etc.). Example code is provided below.
Once connected, a client sends commands (see Common XML Motion Language below) to the server and then waits for a response. CMS responds to client commands with data and status indicators as appropriate. The client then processes and displays the results to end users.
Common XML Motion Language
Connect
The first XML command a client must send to CMS is the connect command.
Syntax:
<cmserver from="client">
<connect name="clientApp" verion="1.0" date="2013-09-30" />
</cmserver>
Data from various hardware systems is collected in the server and then repackaged in a common XML based language.
The Server accepts a subset of the standard Visual3D pipeline commands and then applies those commands to the real-time hardware data. The results are then packaged up in a common XML based language and broadcast.