Custom Mechanical System and MappRobotics

I would like to make 2 axis robot using Custom Mechanical System. Is it compatible with MappRobotics or is it its own separate thing? Is there some kind of manual for Custom Mechanical System like for mappRobotics or maybe some example program ?

Hi Jan,

there are instructions and an example in the help.

You will find them here Custom Kinematic including a sample templates with a simple custom mechanics definition.

There is MpRoboticsFlex the function block used to control any type of robot including custom kinematic ones.

Please take a look and see if those links answer your question and help you implement your own kinematic.

2 Likes

Hello Marcel,
so I tried to follow the steps for custom kinematic, but I got into few errors:
image

First one (from the top) is that the custom wire frame model was not found. It is not part of the options I have been given, but it is part of the library


Second one is regarding the initialization of the mechanical system, but I followed the steps in AS help. Third error is probably for the reason that this was not properly initialized.

Fourth one is regadring the axes initialization, but I do not see the cause of error

Hi Jan,

from the looks of it I would say the assignment of the Wireframe model variable is incorrect. It’s saying name of the process variable which should look similar to the assignment of the Dimensions ::Program:Dimensions.

For the example above the Transformation function names are defined in the CusMechSys library and the WireFrameParameters are initialized in the RobotCtrl program as follows just so you know.

Hello Marcel,

I looked at it, but it still isnt really clear to me.

Here in the Logical view, where my program “Program” is and the Library CusMechSys (V 1.00.1 from AS help, I didn’t change anything in it) with WireFrame model already defined.

In the “Program” Variables, I should create new variables for both WireFrameModel and Dimensions of the robot, which then I will map to the configurationview of mechanical system, since the library is not seen by it, so I need to make new variables in the “Program” so they are visible ?

In your Program you should have two variables with types used to describe your mechanical system. In the help that’s just a LREAL (which is what you are using) but you need to assign it correctly.
It should be ::Program:Dimensions and ::Program:Wireframe but you don’t have a variable for the wireframe so just leave that empty.

In my case the dimension is a custom structure, the wireframe variable is just a array of LREAL.

image

What I’m trying to say is please check you variable assignments and if you don’t have on for wireframe leave it empty otherwise the system is trying to find a variable that doesn’t exist.

So I did create the array of LREAL for wireframe:

But I still do have the errors:
image

I would say it is because of the wrongly defined transformation and the workspace monitoring on the bottom:

So I guess I cannot call the functions from the CusMechSys Library, but I need to make variables for all the transformations and Wireframe in the Program?

Hello,
I have made a running Version of the example Coutom TRF in AS Help.
The whole AS-Project is to large to upload, i had to skip the library part of the LogicalView for the Export. But with the Picture below you should be able to open the project and recreate the Library Folder.

SampleCTrf.zip (107.8 KB)

The wireFrame Definition Variable was not used, as the required data for the wire frame is already in the mechDimensions-Variable.

By comparing the runing Project and yours you should be able to detect the issues.

Your last error points out, that he can’t access the “coustomDirect” Function. In an Picture from an erlier post, your Library Function has the name “coustomDirectST” , if it has still this name, you have to adopt the names in the mechanical Configuration.

Greetings
Michael

1 Like

Hello,
thank you very much! The file you sent helped a ton and I managed to make it work within my program as well. Thank you very much again.

1 Like