1
$\begingroup$

I'm writing an academic paper describing the calibration of a system. Part of that system is an absolute rotary encoder measuring the angle of a joint. However, the position at which the encoder gives a reading of '0' does not correspond to an angle of zero degrees (see edit). Rather than fussing with how the encoder is mounted, I simply found the value that the encoder returns when the joint is at zero degrees and subtract that value off of future measurements.

Is there a well-established* term to describe this point/value succinctly and, if so, what is it?

I have to imagine that this is an extremely common task in robotic manipulators and I'm having a hard time describing the process without a name for the point/value/position that I'm calibrating for. Zero point? Home position? Origin? Encoder offset?

*By well established, I simply mean something that someone familiar with the field of robotics will understand to mean what I'm trying to describe. My primary field is medical imaging/image guidance so I have no idea what terminology is or is not commonly understood.

Edit: 'zero degrees' meaning 'zero degrees with respect to the arm'. A reading of 0 indicates, by definition, zero degrees with respect to an arbitrary position on the encoder.

$\endgroup$
3
  • $\begingroup$ Your description of 'home' and 'home offset' sounds like the terms I'm looking for. In this case, the joint is only capable of passive motion so there is no 'homing' process that can be performed automatically but rather a manual process but the concept sounds the same. I've heard phrases like 'home position' used but wasn't sure if that was an established term or an in-house colloquialism. Could you repost this as an answer rather than a comment so I can mark it as accepted? $\endgroup$
    – JMikes
    Jan 24, 2018 at 18:21
  • $\begingroup$ @markshancock - Pinging you to update this. As a moderator, I can convert an answer to a comment, but I can't go the other way. You'll have to post the answer yourself for OP to accept. $\endgroup$
    – Chuck
    Jan 24, 2018 at 18:56
  • $\begingroup$ @markshancock I've accepted your answer and moved my previous reply to your comment to the answer you submitted.Thanks again for your help! $\endgroup$
    – JMikes
    Jan 25, 2018 at 22:40

3 Answers 3

1
$\begingroup$

It really depends on what the what you are calling 'zero degrees'.

Typically 'home' refers to a well established reference point that serves as the reference point for the axis. Often the process of 'homing' reconciles the encoder measurement to this location by turning the motor until the reference location is detected then setting the encoder '0' based on that. If the encoder '0' does not correspond to 'home', this difference is often called the 'home offset'.

Note: I found the following reference for what Servotronix refers to as 'home offset'. It seems to fit what you are describing.

The configured difference between the zero position for the application and the machine home position.

$\endgroup$
5
  • $\begingroup$ I see from your other comment that you are you using an absolute encoder. The "zero" of the encoder would likely be considered its home; thus, home offset seems like a good fit to account for the mechanical difference. $\endgroup$ Jan 24, 2018 at 21:54
  • $\begingroup$ Your description of 'home' and 'home offset' sounds like the terms I'm looking for. In this case, the joint is only capable of passive motion so there is no 'homing' process that can be performed automatically but rather a manual process but the concept sounds the same. I've heard phrases like 'home position' used but wasn't sure if that was an established term or an in-house colloquialism. $\endgroup$
    – JMikes
    Jan 25, 2018 at 22:39
  • $\begingroup$ Could you add something to your design to detect a mechanical reference point? That would mean you could auto-home by simply moving the joint. Also you could repeatedly confirm the home location during operation to verify there was no mechanical drift of the 'home offset'. Good luck, sounds like a fun project. Maybe you could cite your paper here once you publish, $\endgroup$ Jan 26, 2018 at 16:11
  • $\begingroup$ I suppose that's possible but what I've got going works fine as is. It's not that hard to do and it seems to be accurate once calibrated so the added value of confirming it with a separate sensor likely wouldn't warrant the added complexity. It's currently been accepted pending revisions by an academic journal so (if others would be interested) I'd be happy to comment here with a reference once it's published. $\endgroup$
    – JMikes
    Jan 27, 2018 at 18:44
  • $\begingroup$ Way late on posting this but a link to the final publication is below in case future readers are interested. Photo of the device with its arm on pg. 5. @markshancock dl.uswr.ac.ir/bitstream/Hannan/82000/1/… $\endgroup$
    – JMikes
    Nov 15, 2020 at 23:50
1
$\begingroup$

How are you getting zero angle if it's not reading zero angle? Is this some arbitrary thing you do on startup? Was this a one-time reading you took and it works every time the thing starts up, regardless of powered-down position?

I ask because it sounds like you're actually using an incremental encoder.

An incremental encoder tells you how many steps the encoder has gone in a particular direction, relative to an arbitrary position, generally whatever the position was on power-on. Incremental encoders will often have an index position that happens once per turn. This may be the term you're looking for.

A true absolute encoder will tell you exactly where it is, regardless of position on power-on. There aren't any index positions on an absolute encoder because every position is known.

$\endgroup$
3
  • $\begingroup$ I am familiar with the differences between an absolute and incremental encoder. The encoder being used is an absolute encoder. The encoder reading indicates "exactly where it is, regardless of position on power-on," with respect to the encoder. Conversely, what is required for kinematic calculations is the encoder position with respect to the arm. I've edited my original post to add clarity in this regard. The position of the encoder with respect to the arm is what I am attempting to describe and it is found in a one-time calibration. The same value is used every time it starts up. $\endgroup$
    – JMikes
    Jan 24, 2018 at 18:34
  • 1
    $\begingroup$ Then I would say, "the reference index of the joint corresponds to an encoder reading of ____," or maybe use the term "datum" instead of index. The index position is the "home" position of an incremental encoder, but a datum is some arbitrary point/angle/measurement that you use as a basis for future measurements. $\endgroup$
    – Chuck
    Jan 24, 2018 at 18:58
  • $\begingroup$ Sounds good. Thank you for the suggestion. $\endgroup$
    – JMikes
    Jan 24, 2018 at 19:10
0
$\begingroup$

Home positions are often used for calibration but don't necessarily coincide with zero in the coordinate frame of interest.

Encoder offset would be the term used to describe the difference between the joint position and encoder position. I'd recommend that one.

The fact that you are using a joint position that you have selected as the zero position when you are calibrating is not really important.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.