-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Right now, the variables tQ1-tQ2 are written in iPhysics by sendig WebSocket requests from the HMI. This enables the digital shadow of the SCARA.
According to machineering, we are allowed to use only the variables that are highlighted with the red dot (those are readable and writeable).
It turned out that also the green dot variables can be written over WebSocket request, enabling de facto the digital twin of the robot.
The idea now is to read from the Adept controller the current joint values of the robot, write them via WebSocket to the iPhysics variables cQ1, cQ2, cQ3, cQ4. Then use those values to run the iPhysics robot controller to estimate the target joint values that are stored in tQ1, tQ2, tQ3 and tQ4.
Finally read those variables over WebSocket, and make the Adept controller perform the joint movement of the real robot accordingly.
Joint motion are easy to command using the Ace API. An example is reported below.
// Compute the target joint positions
double[] targetJointPositions = new double[jointPositions.Length];
targetJointPositions[0] = value from tQ1
targetJointPositions[1] = value from tQ2
targetJointPositions[2] = value from tQ3
targetJointPositions[3] = value from tQ4
// Create a motion object and command the robot to move
JointMove jointMove = aceServer.CreateObject(typeof(JointMove)) as JointMove;
jointMove.JointPosition = targetJointPositions;
robot.Move(jointMove);
robot.WaitMoveDone();Consequently, things to do are:
- Change the variables that are currently written to cQ1-cQ4 and test if the system still works
- Create the WebScoket request to ask the values of tQ1-tQ4
- Continuously perform a joint motion with the received values
@Morelato17 if possible, it would be great to have this feature as an independent c# class so that it can be run also without running the entire optisort solution, and to enable the digital twin of the Adept Quattro too, since the two machines share the same Api.
Would it be possible? Please, give us a feedback.