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

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions