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.