Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create planning_front_loader.py #7

Open
ogunasekara opened this issue Aug 25, 2020 · 3 comments
Open

Create planning_front_loader.py #7

ogunasekara opened this issue Aug 25, 2020 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@ogunasekara
Copy link
Collaborator

Description

The planning_front_loader node will have the following functionality:

  1. Grab/release an object.
  2. Move front loader to a desired pose.
  3. Open/close the end effector.

High Level Design

Grab/release an object

  1. Receive desired pose of the end-effector (geometry_msgs/Pose) in the robot frame (base_link) and grab/release (std_msgs/Bool).
  2. Move front loader to desired pose.
  3. Grab/release the object.
  4. Move front loader to previous pose.
  5. If movement completed, send confirmation to service caller. If timeout, send failure to service caller.

Move front loader to a desired pose

  1. Receive desired pose of the end-effector (geometry_msgs/Pose) in the robot frame (base_link).
  2. Transform pose from the robot frame (base_link) to the front loader frame (front_loader).
  3. Perform inverse kinematics to get servo position.
  4. Send command to serial node (dodobot/linear_cmd) and wait until movement has completed.
  5. If movement completed, send confirmation to service caller. If timeout, send failure to service caller.

Open/close the end effector

  1. Receive desired state of the end-effector (std_msgs/Bool)
  2. Send command to serial node (dodobot/gripper_cmd) and wait until movement has completed.
  3. If movement completed, send confirmation to service caller. If timeout, send failure to service caller.

Notes

  • This node should be implemented as a three services such that it can be called when desired from other nodes.
  • The static transform between base_link and front_loader must be defined in db_config/launch/static_transforms.launch
@ogunasekara ogunasekara added the enhancement New feature or request label Aug 25, 2020
@ogunasekara ogunasekara self-assigned this Aug 25, 2020
@ogunasekara
Copy link
Collaborator Author

ogunasekara commented Aug 25, 2020

All work on this issue will be done on branch issues/7.

@ogunasekara
Copy link
Collaborator Author

@Woz4tetra I've pushed an initial version of this node to the issues/7 branch, but I'd like some help in implementing the send_move_cmd and send_grab_cmd functions, which interface with the serial node.

@ogunasekara
Copy link
Collaborator Author

Linking to branch demo/pick_and_place

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant