Day 1 - Intro WEP 1035
What is a Robot? Very broad term In General: Electro-mechancial system Guided by computer code or electronic circuit Control: Autonomous control Semi-autonomous control Remote control
Robotic Systems Types of Robots Industrial Robots Mobile Robots Humanoid Robots Autonomous Cars
Workshop Objectives Basics of Robot Design and Development: System Architecture Design Mechanical Design - SolidWorks Electronic Board (PCB) Design - Altium Embedded Programing – mbed microcontroller Mechanical Assembly Electronics Assembly and Wiring Testing, Debugging and Troubleshooting
Software Packages Altium Electronics Design Solidworks Mechanical Design Mbed Online Compiler Embedded Programming Docklight Serial and IP data sniffing and debugging Android Studio Android Software Development
WEP Robot Design a two-wheeled robot Camera for video streaming Inertial Measurement Unit (IMU) for angle measurement Wheel encoders for distance measurement Rechargeable Li-Poly battery Onboard Wi-Fi router Embedded microcontroller for control Controlled wirelessly from an Android phone or tablet
Timeline Day 1 – Intro + Begin Design Day 2 – Finalize Electronic and Mechanical Designs Day 3 – Fabrication Day 4 – Assembly Day 5 – Testing Science Fair - Competition
Martin Velazquez-Rizo Team Members Mechanical Designer Electronics Designer Embedded Programmer Team 1 Bingjie Chen Yang Liu Usman Amin Fiaz Muhammad Karimi Muxingzi Li Team 2 Aaron Sanchez Yanez Ren Li Martin Velazquez-Rizo Yazeed AlHarbi Jorge Rosas Team 3 Ditho Pulungan Ayman Karam Hassan Almutawa Yomna Al Ibrahim Hind Alamro Team 4 Mayadah Alhashem Abdullah Alshehri Carmen Barron Sarah Alghamdi Noureddine Toumi Team 5 Mireille Hantouche Khalil Moussi Po-Chun Chen Jean Lahoud Nura Aljaafari Team 6 Zhen Jian Abdullah Almansouri Shuai YANG Furrukh Sana Rana Al-Rabeh Team 7 TKS
Workshop Goals Purpose: Get a taste of working in an interdisciplinary robotics development team Tasks: Electrical: Design and fabricate the electronics board (PCB), wiring and soldering Mechanical: Finish mechanical design, fabricate some of the parts, assemble Programmer: Code the embedded microcontroller software All: Test and troubleshoot Goals: Remote control the robot from Android Prevent spinning in place Bonus: use encoder for autonomous pre-defined motions
Competition – Science Fair Stop 1m Tuesday 1PM Figure 8 Time Trial Manual Control Figure 8 Time Trial (Only Using Camera) Autonomous Driving Accuracy Drive a predetermined maneuver using encoders Dimensions shown 1m 1m 2m Start
Parts Available 2x DC motors Embedded microcontroller (mbed) Rechargeable Li-Po battery Wi-Fi router IMU (3-axis accelerometer & 3-axis gyro) Motor driver Wi-Fi camera (D-Link) Battery charger Power supply Mechanical components: 2x motor bracket 2x wheels 2x motor hubs Screws
Motors Brushed DC Motors Brushless DC Motors Servo Motors Stepper Cheap Simple to use 2 wires Med torque Med speed Med efficiency Speed app.: Wheels Driver Expensive Complex to use 3,6 wires High torque High speed High efficiency Speed app.: Quadrotors Speed controller Expensive Simple to use 3 wires Low torque Low speed Low efficiency Position app.: Pan & Tilt Without driver Expensive Complex to use 5-10 wires High torque Med speed Low efficiency Position app.: 3D printers Driver
Motor DC Motors 70:1 metal gearbox Quadrature Encoder 16 pulses per rev 64 counts per rev (16x4)
Electronics Board (PCB) IMU LED MBED Camera DC Conv 5V DC Conv Motor Driver Fuse
Embedded Microcontroller (mbed) mbed NXP LPC1768 40-pin DIP, 0.1-inch pitch (breadboard) Drag-and-drop programming ARM Cortex-M3 CPU: 100 MHz, 64 KB of SRAM, 512 KB of Flash Ethernet, USB OTG SPI, I2C, UART, CAN GPIO, PWM, ADC, DAC Easy-to-use online tools: Web-based C/C++ programming environment API-driven development using libraries with intuitive interfaces Comprehensive help and online community
Inertial Measurement Unit (IMU) IMU (Sparkfun - SEN 10121) ADXL345 accelerometer (3-axis accelerometer) Measures accelerations in x, y, z (m/s^2) ITG-3200 gyro (3 axis gyroscope) Measures angular velocity in x, y, z (rads/s) 3.3V input I2C interface (Refer to Altium Schematic) Used on the robot for measuring the tilt (pitch)
Pololu Dual MC33926 Motor Driver Brushed DC motor driver 2 Full H-Bridges 5-28 V 3A (5A peak) per motor PWM Pins: Motor 1: M1D2 Motor 2: M2D2 Directions Pins Motor 1: M1IN1, M1IN2 Motor 2: M2IN1, M2IN2
Neopixel LEDs Tiny, bright RGB pixels Daisy Chain Design Only 8mm x 10mm Need 1 pin/wire to control all the LEDs in the chain
System Architecture Diagram IMU Left Motor mbed Motor Driver Right Motor Android Device Router LEDs Camera 5V 5V 11.1V DC-DC Converter DC-DC Converter Battery