Skip to content

Add Linear Motion of Arm Base via Drivetrain #144

Description

@chosterto

The current 6 dof arm does not have enough flexibility to control fine tune movements of the end effector sideways (or in linear +/- y direction when talking in vector space). However, we can bypass this issue by instead controlling the arm's side-to-side motion via the drivetrain.

We can accomplish this by modifying our existing drive implementation to add this new "arm mode" functionality, specifically in vesc_controller.py and rad_drive_controller.cpp, such that when a button is pressed on the controller, it sends a request to services run on these nodes which will toggle the control mode from drivetrain to arm.

  • For vesc controller, subscribe to TwistStamped topic /servo_node/delta_twist_cmds and set the speed of each VESC to linear.y when "arm mode" is enabled
  • For rad controller, set target angles for each RAD to be perpendicular to the angle stored in the RadStatus topic /arm/joint0/rad_status (this is the arm base)
Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions