Skip to content

Add Linear Motion of Arm Base via Drivetrain #144

@chosterto

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

Metadata

Metadata

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions