## page was renamed from turtlebot_teleop/Tutorials/Teleoperation
## page was renamed from turtlebot_navigation/Tutorials/Teleoperation
## page was renamed from turtlebot/Tutorials/Teleoperation
## 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:" just add the links
## note.0= [[turtlebot_bringup/Tutorials/TurtleBot Bringup|TurtleBot Bringup]]
## descriptive title for the tutorial
## title = TurtleBot Teleoperation
## multi-line description to be displayed in search
## description = How to teleoperate your !TurtleBot with a keyboard, joystick, or rviz.
## the next tutorial description (optional)
## next =
## links to next tutorial (optional)
## next.0.link= [[turtlebot_calibration/Tutorials/Calibrate Odometry and Gyro|TurtleBot Odometry and Gyro Calibration]]
## what level user is this tutorial for
## level= BeginnerCategory
## keywords =
## TurtleBotGettingStartedCategory
####################################
<<IncludeCSTemplate(TutorialCSHeaderTemplate)>>

## <<TableOfContents(4)>>

This assumes that you have a !TurtleBot which has already been brought up in this tutorial.  See [[turtlebot_bringup/Tutorials/TurtleBot Bringup|TurtleBot Bringup]] if you have not brought up the !TurtleBot.

'''<<SeeSaw("+keyboard -joystick -rviz", "Show Keyboard Instructions")>>{{{   }}}''' '''<<SeeSaw("+joystick -keyboard -rviz", "Show Joystick Instructions")>>{{{   }}}'''
'''<<SeeSaw("+rviz -joystick -keyboard", "Show Interactive Marker Instructions")>>{{{   }}}'''

{{{{#!wiki seesaw joystick

== Joystick ==

Several joystick configurations are supported - currently playstation3, xbox360 and logitech's rumblepad2. These example nodes are simple and depending on your joystick you may just need to remap the keys.   <<SeeSaw("other_tutorials", "Show other Joystick Tutorials")>>{{{  }}}

{{{#!wiki seesaw other_tutorials
<<FullSearchWithDescriptionsCS(title:"Tutorials/" BeginnerCategory JoystickDriverCategory)>>
}}}


=== On the TurtleBot ===

Now ssh <<SeeSaw(section="sshhelp1",toshow="(ssh help)")>> into the !TurtleBot and start the joystick and teleop nodes

 {{{#!wiki seesaw sshhelp1
<<Include(turtlebot/help/ssh)>><<BR>>
}}} 

{{{
# Playstation 3
> roslaunch turtlebot_teleop ps3_teleop.launch
# Xbox360 (use the left stick while keeping the right stick pressed in)
> roslaunch turtlebot_teleop xbox360_teleop.launch
# Logitech Rumblepad 2 (use the D pad while holding the left trigger button (5))
> roslaunch turtlebot_teleop rumblepad2_teleop.launch
}}}

Note: releases prior to groovy had only an example rumblepad2 launcher under the name of joystick_teleop.launch.

}}}}

{{{{#!wiki seesaw show keyboard
== Keyboard Teleop ==
=== On the TurtleBot ===
Now ssh <<SeeSaw(section="sshhelp2",toshow="(ssh help)")>> into the turtlebot and start the keyboard teleop nodes

 {{{#!wiki seesaw sshhelp2
<<Include(turtlebot/help/ssh)>><<BR>>
}}} 

{{{
roslaunch turtlebot_teleop keyboard_teleop.launch
}}}
Key presses in this terminal can now be used to control the robot.

Note: If a new command has not been recieved recently enough the robot will stop.  Depending on the keyboard repeated key press speed, holding a button down may be jerky because of this.  If this is the case you can either increase the key repeat speed or the timeout.
}}}}

{{{{#!wiki seesaw rviz
== Rviz Teleop (Interactive Markers) ==
<<Include(turtlebot_interactive_markers/Tutorials/UsingTurtlebotInteractiveMarkers, , from="##START", to="##END")>>
}}}}


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