Omni-directional Robot

Slides:



Advertisements
Similar presentations
Structures and Mechanisms.
Advertisements

Gears.
LECTURE 26- MASS MOMENT OF INERTIA OF PULLEY SYSTEMS
Course Name : DESIGN OF MACHINE ELEMENTS
Servos The material presented is taken from a variety of sources including:
J.M. Gabrielse VEX Drive Trains. J.M. Gabrielse Drive Trains Vocabulary Skid Steering (Tank Drive) Swerve Drive Holonomic (Omni) Drive Mecanum Drive.
SUMMER INSTITUTE - ROBOTICS THE OHIO STATE UNIVERSITY Drivetrains.
Living with the Lab Using servos with an Arduino EAS 199A Fall 2011.
Right Face Introductory Presentation. Opening Activity How can you use this to make a right turn program? This is your program from Full Speed Ahead to.
1 Servo Motor. 2 Overview A servo motor is a motor that is only capable of rotating 180 degrees A servo motor is controlled by giving it an angle to proceed.
VEX Drive Systems Presented by Chani Martin Lauren Froschauer Michelle Presented by Chani Martin Lauren Froschauer Michelle.
Transfer of energy is accomplished through three basic means: The gear, the belt, and the chain. Statics deals with forces and their effect on a body at.
In this presentation you will:
Compound Gears Unit 6.
Sci 701 Unit 6 As learned in Unit 5: Speed, Power, Torque, and DC Motors, a motor can generate a set amount of power. Introduction to Gears Since there.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Southern Taiwan University of Science and Technology
Mathematics for IT Lecture 4 trigonometric. TRIG REVIEW Trig Function Evaluation : How to use the unit circle to find the value of trig functions at some.
Gears, Chains and Sprockets Unit 6. Introduction Motors can only create a set amount of power. Motors can only create a set amount of power. There is.
Using Hobby Servos with the Arduino living with the lab © 2012 David Hall.
Lecture me-351 Machine tools and Machining. Statics and dynamics of shaper planner and sloter All of the three machines when in rest or in work are statically.
Servos The material presented is taken from a variety of sources including:
 Let’s demonstrate this process by working on an example problem.
VEX Drive Trains.
Gears A gear is a wheel with teeth.
2/25-26 Obj: I can apply concepts of physics – energy, work, and efficiency--- to describe motion. What you should have in the ENB: Write down the first.
Mechanical Work. Work Force or force-like quantity enabling something to move (change speed, direction or both) – Mechanical – force or torque makes objects.
Gaits Cost of Transportation Wheeled Mobile Robots Most popular locomotion mechanism Highly efficient Simple mechanical implementation Balancing is.
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
How do you start the rotation of an object? How do you open an door? What did we learn about the best way to open a door? The most efficient way to open.
Mechanisms Mechanisms PLTW Gateway
Controlling Servos with the Arduino
Mechanisms Mechanisms PLTW Gateway
Automatic Control Theory CSE 322
Feedback Control Systems (FCS)
Trigonometric Ratios and
Mechanisms Mechanisms Gateway To Technology®
PID Control Systems (Proportional, Integral, Derivative)
Using servos.
IPC (GROUP-5) SR. NO NAME EN. NO 1 SAVAN PADARIYA
Physics Section 7.4 Calculate the torque generated by a force.
Microprocessors Stepper Motor
Kinematics Introduction to Motion
VEX Drive Trains.
Mr P Mulholland AS Design and Technology St Joseph’s HS Crossmaglen
European Robotic LABoratory
Mechanisms Mechanisms Gateway To Technology®
Two-Gear Gear Trains Using different size gear allows change in speed
SArduino Training 2018 cho THPT Saigon Institute of Technology
SArduino Training 2018 cho THPT Saigon Institute of Technology
Pulse Width Modulation (PWM) Motor Feedback - Shaft Encoder
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Mechanisms PLTW Gateway Unit 2 – Lesson 2.2 – Mechanical Systems
Điều khiển LED và Động cơ DC
Structures and Mechanisms.
Mechanisms Automation and Robotics VEX
Pressure and Moments.
Simple Trig Equations Dr. Shildneck.
Structures and Mechanisms.
The Magnitude of a Torque
Repeating Behaviors.
Assist. Prof. Rassim Suliyev - SDU 2018
Angles and Their Measure
Solve and Graph 2x + 3 < 9 2x + 3 = x = x = 3
Mechanisms Automation and Robotics VEX
UNIT 11: RC-SERVOMOTOR CONTROL
Pressure and Moments.
Transformations Review
MECHANISMS Mechanisms Mechanisms Automation and Robotics VEX
Arduino程式範例.
Presentation transcript:

