## For instruction on writing tutorials
## http://www.ros.org/wiki/WritingTutorials
####################################
##FILL ME IN
####################################
## for a custom note with links:
## note =
## for the canned note of "This tutorial assumes that you have completed the previous tutorials:" [[opencupboard/Tutorials/Writing the Action Client]]
## note.0= [[opencupboard/Tutorials/Writing the Action Client|Writing the Action Client]]
## descriptive title for the tutorial
## title = Running the Action Client
## multi-line description to be displayed in search 
## description = Shows how to run opencupboard_action
## the next tutorial description (optional)
## next =
## links to next tutorial (optional)
## next.0.link=
## next.1.link=
## what level user is this tutorial for 
## level= BeginnerCategory
## keywords =
####################################

<<IncludeCSTemplate(TutorialCSHeaderTemplate)>>

<<TableOfContents(4)>>

== Setting the Parameters ==

There are several parameters detailing the specifics of the cabinet that you are trying to open which should be set. You can either do this by creating a YAML file or setting the parameters individually in the command line.

=== Creating a YAML ===

Navigate to the tutorial package you created in [[opencupboard/Tutorials/Writing the Action Client|Writing the Action Client]]
{{{
roscd opencupboard_tutorial
}}}

Within that package, create the yaml/cabinet.yaml file and paste the following inside it:
{{{
door_width: # {float}
which_arm: # {"right_arm","left_arm"}
handle_pos: # {"left","top","right","bot"}
adjust_head: # {[float,float,float]}
}}}

 * door_width: measures the width of the door from the hinges to the handle, in meters.
 * which_arm: indicates which arm you want to use to open the door
 * handle_pos: indicates where on the door the handle is 
 * adjust_head: gives an x,y,z coordinate for the head to look at so it can see the door, given that its in a position where its arm is able to open the door

Optional additional parameters include
{{{
max_x: # {float}
min_x: # {float}
max_y: # {float}
min_y: # {float}
max_z: # {float}
min_z: # {float}
handle_orientation: # {"horizontal","vertical"}
handle_z: # {float}
}}}

 * max_x, min_x, max_y, min_y, max_z, min_z: indicates an area where the handle is located, should not be too strict
 * handle_orientation: indicates whether the handle is vertical or horizontal relative to the floor
 * handle_z: indicates the approximate height of the handle relative to the floor

=== Using Command Line ===

Four params must be set: door_width, which_arm, handle_pos, adjust_head. You can set those on the command line

{{{
rosparam set parameter_name value
}}}

See [[rosparam|rosparam wiki]] for more details on rosparams


## AUTOGENERATED DO NOT DELETE 
## TutorialCategory
## FILL IN THE STACK TUTORIAL CATEGORY HERE