Our top priority

We are as proud of our service as we are of our robots.

Forgot your password?
Register

Splash Forums Development SDK Gripper control does not work

This topic contains 6 replies, has 2 voices, and was last updated by  Alex 1 year, 5 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #2554

    chpark
    Participant

    Hello,

    I am working on Windows to control Jaco2 arm, and the gripper control is not working.

    I tried both ways as below, but nothing works. Any suggestions?
    (It works with the GUI DevelopmentCenter, but not with the SDK code).

    ///Trial1
    pointToSend.Position.Type = ANGULAR_POSITION;

    MySetActiveDevice(KinArm[0]);
    MyGetAngularCommand(currentAngle);

    pointToSend.Position.Actuators.Actuator1 = currentAngle.Actuators.Actuator1;
    pointToSend.Position.Actuators.Actuator2 = currentAngle.Actuators.Actuator2;
    pointToSend.Position.Actuators.Actuator3 = currentAngle.Actuators.Actuator3;
    pointToSend.Position.Actuators.Actuator4 = currentAngle.Actuators.Actuator4;
    pointToSend.Position.Actuators.Actuator5 = currentAngle.Actuators.Actuator5;
    pointToSend.Position.Actuators.Actuator6 = currentAngle.Actuators.Actuator6;

    pointToSend.Position.Fingers.Finger1 = (float)deg;//deg value given before; I tried different values such as 0, 45.0, 6500.0
    pointToSend.Position.Fingers.Finger2 = (float)deg;
    pointToSend.Position.Fingers.Finger3 = (float)deg;

    SendBasicTrajectory(pointToSend); //SendAdvanceTrajectory does not work, and even crashes the program

    /// Trial2
    pointToSend.Position.Type = ANGULAR_VELOCITY;
    MySetActiveDevice(KinArm[0]);

    MyGetAngularCommand(currentAngle);

    pointToSend.Position.Actuators.Actuator1 = 1;
    pointToSend.Position.Actuators.Actuator2 = 0;
    pointToSend.Position.Actuators.Actuator3 = 0;
    pointToSend.Position.Actuators.Actuator4 = 0;
    pointToSend.Position.Actuators.Actuator5 = 0;
    pointToSend.Position.Actuators.Actuator6 = 1;

    pointToSend.Position.Fingers.Finger1 = (float)deg;//deg value given before; I tried different values such as 0, 45.0, 6500.0
    pointToSend.Position.Fingers.Finger2 = (float)deg;
    pointToSend.Position.Fingers.Finger3 = (float)deg;

    for (int i = 0; i < 500; i++)
    {
    SendBasicTrajectory(pointToSend);//SendAdvanceTrajectory does not work, and even crashes the program
    Sleep(10);
    }
    // This code makes the arm move a bit (due to 1deg incrementals on Joint1 and Joint6, but the gripper does not move at all.

    #2555

    Alex
    Participant

    Dear Chpark,

    Before being able to control the gripper, you will need to initialize the fingers first. Have you been able to do that?

    If you refer to the SDK Offline documentation (in the JACO2SDK installation folder), you should find the information to initialize the fingers with the function InitFingers

    Please keep us posted if that works!

    Thanks,

    #2556

    chpark
    Participant

    Hi Alex,

    Yes, I did InitFingers().

    What I was curious was that if the SendBasicTrajectory() command also sends finger control commands, or if I need to use SendAdvanceTrajectory()
    to send fingers control.

    It seems the Windows version API does not have the SendAdvanceTrajectory command compiled in it.

    Two more issues came up after my posting:

    1. I have two JACO2 arms connected to one PC. One Jaco2 arm stopped working last week, and I see yellow lights blinking on the LAB port of the arm base. How should I fix it? The arm is not recognized when connected to the PC via USB port.

    2. I notice version differences between the header and dll files in the API folder with the same files in the Kinova_example folders. It seems the files in the API folders (dated 2014) are about 1 year older than those in the example folder (dated 2015). The sizes of the dll files are also different.
    So which version should I link and include in my own project?

    #2557

    chpark
    Participant

    LAB port => LAN port. Typo.

    • This reply was modified 1 year, 5 months ago by  chpark.
    #2559

    chpark
    Participant

    Problem with the gripper control solved, but not the dead JACO2 arm issue.

    The issue with the gripper control was that I was switching between Cartesian control and Angular control, and I learned that
    I need to InitStruct() the pointToSend structure when I make the change.

    However, the dead arm is still not respoinding, and it is not recognized at all from my PC. Is there any easy fix?
    The yellow light on the LAN port of the JACO2 arm blinks occasionally.
    It powers up and maintains torque on the joints, but nothing else.

    #2560

    chpark
    Participant

    I also noticed that if I connect the joystick controller and turn on the arm, the green lights on the joystick keeps blinking and never stops to a steady ON state. Does this mean the power controller circuit may be short-circuited, or may there be an easy fix?

    #2561

    Alex
    Participant

    Dear chpark

    We are glad you have been able to solve the gripper problem on your end! Thanks for letting us know aswell how you have been able to solve it.

    About the problem with one of the arm, can you please write us an email at support@kinova.ca with the serial number of the problematic arm? We will be able to solve the problem this way and also record it in our system.

    Thank you very much,

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.

Trending now

Expert Talk

Hitting the Mark with Marketing: The Do’s and Don’ts of Creating a Message Around Robotics

While robotics companies have been around for decades, the spotlight on the industry has only really intensified in recent years as new technologies become more readily available and more implicated in the lives of humans.

Read more
Expert Talk

For the Greater Good: The Importance of Fulfilling Corporate Social Responsibility

By now, it goes without saying that the cornerstone of Kinova’s DNA is our desire to create products that empower humanity, and that fulfilling our ethical, human and social responsibilities is fundamental to maintaining the core of our culture. Always has been, always will be.

Read more
Expert Talk

FOR ETHICS IN AI, KEEP HUMANS in THE LOOP (UNTIL FURTHER NOTICE.)

As discussions around the advancement of AI evolve, so too do the concerns. And for good reason. Machines are getting smarter and smarter, able to complete complex tasks and process information incredibly fast. But, what happens when the developments in AI move too quickly — and we lose sight of human ethics?

Read more