Problems with cytonControlExample on Ubuntu 10.04

55 views
Skip to first unread message

Gibran Fuentes Pineda

unread,
Jan 24, 2012, 9:07:08 PM1/24/12
to cyton-...@googlegroups.com
Hi!

I've been having some problems with cytonControExample on Ubuntu 10.04. I could successfully compile it but when I run it, the arm moves only very little and always downwards. Also, when I change the desired pose, I can see no difference in the movement of the arm. The program runs without errors or warnings but I noticed that there is almost no change in the calculated joint angles among time steps. Here is the output:

DesiredVel = 0
Getting current end-effector position 0, 0, 0
Attempting to move EE(1) to position -0.1405, 0.0054, 0.4315
Step: 0 Joint Angles: 0.8266, 0.765181, -2.51051, -0.980148, -0.243118, 1.48686, 0.125398, 0.00642858, 0
Step: 1 Joint Angles: 0.840996, 0.77152, -2.44751, -0.989043, -0.289985, 1.49053, 0.151471, 0.00642858, 0.00329412
Step: 2 Joint Angles: 0.848324, 0.77457, -2.41695, -0.994725, -0.31257, 1.49194, 0.164025, 0.00642858, 0.009
Step: 3 Joint Angles: 0.848311, 0.774564, -2.41701, -0.994713, -0.312528, 1.49194, 0.164002, 0.00642858, 0.008999
...
...
Step: 399 Joint Angles: 0.848311, 0.774564, -2.41701, -0.994713, -0.312528, 1.49194, 0.164002, 0.00642858, 0.008999
Test passed

I would really appreciate any help.

Best regards,
--
Gibran

Chuck Seberino

unread,
Jan 24, 2012, 9:31:27 PM1/24/12
to cyton-...@googlegroups.com
Gibran,

One thing you can do is to verify that you are trying to move the correct end-effector for this example.  According to your output, you are attempting to move EE(1).  Depending on the arm that you have and how your simulation file is structured, that index could have changed.  One way to verify is to run the 'describeExample' executable.  It will generate information about the simulation file and, in particular, about the end-effectors within.  Here is the output from a Cyton Veta arm:

$ ./describeExample cyton.ecz 
DH Parameters
Link#     A         alpha       D
-----------------------------------
  0:           0          0     0.0816
  1:  2.0851e-15     1.5708  0.0074027
  2:  2.6832e-16    -1.5708    -0.1467
  3:  5.9781e-15     1.5708  -0.005397
  4:  5.9733e-16    -1.5708    -0.1437
  5:  5.4692e-15    -1.5708 5.4872e-05
  6:       0.078     1.5708     0.0205

7 joints found.
Actual joint positions:
        Joint 0: 4.4409e-16, pos = 0.0017437, -0.0074105, 0.053737
        Joint 1: -2.2204e-16, pos = 0.039641, -0.0074105, 0.13534
        Joint 2: -4.4409e-16, pos = -0.005659, -0.0074105, 0.22304
        Joint 3: 4.4409e-16, pos = -0.041262, -0.0074105, 0.28204
        Joint 4: 8.8818e-16, pos = -0.00026205, -0.0074105, 0.36674
        Joint 5: 0, pos = 0.020543, -0.0074105, 0.42574
        Joint 6: 0, pos = -0.00020718, 0.013089, 0.50374

3 end-effectors found.
EE 0: LinearConstraintEndEffector(doc=1)
State: HardConstrained - Y, RelativeLink - N, Attached - Y
        Attached Link = 7, name = Gripper Open
Threshold value = 1
Gain value = 50
Actual coord: pos=(0, 0, -1.7347e-18), orient=(1,0,0,0)
Desired coord: pos=(0, 0, -1.7347e-18), orient=(1,0,0,0)
Desired velocity(1): 0 

EE 1: LinearConstraintEndEffector(doc=1)
State: HardConstrained - Y, RelativeLink - N, Attached - Y
        Attached Link = 8, name = Gripper Open I
Threshold value = 1
Gain value = 50
Actual coord: pos=(0, 0, 3.4694e-18), orient=(1,0,0,0)
Desired coord: pos=(0, 0, 3.4694e-18), orient=(1,0,0,0)
Desired velocity(1): 0 

EE 2: PointEndEffector(doc=3)
State: HardConstrained - Y, RelativeLink - N, Attached - Y
        Attached Link = 6, name = Wrist Yaw
        Offset pos=(-0.00655, -0.1005, -0.03125), orient=(1,0,0,0)
Threshold value = 0.6
Actual coord: pos=(-0.0067572, -0.018161, 0.60424), orient=(1,0,0,0)
Desired coord: pos=(-0.0067572, -0.018161, 0.60424), orient=(1,0,0,0)
Desired velocity(3): 0 0 0 


In the output above, the end-effector that controls the movement of the arm is EE 2, the PointEndEffector.  The first 2 EEs are linear constraint ones that model the movement of the gripper joint.  If your ecz file is similar to this one, then all you would need to do is modify the example code to select end-effector index 2.

There have been several different variations in the ecz file where the end-effectors were ordered differently, which is probably why your example was trying to use index 1.

Please let me know if you have any other questions or if this doesn't solve your problem.

Regards,

--
Chuck Seberino

Gibran Fuentes Pineda

unread,
Jan 24, 2012, 9:42:58 PM1/24/12
to cyton-...@googlegroups.com
Hi Chuck!

Your solution worked. 

Thank you very much,
--
Gibran
Reply all
Reply to author
Forward
0 new messages