Implement configurable position offsets. #335
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the parameters
offset_pos_to_dev
andoffset_pos_from_dev
tobus.yml
to allow user-defined offsets in the position feedback and commands. These default to zero if not specified.One use case is remapping the sense of rotation and angle convention for a joint with an absolute angle encoder whose rotation direction cannot be reversed physically or electronically.
Assuming full-scale encoder count$n_{fs}$ and current count $n_{enc}$ , mapping position feedback from the device, with
offset_pos_from_dev = 2*pi
,scale_pos_from_dev = -2*pi/n_fs
:Mapping commands to the device, with
offset_pos_to_dev = n_fs
,scale_pos_to_dev = -n_fs/(2*pi)
:This could also be useful for absolute position encoders that otherwise cannot be zeroed at a given physical position.