Software-Hardware mapping
in a Robot Design
Software-Hardware mapping
in a Robot DesignPavol Jusko, David Obdrzalek, Tomas Petrusek
Charles University, PraguePavol Jusko, David Obdrzalek, Tomas Petrusek
Charles University, Prague
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Introduction
• MART Robotic Team
• How we improved the design and the implementation of our robot
• Built from scratch, then improved
• PC based
• Software - Hardware mapping
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Agenda
• Original design• Hardware• Software• Pros and Cons
• New design• Hardware changes• Hardware modules• Software changes
• Conclusion
MART Robotic Team, http://mart.matfyz.cz, [email protected]
First idea
• One MCU controlling all peripherals
• RS-232 – Serial Port
• Packet oriented protocol
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Software design
• What we wanted
• universal software
• for universal robot
• with any kind of hardware
• Layered design
• Communication layer
• Hardware abstraction layer
• Smart layer
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Com
mun
icat
ion
laye
r
Group“Bios”
- Packets- Bridge between HW and SW...
Sm
art l
ayer
Other inputs(camera, user)
Output to screen
GroupBrain
- Objectives- Decisions- Driving and guiding the robot...
HW
abs
trac
tion
laye
rGroupDriver
- Motors- LEDs...
GroupLocalizer
- Encoders- Compass- Calculate position...
Rea
l har
dwar
e
a11
a223
a34
a4
b1b2b3b4
5678
a11
a223
a34
a4
b1b2b3b4
5678
RS-232
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Pros and Cons• Pros
• Easy to create
• Worked well on two contests
• Eurobot 2007
• Robotour 2007
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Pros and Cons
• Cons
• “Hardcoded” solution
• Packet handling is not maintainable
• Hard to extend
• MCU limitations
RS-232
MCU 1
Motor 1
SW Panel
Motor 2
Encoder 1
MCU 2
Encoder 2
I2C - Compass
A/D - Battery meter
LED Panel
Splitter
Computer(with COM port)
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Hardware changes
• Removed one-to-one concept
• Bus topology
• I2C high speed bus with SMBus
• USB to I2C bridge
• Independent modules on the bus
USB I2C bus
Motor 1Encoder 1
Control panelButtons & LEDs
Motor 2Encoder 2
CompassMotor 3
...USB to I2Cbridge
New modulesComputer
(with USB port)
MART Robotic Team, http://mart.matfyz.cz, [email protected]
HBmotor board
• MCU (Atmel AVR)
• H-Bridge
• Encoders
• Switches
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Sm
art l
ayer
Other inputs(camera, user)
Output to screen
GroupBrain
- Objectives- Decisions- Driving and guiding the robot...
HW
abs
trac
tion
laye
r
...Other modules
GroupRangeFinder
- Moving average- Value correction
GroupDriver
- Motors- LEDs...
GroupLocalizer
- Encoders- Compass- Calculate position...
Com
mun
icat
ion
laye
r
...Other modulesGroupRangeFinder
- Request and read distance
GroupCompass
- Heading
GroupMotorLeft
- Motor 1- Encoder 1- Bumper 1
GroupMotorRight
- Motor 2- Encoder 2- Bumper 2
Scheduler
Ker
nel
Files created by Linux Kernel modules for I2C devices
Device 1 Device 2 ... Device N
Rea
l har
dwar
e USB to I2C
Individual I2C modules
...1 2 N
MART Robotic Team, http://mart.matfyz.cz, [email protected]
Conclusion
• More universal design
• Better maintainability
• Better extendibility
• Easier changes
• More possibilities for the future
Thank you for your timeQuestions?
Thank you for your timeQuestions?
Pavol Jusko, David Obdrzalek, Tomas PetrusekCharles University, Prague
Pavol Jusko, David Obdrzalek, Tomas PetrusekCharles University, Prague
http://mart.matfyz.cz, [email protected]://mart.matfyz.cz, [email protected]