Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Digital twin over cQ and tQ variables #79

Copy link
Copy link
@d-galli

Description

@d-galli
Issue body actions

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.

Metadata

Metadata

Labels

New FeatureNew portion of code to be developed entirelyNew portion of code to be developed entirely

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.