newImitationGroup creates an imitation group for testing
An imitation group behaves mostl the same way as a group
created by HebiLookup, without the requirement to have
physically connected devices on the network.
The main differences are as follows
* Commands immediately set the corresponding feedback without
veryfing physical feasibility. Values will be visible in
the next feedback.
* Imitation devices do not update setting fields (e.g. name)
* There is no feedback for physical sensors such as IMU data
Example:
% Create an imitation group
numModules = 1;
group = HebiUtils.newImitationGroup(numModules);
% Generate log data
cmd = CommandStruct();
logFile = group.startLog();
t0 = group.getNextFeedback().time;
t = 0;
while t < 5
fbk = group.getNextFeedback();
t = fbk.time - t0;
cmd.position = sin(2*pi*t);
group.send(cmd);
end
logStruct = group.stopLog();
% Visualize commands
plot(logStruct.time, logStruct.position);
hold on;
plot(logStruct.time, logStruct.positionCmd, ':');