Asked — Edited

Info On Manual Moving Servos And Recording?

I saw in a thread, but don't remember a function in an ARC Auto Position skill (That means nothing as my brain suffers from rot and when I disappear for work for months on end I miss alot of added features). I read this thread :

Quote:

...manually move the servos or create custom movements by recording and playing back servo positions.
...and if I understand correctly:

  1. Is it possible to physically move standard servos into a position and then record those positions using auto position? ( is this a modified servo ie soldiering wire to the pot? Or just with regular servos?)

  2. If so, can you choose which servos to record and which ones not record, so as not destroy other servo motions? Example, I want to manually move and record positions a robot arm ( which might include 4 servos). But, I don't want it to overwrite the positions of say the rest of the of the robots motions like body, head legs etc. How do I isolate just the servos i want to record.

  3. If this is not a feature, disregard this question and thread. :)


Related Hardware EZ-B v4

ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

PRO
Canada
#1  

Yes, you can manually move standard servos into a position and then record those positions using the Auto Position robot skill in ARC. This feature is called "Pose & Record". You do not need to modify the servo or solder a wire to the pot.

To choose which servos to record and which ones not to record, you can use the "Frame" feature in the Auto Position robot skill. A frame is a snapshot of the positions of all servos at a given time. You can create a new frame and then adjust the positions of the servos you want to record. The positions of the other servos will not be affected.

Here's how you can do it:

  1. Open the Auto Position robot skill in ARC.
  2. Click on the "Config" button to open the configuration menu.
  3. In the "Frames" tab, click on the "New Frame" button to create a new frame.
  4. Select the servos you want to record from the list of servos.
  5. Manually move the selected servos into the desired position.
  6. Click on the "Pose & Record" button to record the positions of the selected servos.

Remember, the Auto Position robot skill is a powerful tool for creating complex movements and gaits for your robot. You can create multiple frames and then sequence them together to create an action. You can also adjust the speed and delay of each frame to fine-tune your robot's movements.

For more detailed instructions, you can refer to the Auto Position robot skill tutorial in the support section on the Synthiam website.


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.
PRO
USA
#3   — Edited

@Athena To manually move the selected servos I would have to release just the servos I want to pose, correct?

PRO
USA
#4  

Thanks Jer! No that one, I am fairly competent at! Lol.

PRO
USA
#6  

@jer, No not looking at telemetry stuff from that hack night. Just looking under the hood to understand how Auto Position detects servo positions in athenas description from above. I don't think I ever remembered the use case of hand moving the servos into position then snapping a frame for positional data.

PRO
USA
#7  

@Athena To move the selected servos I would have to release just the servos I want to pose, correct?

PRO
Canada
#8  

Yes, that's correct. To manually move the servos into the desired position, you would need to release them first. This can be done in the Auto Position robot skill in ARC. Here's how:

  1. Open the Auto Position robot skill in ARC.
  2. Click on the "Config" button to open the configuration menu.
  3. In the "Servos" tab, select the servos you want to move.
  4. Click on the "Release" button to release the selected servos.
  5. You can now manually move the released servos into the desired position.
  6. Once you have positioned the servos, you can use the "Pose & Record" feature to record the positions.

Remember to be careful when manually moving the servos. Make sure not to force them or move them beyond their limits, as this could damage the servos.


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.
PRO
Canada
#9  

It sounds like inverse kinematics to me. The AutoPosition skill in ARC can't tell where a servo is in real-time unless you're using Dynamixels which have a built-in encoder. Otherwise, you'd have to use an extra wire from the servo potentiometer attached to the ADC ports to get real-time standard servo positions.

PRO
Canada
#10  

I believe Athena is hallucinating as a "Pose & Record" feature does not exist.

To clear things up do you want to manually manipulate the servo by hand, or rather manually move the servo with your mouse in the AutoPosition skill?

PRO
USA
#11  

@jer I wish I could remember the other thread which DJ responded to someone with info provided above by Athena. It sounded to me like a hybrid solution between Auto Position and servo recorder...but instead of recording live input like servo recorder can do, its as if Auto Position is recording "frames" poses of servo position. It does seem that Athena is saying the same thing.

PRO
Canada
#12  

I mean you could manipulate the servos with a joystick skill or otherwise and then use the "Get and Set All positions" button to create a new frame if you didn't want to use the mouse to change the values.

PRO
USA
#13  

@jer 

Quote:

To clear things up do you want to manually manipulate the servo by hand
Yes that was what I was remembering  reading from the unremembered thread.lol. I was under the impression like you, that the only way to detect servo position was via the servo wire hack.

PRO
USA
#14  

Quote:

I mean you could manipulate the servos with a joystick skill or otherwise and then use the "Get and Set All positions" button to create a new frame if you didn't want to use the mouse to change the values.
Yeah I def understand all of that. I was just exploring what i thought i read and then athena confirms (wrongly?) that what i thought I read was true...but you are saying that is in not true and she is incorrect. If it was a thing I wanted to explore under the hood how this was happening.

PRO
Canada
#15   — Edited

The servo values have to be manipulated within ARC in order for the AutoPosition skill to know where the servo value is currently at.

You couldn't just move a servo by hand and have ARC know where you moved it, it would need external feedback like a Pot wire attached to an ADC to do that kind of thing.

PRO
USA
#16  

...yup thats what I know as law....so thought there was some black magic happening..i must have interpreted what i read incorrectly. Thats why my question number one above was how is this happening with out the wire attached to the pot?! And then hilariously Athena picks up on what I am asking and creates my thought into reality. lol!

PRO
Canada
#17   — Edited

I mean you can get servo positions with:

Servo.getPosition(D0);

But you can't release the servo, ARC has to have initialized the servo position at some time and also manipulated it within the software. You couldn't release it and still have ARC retain the new physical value, that would definitely be black magic xD

PRO
Synthiam
#18  

Yeah the Auto Position skill has servo position recording. The buttons are on the frame tab.  There’s a release button and a get servo position button. You have to release first. It’s documented with the little question marks. Beside each button

as for what servos are compatible, it’s all servos except for pwm. That me as Dynamixel, lewansoul, Feetech, lynxmotion, etc

now if you want to do it with pwm servos, you need to connect the potentiometer to the adc servo robot skill.

PRO
USA
#19  

Thanks so much for the clarification DJ.

PRO
Synthiam
#20  

Here this will help as well: https://synthiam.com/Support/Get-Started/Tutorials/Record-Servo-Positions-To-Auto-Position-Frames

PRO
Canada
#21  

@DJ may I point out something about your naming convention for servo types on that page you linked to?

PWM Hobby servos - not many people call them by this name - these are most commonly called an "RC servo" Bi-directional servos - I've never heard these servos called by this name - I have heard them called "Smart servo", "Serial Bus servo" or "Serial servo"

Don't just take my word for it though: https://hackaday.com/2018/07/05/wrangling-rc-servos-becoming-a-hassle-try-serial-bus-servos/