Download presentation
Presentation is loading. Please wait.
Published byVincent Atkins Modified over 9 years ago
1
BALLBOT PROTOTYPE DESIGN REVIEW Brian Kosoris Jeroen Waning Bahati Gitego Yuriy Psarev MTRE 440010/11/2011
2
System Overview Mechanical Structure Base Vertical structure Landing gear Electronics Sensors Actuators/motors MCU CPU Control System State-space variable model MatLab/Simulink model Synthesis of 3D motion
3
Mechanical Design (CAD) Base Critical mechanism Mechanical function impacts success Aluminum vs. steel? Feasibility Cost Workability Aesthetics Strength/rigidity vs. weight Two perpendicular pairs of motors (@ 45’s) Built in damper for vertical disturbances
4
Wheel Base Design Concept –Four compound wheels perpendicular to each axis –Each wheel oriented 45 Degrees –Metal chassis –Motors mounted and coupled to the wheels Design and Material Requirements –Robust –Load Bearing, material cannot deform under any circumstance –Fairly practical and inexpensive to fabricate –Effectively transfer load from wheels to chassis –Minimal vibrations –Lightweight
5
Materials Specifications Fasteners –Aluminum Alloy ¼” D, 3/8” L, Dome head, Mil-spec Rivets Structural 6061 T6 Aluminum –Available Locally –Very strong for its weight –Easy to work with and machinable –Available in beams, channels, angles, square and rectangular beams, pipes, etc –ultimate tensile strength of at least 42,000 psi (290 MPa) –yield strength of at least 35,000 psi (241 MPa)
6
Wheel Base (CAD Model)
7
Base Assembly (CAD Model) Bottom View Top View
8
Structural Design Vertical structure Simple aluminum frame Multiple modular-plateau design Houses main CPU, IMU board, power supply, etc. Modular/adjustable for optimization Facilitates testing phase Adjustable center of mass Serves as a three-dimensional inverted pendulum Bolt-able design for quick adjustments
9
Structural Design Design Concept –2ft tall –Structural tier system with 5 levels –Each level will be octagonal shaped sheet metal –Metal chassis Design Requirements –Robust –Load Bearing –Fairly Practical and inexpensive to fabricate –Modular and Accessible For ease of adding, removing and modifying components –Very accessible –Lightweight
10
Structural Design Materials.125” 6061 T-6 Aluminum Sheet metal 1.5”x 1” x.125” Aluminum Channel 2”x2” Angle Aluminum Specifications –9”x9”x24” tall Minimum success criteria Balance structure on ball Wheel base goes here
11
Fabrication Progress ** NOTE: Only a sample of what has been done
12
Extraneous Concept Design (CAD Model) Landing gear Supplemental ‘fail-safe’ design Protects investment Backup if minimum success criteria is not met i.e. BallBot topples over Simple & effective Worm-screw actuator design Encapsulates ball when BallBot is balanced
13
Electrical Components New components Micro ITX gigabyte board High-level CPU to run MatLab Processes integer data from IMU board Runs control algorithm to digest sensor data Provides output to motor controllers 100% onboard control for self-sufficiency A321 batteries x 30 for onboard power supply Provides 12-16.5V (3-5A) to motors Provides 5V for digital logic (IMU board and CPU)
14
Micro ITX onboard Computer 1.6GHz CPU 4GB DDR3 Windows 7 MatLab 2010 Rotational matrix manipulation State-space matrix processing
15
IMU Board Arduino ATmega2560 Microcontroller/microprocessor ADXL345 Accelerometer Three-axis acceleration measurement unit IDG500 Gyroscope Two-axis angular velocity measurement unit Provides real-time feedback of inertial orientation/rotation in 3D space
16
IMU Board
17
Sensor Data Processing IMU data will be relayed to onboard computer MatLab will process complex state-space equations and rotational matrices Control system theory is used to model the system for analysis of stability Robotics synthesis Rotational matrices synthesize the robots orientation and angular velocity MatLab will process the matrices to provide feedback to the Arduino which sends signals to the motor controllers
18
Electronics Overview
19
Mathematical Modeling To model the inverted spherical pendulum we will first have to simplify and linearize the BallBot model The angle of the body makes with the vertical axis relatively close to zero. With this assumption, the inverted spherical pendulum can be decoupled into two identical inverted pendulum measurable in the XZ and YZ plane
20
Mathematical Modeling
22
Deriving the Position and Velocity Equation of the Spherical Inverted pendulum
23
Kinetic Energy And Potential Energy of the System
24
Deriving the force Equation
25
Relationship between the Force and DC motor
26
Linearization of The Force Equation
27
Expression of Mathematical Equation in State Space
28
Controller Simulation State-space modeling x’ = Ax + Bu; y = Cx + Du MatLab A = 0 0 1.0000 0 0 0 0 1.0000 0 -198.9738 -0.0567 0.0567 0 42.8060 0.0092 -0.0092 B = 0001 C = 100 0 D = 0
29
State-space model (cont.) controllability_matrix = 0 0.61661 -0.040635 19.844 0 -0.099717 0.0065714 -4.2689 0.61661 -0.040635 19.844 -2.6754 -0.099717 0.0065714 -4.2689 0.5025 Controllable_Rank_is = 4 observability_matrix = 1 0 0 0 0 0 1 0 0 -198.97 -0.056727 0.056727 0 13.715 0.0037383 -198.98
30
State-space model (cont.) Observable_Rank_is = 4 Poles = 0 -6.5686 6.5168 -0.014085 Kd = -36.621 -1698.7 -40.986 -423.26 pole_placement = -14 -5 -240 -180 L = 438.93 -4372.5 51264 -26241 K_f = -0.14086 -886.74 -1.4844 -141.81 K_i = -0.0071253
31
State-space model (cont.) K_LQR = -0.14086 -886.74 -1.4844 -141.81 -0.0071253 new_A_by_K_gain = 0 0 1 0 0 0 0 0 1 0 0.086857 347.8 0.85855 87.502 0.0043935 -0.014046 -45.618 -0.13884 -14.151 -0.00071051 1 0 0 0 0
32
Controller Overview State-space subsystem block diagram
33
Controller Simulation Subsystem Block-diagram representation of inside subsystem
34
Robot Motion Synthesis BallBot’s orientation/angular motion can be represented with rotational matrices Euler angles indicate roll, pitch, and yaw of the BallBot due to disturbances (gravity, wind, push) Simplifies balancing/stability algorithm
35
Robot Motion Synthesis Frame 0 = 0 0 X 0 Y 0 Z 0 Frame 1 = 0 1 X 1 Y 1 Z 1 Position vector 0 = 3x1 matrix = [0 0 1] T Position vector 1 = [ ] = 3x1 matrix The angular velocities ω ψ, ω ϕ, ω θ represent the data provided by the IMU board and are integrated to find position
36
Robot Motion Synthesis The rotational matrix is very complex in terms of possible orientation synthesis The axes of frame 0 and frame 1 are compared with the dot product of the components of position vector 0 and position vector 1
37
Robot Motion Synthesis All possible orientations: C 1 = Cos(ψ), C 2 = Cos( ϕ ), C 3 = Cos(θ) S 1 = Sin(ψ), S 2 = Sin( ϕ ), S 3 = Sin(θ)
38
Design Requirements – Major milestones In this phase of the design: The mechanical structure must be completed by October 20 th, 2011 Electronics can then be integrated into assembly (October 27 th ) Arduino and MatLab communication algorithm (November 2 nd ) Begin preliminary testing (October 27 th – November 10 th ) Finalize complete algorithm (November 16 th ) Optimization, aesthetics, minor revisions (November 27 th )
39
Gantt Chart
40
Trade Study – IMU Board
41
Trade Study – Accelerometer Filter ADXL345 Capacitor bandwidth filter – band-limiting filter Noise reduction – (dispose of anomalous data) Anti-aliasing – (prevent data loss due to resolution change) X & Y max bandwidth – 1650Hz Z bandwidth – 550Hz Minimum capacitance = 0.0047μF
42
Trade Study – Accelerometer Filter Bandwidth filter - capacitor selection Capacitance decides bandwidth Bandwidth indicates data resolution Table 1 – Bandwidth vs. Capacitance Cx, Cy, Cz pins on ADXL345 Low-pass filtering Noise reduction 3-dB bandwidth equation F−3 dB = 1/(2π(32 kΩ) × C(X, Y, Z))
43
Trade Study – Accelerometer Filter F−3 dB = 1/(2π(32 kΩ) × C(X, Y, Z)) Approximates to F–3 dB = 5 μF/C(X, Y, Z) 1650 Hz = 5 μF/0.00303 μF Cx = Cy = 0.00303 μF 550 Hz = 5 μF/0.0091μF Cz = 0.0091 μF These capacitor values will provide the highest data resolution for 1650 readings per second for X and Y acceleration Detect smallest possible acceleration in planar motion 550 readings for Z acceleration The Z axis will thus represent the vertical axis of the BallBot from the center of the ball to the top of the BallBot Then Z-axis data does not require high resolution
44
Trade Study – Accelerometer Filter Rms noise = Noise Density x sqrt(BW) Noise is thus a factor of bandwidth Table 2 – Noise Density
45
Trade Study – Accelerometer Operating Voltage The ADXL345 output is ratio-metric The output sensitivity (or scale factor) varies proportionally to the supply voltage. VS = 3.6 V - output sensitivity = 360 mV/g VS = 2 V - output sensitivity =195 mV/g. Arduino’s 3v3 pin supplies 3.3V Sensitivity thus approximates to 320 mV/g to 340 mV/g (or 330 mV/g average) Sensitivity estimated to be adequate for BallBot Arduino’s built-in serial monitor read consistent data Only real-time testing will confirm ADXL345 can absorb up to 10,000g of force without being damaged – Hopefully not a concern!
46
Trade Study – Accelerometer Operating Voltage X-Y-Z sensitivity (voltage/gravity) Data Sheet
47
Extraneous Facilities/Resources Jeroen’s family workshop Industrial bandsaw Computerized lathe Machine wheel shafts Complex Critical
48
Extraneous Facilities/Resources Jeroen’s family workshop Drillmills 20 ton press Pneumatic tools Workbench, vice, small tools, bits, materials, etc. (not seen)
49
Expenses – Bill of Materials
50
References Arduino – microcontroller (libraries/tutorials) www.arduino.cc SparkFun – sensors/electronics (datasheets) www.sparkfun.com MatLab resource (control system toolbox, etc.) http://www.mathworks.com/matlabcentral/fileexchange/ 23931http://www.mathworks.com/matlabcentral/fileexchange/ 23931 SolidWorks helpfile http://help.solidworks.com/2012/English/SolidWorks/sld works/r_welcome_sw_online_help.htmhttp://help.solidworks.com/2012/English/SolidWorks/sld works/r_welcome_sw_online_help.htm Robot Modeling and Control (textbook) Control Systems Engineering (textbook)
51
Questions? Comments? Criticism? Notes: Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.