logging in or signing up OmniVolksBot2 bruce Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 325 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 07, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 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 SiegOverview: 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 UnitAn example of RoboCup: An example of RoboCupThe 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 DesignOriginal VolksBot Structure: Original VolksBot Structure Base Frame Battery Box Motor Controller TMC 200 Motor Block Camera Tower Control LaptopDesign 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 pumpNew ComponentsDesign 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 mountNew ComponentsDesign 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 ComponentsAssembly of Final Design: New Components Assembly of Final DesignNew ComponentsFinal 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. triangleWrap 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: ControlOverview 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 ControlPhysics: 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 ControlKinematics: 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 ControlModule 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 ModuleModule 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: BehaviourIntroduction 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 ReadingsSimple 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 ShotImplementation using Dual Dynamics Designer: Simple Goal Shot Implementation using Dual Dynamics Designer Higher Level Behaviour Elementary Behaviours Outputs to Motor Control Module Global VariablesSimple Goal ShotImplementation 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 ShotImplementation of the Behaviour Module in IConnect: Simple Goal Shot Implementation of the Behaviour Module in IConnectSimple Goal ShotTest Run: Simple Goal Shot Test RunSummary: 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 PCMany 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, RoboCupThank You!: Thank You! You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
OmniVolksBot2 bruce Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 325 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 07, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 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 SiegOverview: 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 UnitAn example of RoboCup: An example of RoboCupThe 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 DesignOriginal VolksBot Structure: Original VolksBot Structure Base Frame Battery Box Motor Controller TMC 200 Motor Block Camera Tower Control LaptopDesign 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 pumpNew ComponentsDesign 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 mountNew ComponentsDesign 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 ComponentsAssembly of Final Design: New Components Assembly of Final DesignNew ComponentsFinal 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. triangleWrap 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: ControlOverview 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 ControlPhysics: 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 ControlKinematics: 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 ControlModule 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 ModuleModule 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: BehaviourIntroduction 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 ReadingsSimple 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 ShotImplementation using Dual Dynamics Designer: Simple Goal Shot Implementation using Dual Dynamics Designer Higher Level Behaviour Elementary Behaviours Outputs to Motor Control Module Global VariablesSimple Goal ShotImplementation 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 ShotImplementation of the Behaviour Module in IConnect: Simple Goal Shot Implementation of the Behaviour Module in IConnectSimple Goal ShotTest Run: Simple Goal Shot Test RunSummary: 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 PCMany 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, RoboCupThank You!: Thank You!