S-STEM Robotics

Download Report

Transcript S-STEM Robotics

Bobby Lunceford
Connor Phyfer
Luke Rice
Phillip Bennett




A hobbyist robot kit produced by Korean
manufacturer Robotis.
Used by Navel Academy in its mechanical
engineering program
Allows you to create many unique robots
using a small number of different parts
Robots can accomplish a number of different
tasks because of the built in sensor and
processor



Different from other robots previously built
Stable while walking
Looks cool!



18x Dynamixels
1x Sensor
1x CM -5
*All states can go to Error.
Condition
Obstacle in front?
Ground below?
Clearance above?
Load on right front leg?
Load on left front leg?
Load on right rear leg?
Load on left rear leg?
Last position successful?
Code
F
B
A
RF
LF
RR
LR
LPS
0
1
n/a
Front
F
2
3
4
Below
Above
B
A
Right
Front
RF
5
Left
Front
LF
011111111
255
6
Right
Rear
RR
7
8
Left
Rear
LR
Last
Position
Successful
LPS




8 Bit Microcontroller
AVR Family
Memory
I/O

What makes a microcontroller?
 A microcontroller (sometimes abbreviated µC, uC
or MCU) is a small computer on a single
integrated circuit containing a processor core,
memory, and programmable input/output
peripherals.

Why use a microcontroller?
 Cost
 Power consumption
 Flexibility


AVR Doesn’t stand for anything in particular
Modified Harvard Architecture
 Instruction memory and Data memory are
separate
▪ Instructions and data occupy different address spaces,
so a single address could point to data or an instruction


Popular due to reasonably priced
development kits and free software tools.
BIOLOID Can be programmed using GNU
toolset and free WinAVR compiler

In System Reprogrammable Flash Memory
 128 K (64Kx16)
 Stores program

EEPROM
 4K
 Expensive
 Non-volatile

SRAM





4K
Volatile
Doesn’t need to be refreshed.
Addressed with register file and IO registers
Stack is allocated in SRAM

Universal Asynchronous Receiver Transmitter
 Communicates between Parallel and Serial
devices.


UART0: Dynamixels
UART1:
 RS232 Serial to PC
 Zigbee 100 Wireless







2.4ghz
Wireless Serial replacement
Max bandwidth: 250kbps
Uses UART1, PortD on MCU
Transmits as 8 bit character
Zigbee enabled when RS232 PC
interface is unplugged
Programmed basic handshake functions for
master/slave operation.

LibAVR
 General purpose C code for AVR MCU
 Example: Defines all I/O registers in SRAM with
#defines for easy access.

LibBioloid
 Bioloid Specific C Libraries
 Dynamixel.c: General helper functions for reading
data from and writing data to dynamixels.
Includes changing position, checking temp. and
load.

Things Learned:
 Low level C programming
▪ Volatile keyword, inline assembly, macros, #defines
 MCU operations
 Low level Bioloid operations

Future Plans:
 Implement more wireless helper functions, like
transmission of floating point and larger than 8 bit
integers
 Refine knowledge of libraries and use knowledge to
create a complex project.