Download presentation
Presentation is loading. Please wait.
Published byBuck Thompson Modified over 9 years ago
1
Robotics Research Laboratory Louisiana State University
2
Lecture Time - 3:10 ~ 5:00 PM, Tuesday Class Room (Lecture & Lab) ◦ 168 Coates ( Microcomputer Lab ) Office hours ◦ Dr. Kundu: kundu@csc.lsu.edu 287 Coates Hall, 2:00 ~ 3:00 PM Tuesday ◦ JongHoon Kim : jkim24@lsu.edu 168C Coates Hall (RRL), 5:00 ~ 6:00 PM Tuesday Class Home Page ◦ http://www.csc.lsu.edu/~rrl/csc2700.html
3
Homework – 10% Mid-Term – 20% Individual Project – 30% Team Project – 40% A >= 85 B >= 70 C >= 60
4
How to program on Microcontroller How to handle digital input/output How to control actuators How to interact with sensors How to communicate with controllers, robots, pc How to design mobile robots Introduce the basic concept in Robotics
5
1. Introduction 2. Robot Controller (AVRC Basic) 3. Digital In/Out (Button, LED) 4. Pulse Width Modulation (PWM Control) 5. Motion Controller – DC Motor 6. Motion Controller - Servo Motor 7. Analog to Digital ( ADC basic ) 8. Sensor – IR Sensor, Sonar 9. Mobile Robot Design ( Mechanical, Electrical, and Programming ) 10. Laser Cutting 11. Robot assembling 12. Manual Controlling 13. Autonomous Robot
6
Line Follower Robot, SeaPerch
7
Robotic Explorations: A Hands-On Introduction to Engineering ◦ Fred G. Martin Robot Builder's Bonanza, 4th Edition ◦ Gordon McComb Embedded C Programming and the Atmel AVR ◦ Richard H. Barnett Robot Programming : A Practical Guide to Behavior-Based Robotics ◦ Joseph L. Jones
8
Robotics 1 (Wheel based robot) ◦ Map Generation ◦ Optimizing Path Robotics 2 (Leg-based robot) ◦ Motion Planning ◦ Balancing Advanced Robotics ( UAV, Humanoid) ◦ Image Processing ◦ Voice Recognition ◦ Precise localization ◦ Advanced motion controlling
10
There is no one definition of robot which satisfies everyone and many people have their own In general, robots tend to do some or all of the following: move around, operate a mechanical limb, sense and manipulate their environment, and exhibit intelligent behavior — especially behavior which mimics humans or other animals
11
For Mechanical Scientist For Electrical Scientist For Computer Scientist Mechanical machineMechanical machine which is guided by mechanical inputs Greece, 3rd century BC Electrical dishwasher Electro-mechanical machineElectro-mechanical machine which is guided by electronic inputs Electro-mechanical machineElectro-mechanical machine which is guided by computer and electronic programming
12
Fixed Mobile ◦ Ground Robot Wheel based Leg based ◦ Underground ◦ On Air ◦ On Water ◦ Underwater
13
AVR-Stamp AVR-Stamp Board AVR-Programmer Breadboard LED potential meter Buzzer Button AVR Stamp Slot Voltage Requlator Transceiver for MAX232
15
#include "Hardware.h" #include "Timer.h" void WaitForTimerRollover(void); int main(void) { InitHardware(); while (1){ WaitForTimerRollover(); TOGGLE_PIN(BUZZER); } void WaitForTimerRollover() { tick_t curTickCount = gTickCount; while (gTickCount == curTickCount) { } }
16
#include "Hardware.h" #include "Timer.h" void WaitForTimerRollover(void); int main(void) { InitHardware(); int lightFreqType = 0; while (1) { if (0 == lightFreqType) { WaitForTimerRollover(); WaitForTimerRollover(); WaitForTimerRollover(); lightFreqType = 1; } else if (1 == lightFreqType) { WaitForTimerRollover(); WaitForTimerRollover(); WaitForTimerRollover(); lightFreqType = 2; } else { WaitForTimerRollover();WaitForTimerRollover(); WaitForTimerRollover(); WaitForTimerRollover(); lightFreqType = 0; } TOGGLE_PIN(BUZZER); } void WaitForTimerRollover() { tick_t curTickCount = gTickCount; while (gTickCount == curTickCount) { } }
17
Make ◦ Build compiling environment with Makefile, Rules.mk, and avr-mem.sh ◦ Create required object files ◦ Compile the code to make a binary code (.hex) Sending the binary code with bootloader ◦ avrdude –c stk500v2 –p m128 –P /dev/ttyACM0 –e –F –U flash:w:light-control.hex
18
#include "Hardware.h" #include "Timer.h" void WaitForTimerRollover( int ) ; int main(void) { InitHardware(); int lightFreqType = 0; while (1){ if (0 == lightFreqType) { WaitForTimerRollover(5); lightFreqType = 1; } else if (1 == lightFreqType) { WaitForTimerRollover(5); lightFreqType = 2; } else { WaitForTimerRollover(28); lightFreqType = 0; } TOGGLE_PIN(BUZZER); } void WaitForTimerRollover(int numUnits) { tick_t curTickCount; int i; for (i=0; i<numUnits; i++) { curTickCount = gTickCount; while (gTickCount == curTickCount) { } }
19
AVR-stamp board ◦ https://www.futurlec.com/ET-AVR_Stamp_Board.shtml AVR-Stamp ◦ https://www.futurlec.com/ET-AVR_Stamp.shtml 4 x AA Battery Holder ◦ http://www.futurlec.com/Batteries-Holders.shtml Small Breadboard ◦ http://www.futurlec.com/Breadboards.shtml Optical Switch (RPR220 * 4, H21A3 * 2 ) ◦ http://www.futurlec.com/LEDOptoSwitch.shtml Registers (330 ohm * 4, 1.0 Komh * 4, 10 Komh * 4) ◦ http://www.futurlec.com/Res14W.shtml Pololu AVR-Programmer ◦ http://www.pololu.com/catalog/product/1300 Plastic Ball Caster Trio ◦ http://www.pololu.com/catalog/product/174 Dual Motor Driver ◦ http://www.pololu.com/catalog/product/713 Geared Motor ◦ http://www.pololu.com/catalog/product/1121 Acrylic Sheet 24*18 ( Lowes or Homedepot )
20
Find one example that fits with the definition of robot and one example that does not a robot Choose the robots from common household/ everyday appliance or toy, etc and explain your answer ( robot/ not robot)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.