Omnidirectional Drive Systems Kinematics and Control

Similar documents
Omni-Directional Drive and Mecanum: Team 1675 Style. Jon Anderson FRC Mentor

A Simple Introduction to Omni Roller Robots (3rd April 2015)

Three Omni Directional Wheels Control On A Mobile Robot

FIRST Robotics Optimized Drive Train System

Holonomic Omni-Directional Vehicle with New Omni-Wheel Mechanism

Mobile Robot Kinematics

Robotics (Kinematics) Winter 1393 Bonab University

Lab 4 Projectile Motion

Motion Control (wheeled robots)

Vector Addition. Qty Item Part Number 1 Force Table ME-9447B 1 Mass and Hanger Set ME Carpenter s level 1 String

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Mobile Robots Locomotion

Driving Mecanum Wheels Omnidirectional Robots

EV3 Programming Workshop for FLL Coaches

MATH 1112 Trigonometry Final Exam Review

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

1.Introduction. Masayoshi Wada ami Shunji Mori. Abstract /96 $ IEEE

Non Linear Control of Four Wheel Omnidirectional Mobile Robot: Modeling, Simulation and Real-Time Implementation

Math Section 4.2 Radians, Arc Length, and Area of a Sector

Autodesk's VEX Robotics Curriculum. Unit 12: Object Manipulation

Position and Displacement Analysis

Theory of Robotics and Mechatronics

Kinematics of Wheeled Robots

SPARTAN ROBOTICS FRC 971

Omni-Directional Mobility Using Active Split Offset Castors

Cinematica dei Robot Mobili su Ruote. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Separate Text Across Cells The Convert Text to Columns Wizard can help you to divide the text into columns separated with specific symbols.

Encoder applications. I Most common use case: Combination with motors

WEEKS 1-2 MECHANISMS

Positional Motion Profiling for FRC

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Section 4.1 Angles and Radian Measure. Ever Feel Like You re Just Going in Circles?

1 in = 25.4 mm 1 m = ft g = 9.81 m/s 2

Manipulation and Fluid Power. October 07, 2008

Lecture 1 Wheeled Mobile Robots (WMRs)

Getting your robot to drive with the RobotDrive

How do you roll? Fig. 1 - Capstone screen showing graph areas and menus

Physics 101, Lab 1: LINEAR KINEMATICS PREDICTION SHEET

240AR059 - Geometric Fundamentals for Robot Design

What Is a Program? Pre-Quiz

Functions and Transformations

Imagine a car is traveling along the highway and you look down at the placements situation from high above: highway curve (static)

CS184: Using Quaternions to Represent Rotation

Scratch & Cartesian Coordinates Background/ stage

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Animations in Creo 3.0

Motion Detector. Lab Pro. Fig Lab Pro Interface. Motion Detector. Power Supply Basketball Ramp and Block Cart

Torque Distribution and Slip Minimization in an Omnidirectional Mobile Base

Development of a Mechanical Creative Combination Based on 3D Printing

Name Period. (b) Now measure the distances from each student to the starting point. Write those 3 distances here. (diagonal part) R measured =

Coil Winding Machine. User s Manual MODEL : KWA1001. Kwang Won Co., Ltd - 1 -

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY. 4 th Nine Weeks,

Kinematics of Machines. Brown Hills College of Engineering & Technology

9. Representing constraint

What is a Manipulator? 2007 RoboJackets TE Sessions 10/16/2007. Keys to Understanding Manipulators TE Sessions Manipulators 10/16/07

Studuino Block Programming Environment Guide

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

Development of a Spatial Track Module in SIMPACK and Application to a Simple Roller Coaster Example

Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1

Did you say transformations or transformers?

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

MECHENG 706 AUTONOMOUS SLAM ROBOT. Group 15 Sam Daysh Craig Horide Karan Purohit Luke Jennings Alex Pereyaslavets

SPH3U1 Lesson 09 Kinematics

FAGOR AUTOMATION MC TRAINING MANUAL

Grade 6 Math Circles. Shapeshifting

2.1 Introduction. 2.2 Degree of Freedom DOF of a rigid body

Using Algebraic Geometry to Study the Motions of a Robotic Arm

