advertisement

OmniVolksBot2

50 %
50 %
advertisement
Information about OmniVolksBot2
Education

Published on January 7, 2008

Author: bruce

Source: authorstream.com

advertisement

Modular Omni Directional Drive for a mobile robot platform: Structure, Control and Behaviour:  Modular Omni Directional Drive for a mobile robot platform: Structure, Control and Behaviour Presented by: Abheek Kumar Bose, Masters Student in Autonomous Systems, Fachhochschule Bonn Rhein Sieg Overview:  Overview Introduction to Omni Directional Drive Systems VolksBot: A component based mobile robot platform Mechanical Design Control Behaviour Control Running the Robot Summary Omni Directional Drives:  Omni Directional Drives Properties of Omni Drives: Ability to move in any direction at any given orientation Robot is able to rotate during linear travel Provides simpler solution for motion control Consists of 3 or more wheels Wheels are specially designed and are generally equipped with rollers Examples of Omni Wheel and Omni Directional Drive Unit An example of RoboCup:  An example of RoboCup The VolksBot (www.volksbot.de):  The VolksBot (www.volksbot.de) A Mobile robot platform built of standard components Consists of functional modules like OmniVision Tower and Motor Blocks Separate modules eg. Kicking Device, can be plugged onto the main structure Main Control is done by a standard Laptop Mechanical Design:  Mechanical Design Original VolksBot Structure:  Original VolksBot Structure Base Frame Battery Box Motor Controller TMC 200 Motor Block Camera Tower Control Laptop Design Considerations:  Design Considerations General Considerations: Drive Unit should be assembled with least changes to original structure Drive Unit should be rigid to withstand vibrations Original height of robot should remain the same Height changes demand a change for vision recalibration RoboCup Specific Considerations: Robocup size constraints to be met Robots should be a maximum of 50x50 cm and 80cm in height Space should be left for kicker unit to be assembled Kicker unit consists of the kicking mechanism and an air pump New Components Design Phase 1:  New Components Design Phase 1 Two modified standard beams used Wheels are symmetrical Rigid alignment of wheels Difficult to change wheel angles for optimization Special fixtures needed to mount frame on original structure Size limit is reached without kicker mount New Components Design Phase 2:  New Components Design Phase 2 Single modified standard beam used Wheels are symmetrical (equil. triangle) Rigid alignment of wheels Difficult to change wheel angles for optimization Special fixtures needed to mount frame on original structure Motor Blocks interfere with Battery Box New Components Assembly of Final Design:  New Components Assembly of Final Design New Components Final Design:  New Components Final Design No special frame unit Wheel angle depends on block geometry Wheels are adjustible maintaining symmetry No special fixtures required Can be plugged to other robots using VolksBot components Not as rigid as framed designs Wheels may not form equil. triangle Wrap Up :  Wrap Up Results: Modularity of the VolksBot is maintained – Drive unit can simply be plugged onto the main frame RoboCup size restrictions maintained considering space for the Kicker & Ball handlers Observations: Frame designs interfered with the cable channel attached to the main frame More torque is required to drive the system Vibrations are not completely removed Wheels tend to slip more than normal wheels hence inaccuracy in Odometry Control:  Control Overview of the TMC 200:  Overview of the TMC 200 General Overview Controls upto 3 DC Motors Operating Voltage: 14 to 30 V Maximum Output: 200 W per motor Microcontroller used: C164ci Motor Commands Motor Speed Input: -1024 to +1024 Send Velocity Command: "SV value1 value 2 value 3" Theory of Omni Drive Control Physics:  Theory of Omni Drive Control Physics Each of the 3 wheels contribute to the translational and rotational velocity When F0 = F1 = F2; Robot rotates on the center of rotation When F0 = 0; F1=-F2; Robot translates along Y axis When F1 = F2 = -1/2 F0; Robot translates along X axis Combination of F1,F2 and F3 determine velocity vector ‚v‘ and rotational speed ‚w‘ Theory of Omni Drive Control Kinematics:  Theory of Omni Drive Control Kinematics Forward Kinematics Obtaining the Robot Velocities from Wheel Velocities: {V1,V2,V3} → {Vel(y),Vel(x),Vel(Ф)} Inverse Kinematics Obtaining the Wheel velocities from desired Robot Velocities: {Vel(y),Vel(x),Vel(Ф)} → {V1,V2,V3} δ is the angle made by wheel axis to Y axis L1 & L2 are distances from wheel to center Inverse Kinematic Equations: V1 = -Sin(δ).Vel(x) + Cos(δ).Vel(y) + L1.Vel(Ф) V2 = -Sin(δ).Vel(x) - Cos(δ).Vel(y) + L1.Vel(Ф) V3 = Vel(x) + L2.Vel(Ф) Theory of Omni Drive Control Module Algorithm:  Theory of Omni Drive Control Module Algorithm Inverse Kinematics: V1 = -Sin(δ).Vel(x) + Cos(δ).Vel(y) + L1.Vel(Ф) V2 = -Sin(δ).Vel(x) - Cos(δ).Vel(y) + L1.Vel(Ф) V3 = Vel(x) + L2.Vel(Ф) Module Inputs: Velocity, Direction, Angular Velocity Module Outputs: Wheel Velocities V1, V2, V3 Vel(x) = Velocity * Sin(Direction); Vel(y) = Velocity * Cos(Direction) Calculate V1, V2 and V3 using Inverse Kinematics (δ = 60°) Normalize V1, V2, V3 to TMC Readable values Determine MAX = maximum of absolute values of V1,V2 and V3 If MAX > 1024 then Obtain Scaling Factor so that max(|V1|,|V2|,|V3|)* ScaleFactor = 1024 Set new Wheel Speeds = V(i)*ScaleFactor Omni Drive Control Module Module Implementation:  Omni Drive Control Module Module Implementation Robot is controlled by IConnect, a signal processing software developed by the software division of the company Micro Epsilon (www.micro-epsilon.de). The module has been developed using Visual C++ Behaviour:  Behaviour Introduction to Dual Dynamics:  Introduction to Dual Dynamics Mathematical model of Behaviour Control System Robots are modelled as dynamic systems Each behaviour has an activation function and a target function Activation functions determine which behaviour is active Target functions determine the effect of the behaviour on the robot Final outputs are according to weighted average (weights are the activation values of the behaviours) Higher Level Behaviours Elementary Behaviours Sensor Readings Simple Goal Shot:  Simple Goal Shot Requirements: Should get to the ball from any direction always facing the Opponent Goal Should start dribbling if the ball is reached Should kick if the Goal is near enough Should avoid going through the Goal Assumptions: Obstacles are absent, hence no obstacle avoidance Ball and Opponent Goal is always present RoboCup Specifications: Opponent Goal is Yellow Ball is Red/Orange Incoming Data to Behaviour: Goal Data – Distance and Angle to Opponent Goal Ball Data – Distance and Angle to Ball Simple Goal Shot Implementation using Dual Dynamics Designer:  Simple Goal Shot Implementation using Dual Dynamics Designer Higher Level Behaviour Elementary Behaviours Outputs to Motor Control Module Global Variables Simple Goal Shot Implementation using Dual Dynamics Designer:  Simple Goal Shot Implementation using Dual Dynamics Designer Higher Level Behaviour: Attack Activation: Always Active Target: Activates Elementary Behaviours Elementary Behaviours: GetBall, Dribble, Shoot Activation: Depends on Target Function of Attack Target: Imparts Velocity and Direction Elementary Behaviour: FaceDirection Activation: Always Active Target: Imparts AngularVelocity according to global variable FaceDirection which can change depending on the behaviours. Hence the robot always has a facing direction e.g. Facing Ball or Opponent Goal Activation Conditions GetBallTrue: Returns True when Ball is not reached or behind the robot. DribbleTrue: Returns True when Ball is safely within ball handlers and Robot is facing Goal ShootTrue: Returns True when Ball is safely within ball handlers and Robot is facing Goal and when Goal is at near (specified) distance Running the Robot!:  Running the Robot! Simple Goal Shot Implementation of the Behaviour Module in IConnect:  Simple Goal Shot Implementation of the Behaviour Module in IConnect Simple Goal Shot Test Run:  Simple Goal Shot Test Run Summary:  Summary Project aims to develop the hardware, control and a higher level software (behaviour) for an omni directional drive unit Hardware is developed conforming to the modular structure of the VolksBot Control Unit has been developed as a software module in IConnect, a signal processing software Behaviour Control has been implemented using Dual Dynamics for a Simple Goalshot Behaviour. The behaviour is also run as a module in IConnect Next Steps:  Next Steps Better Wheels True Ground Odometry Full Robocup Behaviour Implementation Gripper Module Polar Scanner Suspension Systems Embedded Control PC Many thanks to……:  Many thanks to…… Thomas Wisspeintner : Project Leader for project Volksbot and Supervisor Prof. Dr. Paul G Plöger : Professor-in-charge for AIS/BIT RoboCup Team Stefan Kubina : Team BE, Fraunhofer AIS Tijn Van der Zant Walter Nowak : Team leaders for AIS/BIT RoboCup Team Florian Adolf : Team Mate, RoboCup Thank You!:  Thank You!

Add a comment

Related presentations