PRO
RoboHappy
USA
Asked
Inverse Kinematics Guidance For Cybot3000
I have a question regarding the use of the Inverse Kinematics robot skill in Synthiam ARC. I've managed to create the general arm configuration based on the initial instructions, but I would like to know if there is a comprehensive video tutorial available, along with more detailed instructions on using this skill effectively.
For my setup, which is for the Cybot3000, I have both arms mounted in a downward position on each shoulder. Each arm consists of five servos using EZ-Robot HDD servos and grippers. I've configured them as follows:
Right Arm:
- v4 = Shoulder
- v5 = Arm
- v6 = Elbow
- v7 = Wrist
- v8 = Gripper
Left Arm:
- v11 = Shoulder
- v12 = Arm
- v13 = Elbow
- v14 = Wrist
- v15 = Gripper
Any guidance on using Inverse Kinematics with this configuration would be greatly appreciated.
Related Hardware (view all EZB hardware)
EZ-B V4
by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos
24
Camera
Audio
UART
3
I2C
ADC
8
Digital
24
Related Robot Skills (view all robot skills)
Camera Device
by Synthiam
Use PC or robot cameras for vision tracking: color, QR, glyph, face, object, motion; record video/data, control servos and movement, run scripts
Inverse Kinematic Arm
by Synthiam
Control robot arms with inverse and forward kinematics, converting X/Y/Z positions into joint motion and reporting end-effector location.
Requires ARC
v12

Absolutely - that screenshot and DJ’s note are the key to using IK safely.
What the screenshot is showing
The Inverse Kinematic Arm window displays the current Cartesian coordinates of the arm’s end effector:
Those values are not random targets. They are the arm’s current reachable position in space.
In the screenshot:
That means the arm is currently positioned roughly:
That is a known safe position to use as a reference.
The most important rule
You should not guess coordinates like:
until you understand your arm’s real workspace.
Instead, you should:
That is exactly what forward kinematics testing is for.
Why your arm behaved badly
Your arm likely went into a bad pose because one or more of these were true:
So yes - DJ’s advice is correct: don’t merge multiple behaviors while learning IK
What to do now
1) Temporarily disable Auto Position
For now, keep only:
That way only one system is controlling the arm.
2) Find a safe home pose manually
Use the servo sliders to put the arm in a safe position, such as:
Then note the IK window values.
3) Use those values as your starting target
If the IK window shows something like:
X = 3Y = 21Z = 0then that becomes your safe reference pose.
You can then nudge it slightly, for example:
or
Small changes only.
About your arm setup
For the right arm, your IK configuration should use:
v4= shoulderv5= armv6= elbowv7= wristv8= gripperFor the left arm:
v11= shoulderv12= armv13= elbowv14= wristv15= gripperIf the left arm is mirrored, you will probably need:
About the camera
The camera is not part of IK by default.
It only becomes useful when you write a script that:
MoveToto the IK skillThat should come after your arm is stable and safe.
Best next step
I recommend this exact order:
Safe test example
Once you have a known good pose, test very small changes:
My recommendation for you
Right now, I would not try to combine:
all at once.
That creates too many variables while the arm geometry is still being tuned.
If you want, I can help you with one of these next:
If you send me your current IK joint settings screenshot for one arm, I can help you verify the configuration line by line.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Athena and DJ, Thanks for advice and all this info, much to learn, ugh lol. One quick question still. Since this first test was created for the Right Arm (servos v4-v8) using the Inverse Kinematics skill; to do the Left Arm, do I add another Inverse Kinematics skill to create that arm for servos v11=v15? Because I can see that when you create your arm configuration in that skill, it's for one arm only. Can two of the same skills be created, one for left arm and another for right arm?
Yes - you can add two separate Inverse Kinematic Arm skills, one for each arm.
Recommended setup
IK Right Arm configure for:
v4shoulderv5armv6elbowv7wristv8gripperIK Left Arm add a second Inverse Kinematic Arm skill and configure for:
v11shoulderv12armv13elbowv14wristv15gripperSo yes, two copies of the same skill is the correct approach if each arm is being controlled independently.
How to add the second one
IK Right ArmIK Left ArmYou can rename a skill by right-clicking its title bar and selecting Rename.
Important caution
If you use two IK skills and also keep Auto Position, make sure they are not controlling the same servos, or they will fight each other.
For example:
IK Right Armshould only touchv4-v8IK Left Armshould only touchv11-v15That way they can coexist safely.
One more tip
Because your left arm is mirrored, you may need to:
Best next step
Set up the second IK skill for the left arm, then test it alone before combining it with anything else.
If you want, I can help you build a safe left-arm configuration checklist for
v11-v15step by step.I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
It’s really not a lot to learn - and if you think about it, it’s a lot simpler than auto position.
all you do is
define the arm lengths and joints by using a ruler in the configuration menu
use servo robot skills to move the arm into a known safe pose
look at the coordinates in the window for x y z of where the end effector is.
gently nudge the numbers of x y z to see how the numbers move the arm.
That's it. Once you see how the coordinates move the arm, you can position the end effector anywhere in 3d space.
Exactly - that’s the core workflow for Inverse Kinematics in ARC.
The simple mental model
IK is basically:
Measure the arm
Move the arm to a known safe pose
Read the Cartesian coordinates
Nudge the numbers
That’s it.
Why this is easier than Auto Position
Auto Position is great for scripted poses, but IK gives you a more natural way to think about the arm:
So instead of thinking:
you think:
Good way to learn it safely
I’d suggest this exact sequence:
For your Cybot3000
Yes, you can do this one arm at a time:
And yes, you can have two separate IK skills in the same project if each one controls a different arm.
Best practice before adding camera or other skills
Don’t layer camera tracking or Auto Position until:
That keeps the learning curve much easier and avoids broken parts.
If you want, I can give you a very short "first 10-minute IK test plan" for your right arm so you can verify it step by step in ARC.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Ok, So I was able to create the IR Right Arm Inverse Kinematic skill.
This is the script for the Left Arm
This is the script for the Right Arm (yes I used basically same sample test code)
Interesting results was that each arm moved in completely different directions, I was surprised at this. Guessing it was supposed to happen. So I am still learning if this is the route I want to go. Also still interested in how the camera is used with this.
Yes - different movement on each arm is expected if the two IK skills are configured differently. That usually means one or more of these are different between the left and right arm setups:
So the fact that they do not move the same way is not surprising.
Important correction about your script names
You wrote:
and
That is fine only if those are exactly the skill names shown in the skill title bars.
If
Inverse Kinematic Arm 2is your second IK instance, then that command targets that specific skill instance.What should happen
If both arms are configured as true mirrored arms, then:
So they do not have to look identical.
Camera use with IK
The camera is usually used like this:
$CameraObjectX$CameraObjectY$CameraObjectWidthControlCommand(..., "MoveTo", x, y, z)to the IK skillExample concept:
That means the camera does not directly control the servos. It just provides coordinates that your script turns into arm movement.
My recommendation right now
Since you’re still learning, keep it simple:
Good next test
Pick one arm and test small movements only:
That helps you see how each axis affects the arm.
One question for you
Do you want me to help you with:
If you want, I can write the camera script next in JavaScript for ARC.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.