3.6: First Person Computer Games

Speedway. Motion Study. on the Standard toolbar and click Add-Ins. at the lower

Part A: Monitoring the Rotational Sensors of the Motor

Geogebra Introductory Activity

Shape & Space Part C: Transformations

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

Keypad Lay-out. Copyright 2008 Optimal Engineering Systems, Inc

Partitioning Contact State Space Using the Theory of Polyhedral Convex Cones George V Paul and Katsushi Ikeuchi

Lecture VI: Constraints and Controllers

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Math 2250 Lab #3: Landing on Target

Odometry and Calibration Methods for Multi-Castor Vehicles

CCNY Math Review Chapters 5 and 6: Trigonometric functions and graphs

SolidWorks Motion Study Tutorial

VEX Robot Remote Control Set-Up

Sphero Lightning Lab Cheat Sheet

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis

Y36MVR Second Life inclined plane

Digging deeper using GeoGebra: An exploration of quadratics and more.

Math 2250 Lab #3: Landing on Target

4. Use of complex numbers in deriving a solution to an LTI ODE with sinusoidal signal, and getting from such an expression to amplitude and phase lag

Pick and Place Robot Simulation

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam

Vector Decomposition

The Inverse Jacobian Control Method Applied to a Four Degree of Freedom Confined Space Robot

Forward kinematics and Denavit Hartenburg convention

Vector Addition and Subtraction: Analytical Methods

Spatial R-C-C-R Mechanism for a Single DOF Gripper

Centre for Autonomous Systems

Junior Circle Meeting 9 Commutativity and Inverses. May 30, We are going to examine different ways to transform the square below:

Development of a Holonomic Mobile Robot for Mobile Manipulation Tasks

Transcription:

Omnidirectional Drive Systems Kinematics and Control Presented by: Andy Baker President, AndyMark, Inc., FRC 45 Ian Mackenzie Master s Student, Univ. of Waterloo, FRC 1114 2008 FIRST Robotics Conference

Who? Andy Baker FRC mentor since 1998 (FRC 45, TechnoKats) Designer of gearboxes, wheels, etc. Started AndyMark in 2004 Inspector, referee, 2003 WFA winner Ian Mackenzie FRC student: 1998-2002 (FRC 188, Woburn) FRC mentor since 2004 (FRC 1114, Simbotics) Waterloo Regional planning committee 2008 Waterloo Regional WFFA winner 2008 FIRST Robotics Conference

Outline Drive intro Drive types Kinematics Examples 2008 FIRST Robotics Conference

Drive Types Tank drive: 2 degrees of freedom Omni-directional drive: 3 degrees of freedom 2008 FIRST Robotics Conference

Omni-directional Drive History 1998: crab steering, FRC team 47 1998: Omni wheels, FRC team 67, 45 2002: 3-wheel Killough drive, FRC team 857 2003: Ball Drive, FRC team 45 2005: Mecanum-style Jester Drive, FRC team 357 2005: AndyMark, Inc. sells Trick Wheels 2007: AndyMark, Inc. sells Mecanum wheels 2008 FIRST Robotics Conference

Strategy Primarily offensive robots Not good at pushing Good at avoiding defense Confined spaces on the field Raising the Bar in 2004 Analogous to industrial applications Inspirational and innovative

Omni-directional Drive Types Swerve (or Crab) Drive Killough Drive, using omni-wheels Mecanum Drive Ball Drive 2008 FIRST Robotics Conference

Swerve drive, team 1114, 2004

Swerve drive, team 47, 2000

Swerve Drive High-traction wheels Each wheel rotates to steer + No friction losses in wheel-floor interface + Ability to push or hold position is high + Simple wheels - Complex system to control and program - Mechanical and control issues - Difficult to drive - Wheel turning delay 2008 FIRST Robotics Conference

Swerve drive pictures 2008 FIRST Robotics Conference

Killough drive, team 857, 2003

Holonomic Stephen Killough, 1994 + Simple Mechanics + Immediate Turning + Simple Control 4 wheel independent - No brake - Minimal pushing power - Jittery ride, unless using dualies - Incline difficulty

857 Kiwi Drive

