Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by Rich!

Home Position.

Is there a home position function? Or is there only center position on servos when power is applied. For example if I were to construct a humanoid would I be able to set a home position on specific servos to allow servo offset.


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

I am not in ARC right now, but I am sure that there is a "set servo" position script command. Positions are from 1 to 100 or something like that. That way you can have your servos move to a set position as needed.
United Kingdom
There isn't a home position as such but you can use EZ-Script to position servos or use the Auto Position control.

A "home position" would be pretty much as redundant as the centre button. To be honest I've never needed the centre button on the servo controls. Movements etc. tend to be scripted or done through auto position. When the operation is complete the script simply moves the servo back to the position it needs to be in as default with a Servo(port,position) command. On power up the init script I have set to run on connection will move the servos to the required default position with the same servo script command.
Yes I am sure there is but what I am asking is a home position. that is a different function. A home position replaces servo values with user defined ones. That way you don't have to enter new values when creating sequenced motions.
United Kingdom
I'm not quite following why using the Servo() command to set the position would be any different to any kind of home button. Both would move the servo to the desired position right?

And you'll always going to have to change values, how else would the servo move?

If you're looking for a way to set the servo positions and recall them look at the Auto Position or write a simple script to set the servos to the position and call the script with a ControlCommand if moving more than one. If moving only one then the Servo() command is all that is required so writing a script with only one line would be pointless.

You also have ServoUp and ServoDown commands to move a servo in the desired direction by a desired amount.
Maybe this will help.

zero position:

Home position:

When creating complex motions and sequences. It is much easier to use a gui rather than code. like in kondo's heart to hart or robotis motion editor. Writing motions in sdk is very very time consuming. that is why almost all humanoid robot kits have a home position of sorts in the software bundle. as you can see in the video the zero position is not usable as a starting point or anything else really. The home position tells the robot every motion, sequence, ect, ect starts from that position. Also at idle the robot maintains the home position rather than the zero position. The zero position will likely never be used and if it were to go to zero position it would cause the robot to fall over.
United Kingdom
OK so GUI based motions, check the Auto Position control, it does exactly that.
I think a lot of companies or hobby projects refer to things a little different. To be specific, there is no absolute home position of a servo - because it's purely abstract. In the case of a humanoid, a hexapod, or any robot with servo appendages - you can use the Auto Position control to configure poses/positions/frames. For your humanoid, the "home" position that you define would most likely be named "Stand", because the robot is standing. You can name it yourself, as it doesn't need to be named "Stand". You can name any pose/position/frame yourself. You can call it Home Position if you like.

Then you create other positions, such as for walking. You may have 4 or 5 positions for walking forward, as an example. Technically, you can have as many positions as you want for a specific action.

An action is a collection of positions. The Auto Position control does magic to transform between positions - don't as how it does it, it just does... And I assure you, it's magic. It's a little bit of data quantization and interpolation so the transformation is smooth and absolute. However, as a user, we hide the complications and provide a nice graphical interface to create positions in real-time.

Here's an example from one of our community members... In this video example, he created a few Auto Position frames and linked them to actions. Then he saved the project to our EZ-Cloud and loaded the project on his Android Mobile Device... (yeah, it's that friggin easy :))

You can see his entire build here: www.ez-robot.com/Community/Forum/posts.aspx?threadId=4558