Cyton arm 3D

659 views
Skip to first unread message

SERGIO

unread,
Oct 18, 2010, 3:26:16 PM10/18/10
to Cyton Robots
hello, I know if I could send a 3D model of the arm, I
like to have a CAD model, for example, wrl, can handle
freely

Runi Kovoor

unread,
Oct 18, 2010, 11:27:29 PM10/18/10
to smend...@gmail.com, Cyton Robots
Hi Sergio,

We would like to know a bit more about your requirement. What information
are you looking for in these model files. Do you want the individual model
of each links\joints?

I have forwarded your request to our design team. I will let you know their
reply soon.

Thanks a lot,
Runi

Anas

unread,
Oct 18, 2010, 11:38:34 PM10/18/10
to cyton-...@googlegroups.com
Hello,

Do you have the dynamic model of the arm? That is, the whole linkage with its inertias. I would like to perform a simulation on it. 

Thank you,
Anas

SERGIO

unread,
Oct 19, 2010, 1:19:03 PM10/19/10
to Cyton Robots, Runi Kovoor, smend...@gmail.com
like a kinematic and dynamic models of each links\joints, and
visualize in our simulator and planning so the arm can handle. Thanks
in advance.

Chris R

unread,
Apr 9, 2014, 5:39:53 AM4/9/14
to cyton-...@googlegroups.com
Hello!

I am interested in a CAD model of the links and joints from the Cyton Veta Arm. I am using the arm in combination with ROS MoveIt 
and my current robot modol for visualisation and collision checking is only constructed using coarse cylinders.
I would much appreciate if someone can provide CAD models (solidworks, autocad, or dae-meshfile) to include it in my urdf robot description!

Thank you,
Chris
Message has been deleted

Giorgio Toscana

unread,
Apr 11, 2014, 11:22:01 AM4/11/14
to cyton-...@googlegroups.com

Hi Chris,

i am working on a cyton arm and ROS MoveIt too.
I'm looking for any CAD 3D model to use with MoveIt. My arm is a cyton gamma 300.
Did you find any model in the meantime??Could you share them with us??
Last question, How did you build up the kinematics chain of the arm in your urdf file?? That is, how did you get orientations and translations for each joint of the arm?

Thanks.

Giorgio

unread,
Apr 11, 2014, 11:57:24 AM4/11/14
to cyton-...@googlegroups.com
Hi Again,


Actually i opened the .ecz file and i extract all tags <mn:identifier> “JOINTNAME” </mn:identifier> to get the kinematics chain. Forget for now inertia matrix, angle limits….etc
Inside those tags i can read orientation and translation of that joint with respect to the previous one (at least i think).
Pose can be found inside the tag <mn:precursor>.
In addiction there is another tag <mn:primaryFrame> with again orientation and translation but i don’t understand
what they are referred to. I attached the extracted xml file called kinematic300.txt
kinematics300.txt
cyton_gamma300.urdf

James English

unread,
Apr 11, 2014, 12:26:13 PM4/11/14
to cyton-...@googlegroups.com

Hi,

 

Each link in the arm has two rigidly attached frames—a kinematic frame and a primary frame. The kinematic frame is used to define how the arm moves, and the primary frame is used to define the location of parts of the link (the mesh, the mass properties, the location of the end effectors, and so forth).

 

The kinematic frame of a link with respect to its parent is defined as the precursor time the DH transformation:

 

T = Tpre*Tdh

 

where the T values here are taken as 4x4 transformation matrices: T is the transformation from one link’s kinematic frame to the next, Tpre is the precursor defined in the XML file, and Tdh is the Denavit-Hartenberg transformation. This is essentially the DH formalism, but with Tpre as an extra.

 

The primary frame for the link is always fixed with respect to the kinematic frame. The (rotational and translational) offset is that indicated in the XML you mention. The primary frame is defined just for convenience—it lets one change to the XML move all of the link parts.

 

James

Giorgio

unread,
Apr 11, 2014, 1:18:41 PM4/11/14
to cyton-...@googlegroups.com
Hi James,
Thanks for clarifying the concepts.
if T = Tpre*Tdh, now, i can get Tdh??
I know what DH convention says, but to build up this matrix i must know parameters such as (d,alfa,a,theta). 
Obviously theta( given all revolute joints) matches the joints angles, but the remaining parameters are unknown, or better if i look at .ecz i get all 0 for those parameters.
I can always take a ruler and measure the link arms but it does not seem an engineering approach!!!!:-)

Thanks.
Il giorno 09/apr/2014, alle ore 14:42, Gert Kanter <gert....@gmail.com> ha scritto:

Hello!

I would also like to state my interest in the meshes for exactly the same purposes! I know that the .ecz model file (that ships with the Cyton Viewer) is actually a compressed file (e.g. 7-zip opens it just fine) that actually has the model inside it (along with other data). Unfortunately, the format must be converted to be usable as it is in some XML format. But, it should be possible to extract the mesh model from this XML data, if nobody from Cyton is forthcoming with help. Alas, I haven't had the time to look deeply into it.

Let me know, Chris, if you are willing to write a converter (as the same converter could then probably be used on the new Gamma arms as well). It would benefit the community if we could collaborate to create a high quality URDFs for use with ROS.

Best regards,
Gert Kanter


--
You received this message because you are subscribed to a topic in the Google Groups "Cyton Robots" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cyton-robots/GLcqKvljFRg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cyton-robots...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

James English

unread,
Apr 11, 2014, 2:20:52 PM4/11/14
to cyton-...@googlegroups.com

Hi Giorgio,

 

Thanks. D, alpha, and a are taken directly from the XML near the matching precursor. If those parameters are set to zero in the XML, then zero values should be used (making Tdh just rotation about z). Right, theta will be the corresponding joint angle from the state.

 

All the information needed should be available by combining the precursor; the d, alpha, and a values; and the joint angle. Using a ruler should not be required. :-)

 

With best regards,

 

James

 

From: cyton-...@googlegroups.com [mailto:cyton-...@googlegroups.com] On Behalf Of Giorgio
Sent: Friday, April 11, 2014 1:19 PM
To: cyton-...@googlegroups.com
Subject: Re: Cyton arm 3D

 

Hi James,

--
You received this message because you are subscribed to the Google Groups "Cyton Robots" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cyton-robots...@googlegroups.com.

Giorgio

unread,
Apr 11, 2014, 3:16:41 PM4/11/14
to cyton-...@googlegroups.com
Perfect, Thanks a lot

So with all parameters set to zero Tdh=Rot(z,theta) (with t=(0,0,0)), hence all joints rotation are about z wrt the local frame.
Moreover, if i consider, at beginning, all theta equals zero Tdh=Identity matrix and T=Tpre. I can see that situation as an home position of the robot.
At this point a can go further to build the right urdf file.
As soon as i get a good urdf file (at least regarding the kinematics chain and the visual skeleton of the arm) i post it if this can be helpful to someone.
I keep on searching for .dae o .stl or other types of 3d models of the robot parts to substitute the cylinders in the urdf.
Is there a way to extract these parts from the .ecz file??

Thanks Again

James English

unread,
Apr 13, 2014, 5:48:27 PM4/13/14
to cyton-...@googlegroups.com

Hi Giorgio,

 

Thanks. Yes, that sounds right.

 

All the information on the underlying link shapes is there in the XML, organized as points and polygons represented in the primary frame of the link (as discussed earlier in the e-mail thread). Parsing it from the XML might be more difficult, though, since it is so much information. It would require some coding/scripting.

Giorgio Toscana

unread,
Apr 16, 2014, 2:52:55 PM4/16/14
to cyton-...@googlegroups.com

Hi James.
Thanks for replying.
I extracted from cyton.ecz all point inside <mn:points> relative to Gripper Finger.Hence i loaded a pcl pointCloud with these points and finally i visualized them.
I hoped to see at least the gripper shape but the figure i got looks without sense. The next step should have been to create the mesh and save it in .stl format.
Obviusly i missed something.
What are those points ?? The center of polygons?? I noticed that normals are defined too but points size and normals size are different.

Thanks again
Giorgio.

Chris R

unread,
Apr 16, 2014, 3:30:15 PM4/16/14
to cyton-...@googlegroups.com
Hello all,

I also looked at the esz file and I think, it should be possible to write a converter. But it would take some time figuring out for me, how collada works (3d mesh file for the urdf).
Giorgio, we may need in addition the polygon description, like James already mentioned.
In the  <mn:shapeContainer> I found the polygon/surface-normals: <mn:normals ...>, and the points <mn:points ...>.
The polygons are then described in <mn:surfaceKeyPolygonVectorPairVector size="1"> using point and normal indices.

After parsing the xml we may use pyCollada to easily create the mesh file for each part. But I've never build such a model, thus I don't know, if there is much more to do.
Unfortunately, I have no time before May/June to try this out.

Apart from the 3d model, I got MoveIt working with the cyton arm using the most recent dynamixel_motors trunk.






Am Montag, 18. Oktober 2010 21:26:16 UTC+2 schrieb SERGIO:

Giorgio Toscana

unread,
Apr 16, 2014, 4:18:57 PM4/16/14
to cyton-...@googlegroups.com

Hi Chris.
It sounds the right way to procede.
I'm doing my master thesis about another project so i haven't much time to work on it. But i can spend some hours a week to go deeply on this converter.if you guys have some info or news please let us know.
By the way, moveit, to work properly, need a urdf or callada file. How did you build up the urdf?in particular,how did you build the kinematics chain of your arm?did you use the links poses find in the cyton.ecz ? I did so but the chain looks not correct.

Thanks.

--

James English

unread,
Apr 17, 2014, 10:06:42 PM4/17/14
to cyton-...@googlegroups.com

Hi Giorgio,

 

The points represent vertices and are ordered so that an index can be associated with each one. After the points are established, the polygons reference them by index. The normals are similarly defined then referenced by index. The size is different because the vertices and indices can be reused in different ways. (To present as flat, for example, a 3D square needs four distinct vertices but only one normal—the normal can be reused.)

 

James

 

 

--

James English

Energid Technologies

617.401.7090 x401

j...@energid.com

Giorgio

unread,
Apr 18, 2014, 8:37:55 AM4/18/14
to cyton-...@googlegroups.com
Hi  James, Hi All,

I did it!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I’ve got the .dae model of the arm.


i followed James’  advice, and i used pyCollada as Chris suggested.

Not too much work…just a couple of hours.

Here is the .dae of the base of the robot:
gamma.dae
estazione_pnp.py

Chris R

unread,
Apr 22, 2014, 5:08:18 AM4/22/14
to cyton-...@googlegroups.com
Fantastic work Giorgio, thank you!!

I tried your script with my Cyton Veta esz-file, but unfortunately the xml-tree differs from the gamma one.
Maybe I can extend or adapt your script to support the "old?" robot-xml-description after you add the other parts of the robot.

Giorgio

unread,
Apr 22, 2014, 5:56:41 AM4/22/14
to cyton-...@googlegroups.com

Hi Chris,

You can , of course, change the script to adapt to your needs!!
Here is the full script i wrote:
estazione_pnp.py

Gert Comments

unread,
Apr 22, 2014, 9:46:11 AM4/22/14
to cyton-...@googlegroups.com
Hi, Giorgio and all!

Thank you very much for sharing the script!
I modified it a little bit and created the Blender file of the Cyton Gamma 1500 arm (PS! Anyone wanting to use his script, he deleted part of the Cyton XML, so you should start from the <statedSystem> tag in order for the script to work).
I will create the URDF out of this as soon as I have time.

You can check out the Blender model from https://db.tt/VFNY9bzM

I will post the Gamma 1500 URDF if it will be useful to someone after I finish it.

As for the MoveIt & dynamixel stack, I have some success, but it doesn't work properly yet. I need to look deeper before giving any hints. I will provide the community with the full Gamma 1500 URDF as well as MoveIt! config after I get it to work. Hopefully Giorgio can provide a Gamma 300 version!

Best regards,
Gert Kanter



--
You received this message because you are subscribed to the Google Groups "Cyton Robots" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cyton-robots...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Moreover, here is the Blender file i made to reconstruct the whole arm.

https://www.dropbox.com/s/4fy6mwbysrilpmt/gamma300.blend


If it can help someone i can post also the URDF file i made using the .dae files.
Using it, i was able to set moveIt successfully and the KDL solver works fine (at least in simulation).

Now i'm attempting to get MoveIt and dynamixel stack working together with the aim to move the real robot. If someone has some hints on how to proceed i would be grateful!

Thanks Again


Carolina Loureiro

unread,
Jul 23, 2015, 11:48:45 AM7/23/15
to Cyton Robots, gert....@gmail.com
Hi Gert,

Were you able to work with the cyton1500 with moveIt without constraints? If so, did you share your code?

Thanks!

m.l.a...@gmail.com

unread,
Aug 9, 2015, 6:16:41 PM8/9/15
to Cyton Robots
Hello everyone,
I've been working these days on a cyton 300 3D model, and I used Giorgio's converter program estazione_pnp.py. I got the dae file of each link and I put them availabale. It could be helpful for anyone.


hope it will be useful
Regards,
Meriem

Abdul Moeed Syed

unread,
Nov 17, 2016, 2:14:58 PM11/17/16
to Cyton Robots
Hi Gert,

Do you think you have Blender file for Gamma 1500 ?

Thanks,
Reply all
Reply to author
Forward
0 new messages