Omni-directional Robot SArduino Training 2018 cho THPT Saigon Institute of Technology Biên soạn: IT SaigonTech - 2018

Introduction to OMNI wheel Besides the ability to rotate perpendicularly to motor shaft (Hình 1a), it can rotate in the direction of motor shaft (Hình 1b). See wheel picture below: Hình 1a Hình 1b

Omni-directional Robot Robot does not have to care about the heading (Demonstrating video) Common build: (Video)

Type of Omni Robot Omni Robot: Typically Omni robot include 3 wheels or 4 wheels. Pros and cons of each design are dicussed below: Omni 3 wheels Omni 4 wheels - Pro: Better friction and balance on the flat surface. Cheaper because omni wheel is expensive. Simple calculation. Using the motor efficiently. - Cons: Motors not being used efficiently due to 120 degree arrangement. Complicated calculation. - Nhược: Expensive. Hard to ensure the balance

Dynamic demonstration for 3 wheels Omni Robot Dynamic equations Direction + We determine the wheel direction as below: -Positive if clockwise -Negative if counter-clockwise Robot will have 2 main movement: Linear V and rotate 𝜔. Because we want robot not to rotate -> 𝜔 = 0. Consider V includes: 𝑉 𝑥 và 𝑉 𝑦 . Mirror those 2 component on each wheel direction: V1 direction: V2 direction: V3 direction: Dynamic equation: Direction - 𝑉 1 = −𝑉 𝑥 cos 30° − 𝑉 𝑦 𝑠𝑖𝑛 30° (1) 𝑉 2 = 𝑉 𝑥 cos 30° − 𝑉 𝑦 𝑠𝑖𝑛 30° (2) 𝑉 3 = 𝑉 𝑦 (3) Dynamic demonstration for 3 wheels Omni Robot

Dynamic demonstration for 3 wheels Omni Robot Dynamic equations (cont) Replac value of sin(30°) và cos(30°) into (1), (2), (3) we have: 𝑉 1 = − 3 2 𝑉 𝑥 + − 1 2 𝑉 𝑦 𝑉 2 = 3 2 𝑉 𝑥 + − 1 2 𝑉 𝑦 …(4) 𝑉 3 = 𝑉 𝑦 Dynamic demonstration for 3 wheels Omni Robot

Dynamic equations (cont) Calculate the speed ratio: y + V 𝑉 𝑦 90 ° - Wheel Direction Robot angle direction 𝛼 Motor 1 𝑉 𝑥 O x + -We decide the positive angle will be anti-clockwise. 0 degree will be on Ox like picture above. (Note that this direction is different from the wheel rotate direction that is mentioned earlier) When robot moving in direction V (angle 𝛼) we have: 𝑉 𝑥 =cos(𝛼) . V 𝑉 𝑦 =sin⁡(𝛼) . V 180 ° 0 ° Motor 3 Motor 2 …(5) 270 °