AndyMark X-drive

Omni wheels

Mecanum drive + Simple mechanisms + Immediate turn + Simple control 4 wheel independent - Minimal brake - OK pushing power - Needs a suspension - Difficulty on inclines

Mecanum wheels

Mecanum wheel chair, team 357

Mecanum drive system, team 488

Kinematics Mathematics describing motion Solid grasp of theory makes control much easier Great example of how real university-level theory can be applied to FIRST robots Three-step process: Define overall robot motion Usually by translation velocity, rotational velocity Calculate velocity at each wheel Calculate actual wheel speed (and possibly wheel orientation) from each wheel s velocity

Overall Robot Motion Break robot motion down into (translational velocity of the center of the robot) and (rotational velocity) and express as scalar components is forward-back motion (positive forward) is sideways motion (positive to the right) is angular speed (positive counter-clockwise)

Overall Robot Motion Examples Drive forward: Spin in place counterclockwise: Drive forward while turning to the right: Circle strafe to the right:

Defining Robot Motion How to get,,? A few ideas Joystick + knob: Y and X axes of joystick give and, knob twist gives Direct but not very intuitive to use Two joysticks, crab priority: Y and X axes of first joystick give and, -X axis of second joystick gives Normally drive in crab mode, moving second joystick adds rotation motion (like playing a first-person computer game with arrow keys and a mouse) Two joysticks, tank priority: Y and X axes of first joystick give and, X axis of second joystick gives Normally drive in tank mode, moving second joystick adds sideways motion ( strafing or dekeing )

Velocity at a Point Common to all types of omnidirectional drive Given (translational velocity of the center of the robot) and, determine the velocity of some other point on the robot (e.g., the velocity at a particular wheel) Once the velocity at a wheel is known, we can calculate the speed at which to turn that wheel (and possibly the orientation of that wheel)

Velocity at a Point is a vector giving the position of a point on the robot (e.g., the position of a wheel) relative to the center of the robot Vector approach: Scalar approach:

Velocities of Multiple Points In general, each wheel will have a unique speed and direction Full swerve drive would require at least 8 motors; has been done once (Chief Delphi in 2001) Swerve drive usually done with 2 swerve modules along with casters or holonomic wheels

Swerve Drive Resolve velocity at each wheel into magnitude (wheel speed) and angle (steering angle) Note that is a translational speed (e.g., ft/s) and will have to be transformed into a rotational speed (e.g., wheel RPM) Be careful with angle quadrants!

Holonomic Drive Resolve velocity into parallel and perpendicular components; magnitude of parallel component is wheel speed is a unit vector in the direction of the wheel (whichever direction is assumed to be forwards)

Mecanum Drive Similar to holonomic drive Conceptually: Resolve velocity into components parallel to wheel and parallel to roller Not easy to calculate directly (directions are not perpendicular), so do it in two steps

Resolve to Roller Resolve velocity into components parallel and perpendicular to roller axis is not the same for each wheel; pick direction parallel to roller axis, in forwards direction Perpendicular component can be discarded

Resolve to Wheel Use component parallel to roller axis and resolve it into components parallel to wheel and parallel to roller The component parallel to the wheel is In this case, the angle is known, so we can calculate directly:

Mecanum Drive Example Using wheel 3 as an example:

Mecanum Drive Example Similarly, Note that all speeds are linear functions of the inputs (i.e., no trigonometry or square roots necessary)

Hybrid Swerve/Holonomic Drive

Hybrid Swerve/Holonomic Drive Swerve module 1:

Hybrid Swerve/Holonomic Drive Swerve module 2:

Hybrid Swerve/Holonomic Drive Holonomic wheel:

Scaling Issues Speed calculations may result in greater-thanmaximum speeds Possible to limit inputs so this never happens, but this overly restricts some directions Better to adjust speeds on the fly

Scaling Algorithm Calculate wheel speeds for each wheel Find maximum wheel speed If this is greater than the maximum possible wheel speed, calculate the scaling factor necessary to reduce it to the maximum possible wheel speed Scale all wheel speeds by this factor

Questions? andyb@andymark.biz ian.e.mackenzie@gmail.com