Make grab() intelligent and add speed to arm + gripper#7
Open
jgeaso1266 wants to merge 9 commits intoviam-devrel:mainfrom
Open
Make grab() intelligent and add speed to arm + gripper#7jgeaso1266 wants to merge 9 commits intoviam-devrel:mainfrom
jgeaso1266 wants to merge 9 commits intoviam-devrel:mainfrom
Conversation
Implement moveOptions pattern for configuring speed and acceleration parameters: **Arm (arm.go):** - Add moveOptions struct to hold speed and acceleration parameters - Implement buildMoveOptions() method following xarm precedence: 1. Config defaults (speed_degs_per_sec, acceleration_degs_per_sec_per_sec) 2. arm.MoveOptions (MaxVelRads, MaxAccRads) 3. Extra map parameters (speed_r, speed_d, acceleration_r, acceleration_d) - Update MoveToJointPositions to use moveOptions and pass to controller - Update MoveThroughJointPositions to propagate options - DoCommand already supports set_speed and set_acceleration for runtime changes **Gripper (gripper.go):** - Add gripperMoveOptions struct - Add buildMoveOptions() method with same parameter precedence - Add config fields for default speed/acceleration with validation - Update Open, Grab, and set_position to use moveOptions - Add DoCommand support for set_speed and set_acceleration (xarm pattern) **Controller (manager.go):** - Document that speed/acc parameters are accepted but not yet applied - Add TODO for future feetech-servo library support Speed/acceleration are configurable via: - Config attributes (defaults) - Extra params per move operation - DoCommand for runtime updates This matches the Viam xarm module implementation pattern.
Update MoveToJointPositions and MoveServosToPositions to use the feetech-servo SetPositionsWithSpeed() method when speed is specified. Changes: - Use SetPositionsWithSpeed with speed map when speed > 0 - Fall back to SetPositions when speed is 0 or not specified - Create speed map where all servos use the same speed value - Remove TODO about future support (now implemented) - Add note that acceleration is not yet supported by feetech-servo This enables the speed parameters configured in arm.go and gripper.go to actually control servo movement speed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.