open source robotics - city university of new...
Embed Size (px)
TRANSCRIPT
-
Open Source Robotics
Open Source Software and Hardware
For Robotic and Computer Controlled Systems
Farrukh Zia
Computer Engineering Technology Department
New York City College of Technology
IEEE Student Chapter Seminar
April 24, 2014
-
Source code files are openly available for
everyone to study, copy and modify.
Most famous example?
Linux Operating System
Benefit: Almost free
The small cost involved is the cost of
download / duplication and
storage media (HD, DVD, SD Card)
Open Source Software?
-
Schematic / PCB files are openly available for
everyone to study, copy, assemble and modify.
Most famous example?
IBM PC
(Schematic diagrams in Reference Guide)
Benefit: Lower cost
The cost involved is the cost of
manufacturing / assembly and
components (PCB, ICs, enclosure)
Open Source Hardware?
-
A Computer Controlled System consists of several sub-systems
-
(1) Frame / Chassis / Mechanical Components
Frame or chassis and mechanical components contribute significantly towards the cost of a computer controlled or robotic system
Frame or Chassis / Mechanical Components (linkages, gears, etc.)
Metal
strong but expensive
Plastic, Wood
not as strong but cheaper
Dropping prices of 3D printers will change this in the future
Availability of open source design of mechanical components will make it possible to create inexpensive plastic parts on a 3D printer
-
(1) Frame / Chassis / Mechanical Components (cont.)
Electro-Mechanical components
Motors
Relays
Solenoids, etc.
continue to be relatively expensive
-
(2) Power Supply
Inexpensive switching power supplies based on open source hardware reference designs
Hardware reference designs are available in switching IC manufacturer's data sheets
Examples:
AC to DC (120V to 12V or 5V) adapters for charging portable equipment from household AC supply
DC to DC (12V to 5V) adapters for charging portable equipment in automobiles
-
(3) Micro-Controller Unit (MCU) (Internal Architecture)
-
(3) Micro-Controller Unit (cont.)
Arduino hardware and software platform
One of the best modern day example of the benefits of open source hardware and software
Open source hardware design is available on Arduino web site
Integrated Development Environment (IDE) software is open source and free
Arduino IDE is used to create control programs for Atmel ATMega series of micro-controllers
-
(4) Control Program
The popularity of Arduino IDE for creating control programs has led to its adaptation for other micro-controllers e.g.
Microchip PIC32 (32-bit) micro-controller series (chipKIT boards)
Intel Quark micro-processor (Galileo board)
-
(4) Control Program (cont.)
Reasons for popularity of Arduino IDE
Open source and free
Available for Windows, Linux and Mac OS
Integrates Editor, Compiler (C/C++) and Debugger
One click compiling and uploading of control program to the micro-controller over a USB cable
-
(4) Control Program (cont.)
And the most important reason:
Includes open source function libraries written by volunteer programmers for:
simple analog and digital, as well as many advanced sensors
wide variety of output devices
Which makes it relatively easy to create fairly complex control programs
-
(5) Input Sensors
Simple sensor examples
Digital (logic level High/Low output)
Infra-Red Detector
Analog (analog voltage output)
Temperature Sensor
Open source hardware based advanced sensor examples
Inertial Measurement Unit (tilt and rotation sensor) (I2C interface)
Ultrasonic Distance Sensor (pulse width modulation) (PWM interface)
Open source function libraries are available to use these sensors with Arduino compatible boards
-
(6) Output Devices
Examples of output devices
LED / LCD display
Motors
DC, Servo, Stepper
Open source function libraries are available to use these devices with Arduino compatible boards
-
(7) Interface Circuits
Example of open source hardware based interface circuit based on application specific integrated circuit (ASIC)
H-Bridge motor controller
Open source hardware design is usually based on IC manufacturer's reference hardware design published in data sheet
-
(8) Data Communication
Low cost micro-controllers designed for robotics and embedded applications have built-in support for:
Data communication
UART, I2C, SPI, USB etc.
Network communication
Ethernet, WiFi
Bluetooth, Zig-Bee
Open source / free TCP/IP stack software function libraries are available for network communication
-
Talk and Roll Bot
A robot that can: Talk By using speech synthesis & Roll Move around on two wheels
-
Talk and Roll Bot - Block Diagram
-
Talk and Roll Bot - Subsystems
-
Talk and Roll Bot Open Source Project on OpenLab