Dynamic equations (cont) In order to calculate the Motors ratio, we ignore V in (5), we have the motors ratio for every specific angle: Example: 1-For robot to move 𝛼 = 90°. We need the motors ratios as following: 2-For robot to move 𝛼 =225°. We need the motors ratios as following: 𝑉 1 = − 3 2 𝑉 𝑥 + − 1 2 𝑉 𝑦 𝑉 1 =− 3 2 𝑐𝑜𝑠⁡(𝛼)− 1 2 𝑠𝑖𝑛(𝛼) 𝑉 2 = 3 2 𝑉 𝑥 + − 1 2 𝑉 𝑦 𝑉 2 = 3 2 𝑐𝑜𝑠⁡(𝛼)− 1 2 𝑠𝑖𝑛(𝛼) …(6) 𝑉 3 = 𝑉 𝑦 𝑉 3 =𝑠𝑖𝑛⁡(𝛼) 𝑉 𝑥 =𝑐𝑜𝑠(𝛼) ∗𝑁𝑜𝑡𝑒 𝛼 𝑖𝑛 𝑑𝑒𝑔𝑟𝑒𝑒 𝑉 𝑦 =𝑠𝑖𝑛⁡(𝛼) 𝑉 1 =−0.87𝑐𝑜𝑠⁡(90) −0.5𝑠𝑖𝑛(90) = -0.5 𝑉 2 =0.87𝑐𝑜𝑠⁡(90) −0.5𝑠𝑖𝑛(90) = -0.5 𝑉 3 =𝑠𝑖𝑛⁡(90) = 1 𝑉 1 =−0.87𝑐𝑜𝑠⁡(225) − 0.5𝑠𝑖𝑛(225) = 0.62 + 0.35 = 0.97 𝑉 2 =0.87𝑐𝑜𝑠(225) − 0.5𝑠𝑖𝑛(225) = − 0.62 + 0.35 = −0.27 𝑉 3 =𝑠𝑖𝑛⁡(225) = −0.70

Pascal uses STArduino, STTODRobot; const IN1=22; IN2=23; EN1=5; procedure setup; begin pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(EN1,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); pinMode(EN2,OUTPUT); pinMode(IN5,OUTPUT); pinMode(IN6,OUTPUT); pinMode(EN3,OUTPUT); {Khoi tao} todRobotInitialize(IN1, IN2, EN1, IN3, IN4, EN2, IN5, IN6, EN3); end;

Pascal procedure loop; begin {Let robot rotate clockwise, if not, need to adjust the wheel direction before using the library} todRobotRotate(true, 100); delay (1000); todRobotStop; {Move angle 60, PWM 100} todRobotMove(60, 100); delay(5000); {Move angle -60, PWM 100} todRobotMove(-60, 100); end; setup; loop; end.

C/C++ #include <STTODRobot.h> STTODRobot myOmni = STTODRobot(); int IN1 = 22; int IN2 = 23; int EN1 = 5; int IN3 = 24; int IN4 = 25; int EN2 = 6; int IN5 = 26; int IN6 = 27; int EN3 = 7; void setup() { //Initialize Omni myOmni.init(IN1, IN2, EN1, IN3, IN4, EN2, IN5, IN6, EN3); pinMode (IN1, OUTPUT); pinMode (IN2, OUTPUT); pinMode (IN3, OUTPUT); pinMode (IN4, OUTPUT); pinMode (IN5, OUTPUT); pinMode (IN6, OUTPUT); pinMode (EN1, OUTPUT); pinMode (EN2, OUTPUT); pinMode (EN3, OUTPUT); //Rotate Omni: true (clockwise), false (anti- clockwise) myOmni.rotate_omni(true, 200); delay (1000); myOmni.stop_omni(); } void loop() { //Move omni follow angle myOmni.move_omni(90, 200); Library: http://srobot.saigontech.edu.vn/wp-content/uploads/2017/11/STTODRobot.zip Note: angle from 0-360 degree only

Exercise: At 12V, Motor using 100% power: Write a program for robot to move as below, each direction in 2 second. Using 70% power of motors only. 180 ° 90 ° y 270 ° x O 0 °