SlideShare a Scribd company logo
Lloyd Moore, President
Lloyd@CyberData-Robotics.com
www.CyberData-Robotics.com
Seattle Robotics Society 6/21/2014
Why the Pi?
Why not the Pi?
Raspberry Pi – PSoC Development Board
RPi-Dev Motor Controller
RPi-Dev SPI Ring
System Block Diagram
Resources
Outline
There are TONS of other controller boards on the market, what makes the Pi
special?
• Computing power per dollar is, or very close to best in class
• 700MHz ARM 11, hardware floating point, Open GL GPU, 512MB RAM, Ethernet
• USB, SD Card for mass storage, audio output, video output
• $25 - 35 price tag!
• 5 MP camera available for $25
• Plugs directly into the Pi and software is available for vision applications
• I/O Expansion port
• Easy to access
• Contains UART, I2C, SPI and several GPIO lines
• Full schematics available for the board
• Fairly light weight and power efficient ( 1.6 oz, 3.5W)
Why the Pi?
But nothing is perfect right?
• No real time processor – could emulate with Linux, but not great
• No analog inputs, no ADC
• Minimal GPIO and what you do have is 3.3V and raw, don’t even have a
proper RS-232 port
• GPIO also awkward to get at from inside Linux
• No motor drivers, or high current outputs
• Really no standard I/O of any kind other than USB and Ethernet!
• Doesn’t really have enough processing power to do vision applications
Why not the Pi?
• Designed to be a flexible development and prototyping platform for both
Raspberry Pi and PSoC ecosystems
• Developed this as I frequently need to rapidly prototype ideas and wasn’t
finding anything single device available that really fit the bill
• CyberData (my company) is releasing this as open source!
• Designs and documentation released under Creative Commons, Attribution-
NonCommercial 3.0 Unported license
• Sample code released under GNU GPLV3.0 license
• If someone really wants a commercial license talk to me about it
Raspberry Pi <-> PSoC Dev. Board
Provides the Raspberry Pi with the resources for doing real word, real time
problems:
• Central processor is a PSoC 5LP or PSoC 3, 100 pin device
• Allows for real time work on the Cortex M3 core and configurable logic in the UDB
blocks for “hard real time” applications
• Has configurable analog and DSP processor for low level signal processing
• Standard RS-232/485 driver on board, with a DB9 connector
• 3x 12 pin Diligent PMOD connectors – many devices available
• Configurable motor controller
• Directly drive 2 3.5A DC motors
• Can also be used for stepper motors, solenoids or other high current loads
• Additional GPIO lines, 8 precision analog, 4 protected, 6 general
• Also usable on any PC with a USB connection, or standalone
• Board can be powered from the USB connection as well
RPi-Dev Features
RPi-Dev Block Diagram
Designed to provide a very flexible resource which can be used for most
types of motors
Achieved by having robust discrete motor drivers on the board, while
keeping the control logic configurable in the PSoC UDB system
Sample code implements a dual H-Bridge based motor controller with PWM
speed control
RPi-Dev Motor Controller
• Provides generalized, high speed, packet based communications between
the Raspberry Pi and the PSoC processor
• Uses the SPI Master peripheral on the Raspberry Pi
• Uses a SPI Slave component with DMA support on the PSoC
• Transfer made at 4Mbps, bidirectional
• Packets appear in a C structucture on each side at a configurable time interval
• All this is implemented in the sample code – just configure the data
structure and hook up the completion signals to your own code!
RPi-Dev SPI Ring
1. Define the SensoryMembers and MotorMembers data structures to
contain the data members you want in the file ringcoms.h
2. Note that both structures MUST be the same size, add padding if not. If
the structures are not the same size you will get an error!
3. In the PSoC main() routine change the code testing the g_spiReady flag
to do what you need to at the end of each transfer.
1. For a robot this will be transferring the data in the MotorMembers structure to the
actual motors and reading new sensor data into the SensoryMembers structure.
2. Note that you can also hook the DMA interrupt directly if desired.
4. In the BotMonitor program connect the newTransferReceived() signal to
your handler function and do what is needed there.
1. For a robot this will be processing the sensor data and issuing a new set of motor
commands.
To use the SPI Ring
SRS Robot Block Diagram
SRS Robot PSoC Software Diagram
Each new SPI packet:
• If bump sensor triggered, block
forward motion
• If RC enabled, pass RC
commands to motors
• If RC not enabled pass
MotorMembers commands to
motors
• Read sensors and populate
SensoryMembers data structure
• Wait for next SPI packet
Note:This algorithm is NOT
contained in the sample code.
Raspberry Pi <-> PSoC Board Open Source Resources:
http://www.cyberdata-robotics.com/RPi-Dev
Raspberry Pi Home Page: http://www.raspberrypi.org/
TightVNC Home Page: http://www.tightvnc.com/
Qt Home Page: http://qt-project.org/
PSOC Home Page: http://www.cypress.com/psoc5lp/?source=CY-ENG-
HEADER
QExtSerialPort Home Page: http://code.google.com/p/qextserialport/
BCM2835 Drivers: http://www.open.com.au/mikem/bcm2835/index.html
BCM2835 Peripherals Datasheet: http://www.raspberrypi.org/wp-
content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
MagPi Magazine: http://www.themagpi.com/
References
Questions?

More Related Content

What's hot

Introduction aboout raspberry PI
Introduction aboout raspberry PIIntroduction aboout raspberry PI
Introduction aboout raspberry PI
Vivek P
 
Introduction to Raspberrypi
Introduction to  RaspberrypiIntroduction to  Raspberrypi
Introduction to Raspberrypi
Iheb Ben Salem
 
Presentation on Raspberry Pi by Sazzad H. IIUC
Presentation on Raspberry Pi by Sazzad H. IIUCPresentation on Raspberry Pi by Sazzad H. IIUC
Presentation on Raspberry Pi by Sazzad H. IIUC
shssn7
 
Introduction to Raspberry PI
Introduction to Raspberry PIIntroduction to Raspberry PI
Introduction to Raspberry PI
Chandrashekar Babu
 
Introduction to raspberry pi
Introduction to raspberry piIntroduction to raspberry pi
Introduction to raspberry pi
praveen_23
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Sachin More
 
Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014
Mandeesh Singh
 
Raspberry Pi (Introduction)
Raspberry Pi (Introduction)Raspberry Pi (Introduction)
Raspberry Pi (Introduction)
Mandeesh Singh
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Akash Kr Sinha
 
Raspberry pi intro.
Raspberry pi intro.Raspberry pi intro.
Raspberry pi intro.
Saiko Saiko
 
Home Automation Using RPI
Home Automation Using  RPIHome Automation Using  RPI
Home Automation Using RPI
Ankara JUG
 
Raspberry Pi
Raspberry PiRaspberry Pi
IPv6: A Digital Game Changer
IPv6: A Digital Game ChangerIPv6: A Digital Game Changer
IPv6: A Digital Game Changer
CARLOS RALLI-UCENDO
 
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick NeshRaspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
TE4P
 
Raspberry pi complete setup
Raspberry pi complete setupRaspberry pi complete setup
Raspberry pi complete setup
Santosh Kumar Kar
 
Getting Started with Raspberry Pi v1.2
Getting Started with Raspberry Pi v1.2Getting Started with Raspberry Pi v1.2
Getting Started with Raspberry Pi v1.2
macrutan
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Krishna Kumar
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
bagal7694
 
Raspberry pi ppt
Raspberry pi pptRaspberry pi ppt
Raspberry pi ppt
gummaavinash7
 
A seminar report on Raspberry Pi
A seminar report on Raspberry PiA seminar report on Raspberry Pi
A seminar report on Raspberry Pi
nipunmaster
 

What's hot (20)

Introduction aboout raspberry PI
Introduction aboout raspberry PIIntroduction aboout raspberry PI
Introduction aboout raspberry PI
 
Introduction to Raspberrypi
Introduction to  RaspberrypiIntroduction to  Raspberrypi
Introduction to Raspberrypi
 
Presentation on Raspberry Pi by Sazzad H. IIUC
Presentation on Raspberry Pi by Sazzad H. IIUCPresentation on Raspberry Pi by Sazzad H. IIUC
Presentation on Raspberry Pi by Sazzad H. IIUC
 
Introduction to Raspberry PI
Introduction to Raspberry PIIntroduction to Raspberry PI
Introduction to Raspberry PI
 
Introduction to raspberry pi
Introduction to raspberry piIntroduction to raspberry pi
Introduction to raspberry pi
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 
Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014
 
Raspberry Pi (Introduction)
Raspberry Pi (Introduction)Raspberry Pi (Introduction)
Raspberry Pi (Introduction)
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 
Raspberry pi intro.
Raspberry pi intro.Raspberry pi intro.
Raspberry pi intro.
 
Home Automation Using RPI
Home Automation Using  RPIHome Automation Using  RPI
Home Automation Using RPI
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
IPv6: A Digital Game Changer
IPv6: A Digital Game ChangerIPv6: A Digital Game Changer
IPv6: A Digital Game Changer
 
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick NeshRaspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
Raspberry JAM 1 - Setup Raspberry Pi with Raspbian -Vick Nesh
 
Raspberry pi complete setup
Raspberry pi complete setupRaspberry pi complete setup
Raspberry pi complete setup
 
Getting Started with Raspberry Pi v1.2
Getting Started with Raspberry Pi v1.2Getting Started with Raspberry Pi v1.2
Getting Started with Raspberry Pi v1.2
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Raspberry pi ppt
Raspberry pi pptRaspberry pi ppt
Raspberry pi ppt
 
A seminar report on Raspberry Pi
A seminar report on Raspberry PiA seminar report on Raspberry Pi
A seminar report on Raspberry Pi
 

Similar to Raspberry pi robotics

Using the Cypress PSoC Processor
Using the Cypress PSoC ProcessorUsing the Cypress PSoC Processor
Using the Cypress PSoC Processor
LloydMoore
 
Smart logic
Smart logicSmart logic
2_RaspberryPi presentation.pptx
2_RaspberryPi presentation.pptx2_RaspberryPi presentation.pptx
2_RaspberryPi presentation.pptx
neelamsanjeevkumar
 
Baking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef RobBaking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef Rob
Robert Tisma
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
ssuser06ea42
 
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
Filipe Miranda
 
Raspberry Pi Introduction
Raspberry Pi IntroductionRaspberry Pi Introduction
Raspberry Pi Introduction
Michal Sedlak
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
Jayanthi Kannan MK
 
Ip interfaces by faststream technologies
Ip interfaces by faststream technologiesIp interfaces by faststream technologies
Ip interfaces by faststream technologies
VishalMalhotra58
 
Codasip application class RISC-V processor solutions
Codasip application class RISC-V processor solutionsCodasip application class RISC-V processor solutions
Codasip application class RISC-V processor solutions
RISC-V International
 
Physical computing and iot programming final with cp sycs sem 3
Physical computing and iot programming final with cp sycs sem 3Physical computing and iot programming final with cp sycs sem 3
Physical computing and iot programming final with cp sycs sem 3
WE-IT TUTORIALS
 
Embedded training report(mcs 51)
Embedded training report(mcs 51)Embedded training report(mcs 51)
Embedded training report(mcs 51)Gurwinder Singh
 
Ppt on six month training on embedded system & IOT
Ppt on six month training on embedded system & IOTPpt on six month training on embedded system & IOT
Ppt on six month training on embedded system & IOT
preetigill309
 
Internet of Things, refers to the network of interconnected devices that are ...
Internet of Things, refers to the network of interconnected devices that are ...Internet of Things, refers to the network of interconnected devices that are ...
Internet of Things, refers to the network of interconnected devices that are ...
tharunreddy999000
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
Anirudh Chauhan
 
Challenges in Embedded Computing
Challenges in Embedded ComputingChallenges in Embedded Computing
Challenges in Embedded Computing
Pradeep Kumar TS
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of Webpages
Langtech
 
10 Popular Commercial Products using Raspberry Pi Compute Module
10 Popular Commercial Products using Raspberry Pi Compute Module10 Popular Commercial Products using Raspberry Pi Compute Module
10 Popular Commercial Products using Raspberry Pi Compute Module
Pallav Aggarwal
 
Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptx
BLACKSPAROW
 

Similar to Raspberry pi robotics (20)

Using the Cypress PSoC Processor
Using the Cypress PSoC ProcessorUsing the Cypress PSoC Processor
Using the Cypress PSoC Processor
 
Smart logic
Smart logicSmart logic
Smart logic
 
2_RaspberryPi presentation.pptx
2_RaspberryPi presentation.pptx2_RaspberryPi presentation.pptx
2_RaspberryPi presentation.pptx
 
Baking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef RobBaking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef Rob
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
 
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
New Generation of IBM Power Systems Delivering value with Red Hat Enterprise ...
 
Raspberry Pi Introduction
Raspberry Pi IntroductionRaspberry Pi Introduction
Raspberry Pi Introduction
 
REDA services
REDA servicesREDA services
REDA services
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
 
Ip interfaces by faststream technologies
Ip interfaces by faststream technologiesIp interfaces by faststream technologies
Ip interfaces by faststream technologies
 
Codasip application class RISC-V processor solutions
Codasip application class RISC-V processor solutionsCodasip application class RISC-V processor solutions
Codasip application class RISC-V processor solutions
 
Physical computing and iot programming final with cp sycs sem 3
Physical computing and iot programming final with cp sycs sem 3Physical computing and iot programming final with cp sycs sem 3
Physical computing and iot programming final with cp sycs sem 3
 
Embedded training report(mcs 51)
Embedded training report(mcs 51)Embedded training report(mcs 51)
Embedded training report(mcs 51)
 
Ppt on six month training on embedded system & IOT
Ppt on six month training on embedded system & IOTPpt on six month training on embedded system & IOT
Ppt on six month training on embedded system & IOT
 
Internet of Things, refers to the network of interconnected devices that are ...
Internet of Things, refers to the network of interconnected devices that are ...Internet of Things, refers to the network of interconnected devices that are ...
Internet of Things, refers to the network of interconnected devices that are ...
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Challenges in Embedded Computing
Challenges in Embedded ComputingChallenges in Embedded Computing
Challenges in Embedded Computing
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of Webpages
 
10 Popular Commercial Products using Raspberry Pi Compute Module
10 Popular Commercial Products using Raspberry Pi Compute Module10 Popular Commercial Products using Raspberry Pi Compute Module
10 Popular Commercial Products using Raspberry Pi Compute Module
 
Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptx
 

More from LloydMoore

Less Magical Numbers - A coding standard proposal
Less Magical Numbers - A coding standard proposalLess Magical Numbers - A coding standard proposal
Less Magical Numbers - A coding standard proposal
LloydMoore
 
Debugging Intermittent Issues - A How To
Debugging Intermittent Issues - A How ToDebugging Intermittent Issues - A How To
Debugging Intermittent Issues - A How To
LloydMoore
 
Successful Software Projects - What you need to consider
Successful Software Projects - What you need to considerSuccessful Software Projects - What you need to consider
Successful Software Projects - What you need to consider
LloydMoore
 
A Slice Of Rust - A quick look at the Rust programming language
A Slice Of Rust - A quick look at the Rust programming languageA Slice Of Rust - A quick look at the Rust programming language
A Slice Of Rust - A quick look at the Rust programming language
LloydMoore
 
What Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniquesWhat Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniques
LloydMoore
 
High Reliabilty Systems
High Reliabilty SystemsHigh Reliabilty Systems
High Reliabilty Systems
LloydMoore
 
Real Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't doReal Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't do
LloydMoore
 
PSoC USB HID
PSoC USB HIDPSoC USB HID
PSoC USB HID
LloydMoore
 
Using PSoC Creator
Using PSoC CreatorUsing PSoC Creator
Using PSoC Creator
LloydMoore
 
C for Microcontrollers
C for MicrocontrollersC for Microcontrollers
C for Microcontrollers
LloydMoore
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
LloydMoore
 

More from LloydMoore (11)

Less Magical Numbers - A coding standard proposal
Less Magical Numbers - A coding standard proposalLess Magical Numbers - A coding standard proposal
Less Magical Numbers - A coding standard proposal
 
Debugging Intermittent Issues - A How To
Debugging Intermittent Issues - A How ToDebugging Intermittent Issues - A How To
Debugging Intermittent Issues - A How To
 
Successful Software Projects - What you need to consider
Successful Software Projects - What you need to considerSuccessful Software Projects - What you need to consider
Successful Software Projects - What you need to consider
 
A Slice Of Rust - A quick look at the Rust programming language
A Slice Of Rust - A quick look at the Rust programming languageA Slice Of Rust - A quick look at the Rust programming language
A Slice Of Rust - A quick look at the Rust programming language
 
What Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniquesWhat Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniques
 
High Reliabilty Systems
High Reliabilty SystemsHigh Reliabilty Systems
High Reliabilty Systems
 
Real Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't doReal Time Debugging - What to do when a breakpoint just won't do
Real Time Debugging - What to do when a breakpoint just won't do
 
PSoC USB HID
PSoC USB HIDPSoC USB HID
PSoC USB HID
 
Using PSoC Creator
Using PSoC CreatorUsing PSoC Creator
Using PSoC Creator
 
C for Microcontrollers
C for MicrocontrollersC for Microcontrollers
C for Microcontrollers
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Raspberry pi robotics

  • 2. Why the Pi? Why not the Pi? Raspberry Pi – PSoC Development Board RPi-Dev Motor Controller RPi-Dev SPI Ring System Block Diagram Resources Outline
  • 3. There are TONS of other controller boards on the market, what makes the Pi special? • Computing power per dollar is, or very close to best in class • 700MHz ARM 11, hardware floating point, Open GL GPU, 512MB RAM, Ethernet • USB, SD Card for mass storage, audio output, video output • $25 - 35 price tag! • 5 MP camera available for $25 • Plugs directly into the Pi and software is available for vision applications • I/O Expansion port • Easy to access • Contains UART, I2C, SPI and several GPIO lines • Full schematics available for the board • Fairly light weight and power efficient ( 1.6 oz, 3.5W) Why the Pi?
  • 4. But nothing is perfect right? • No real time processor – could emulate with Linux, but not great • No analog inputs, no ADC • Minimal GPIO and what you do have is 3.3V and raw, don’t even have a proper RS-232 port • GPIO also awkward to get at from inside Linux • No motor drivers, or high current outputs • Really no standard I/O of any kind other than USB and Ethernet! • Doesn’t really have enough processing power to do vision applications Why not the Pi?
  • 5. • Designed to be a flexible development and prototyping platform for both Raspberry Pi and PSoC ecosystems • Developed this as I frequently need to rapidly prototype ideas and wasn’t finding anything single device available that really fit the bill • CyberData (my company) is releasing this as open source! • Designs and documentation released under Creative Commons, Attribution- NonCommercial 3.0 Unported license • Sample code released under GNU GPLV3.0 license • If someone really wants a commercial license talk to me about it Raspberry Pi <-> PSoC Dev. Board
  • 6. Provides the Raspberry Pi with the resources for doing real word, real time problems: • Central processor is a PSoC 5LP or PSoC 3, 100 pin device • Allows for real time work on the Cortex M3 core and configurable logic in the UDB blocks for “hard real time” applications • Has configurable analog and DSP processor for low level signal processing • Standard RS-232/485 driver on board, with a DB9 connector • 3x 12 pin Diligent PMOD connectors – many devices available • Configurable motor controller • Directly drive 2 3.5A DC motors • Can also be used for stepper motors, solenoids or other high current loads • Additional GPIO lines, 8 precision analog, 4 protected, 6 general • Also usable on any PC with a USB connection, or standalone • Board can be powered from the USB connection as well RPi-Dev Features
  • 8. Designed to provide a very flexible resource which can be used for most types of motors Achieved by having robust discrete motor drivers on the board, while keeping the control logic configurable in the PSoC UDB system Sample code implements a dual H-Bridge based motor controller with PWM speed control RPi-Dev Motor Controller
  • 9. • Provides generalized, high speed, packet based communications between the Raspberry Pi and the PSoC processor • Uses the SPI Master peripheral on the Raspberry Pi • Uses a SPI Slave component with DMA support on the PSoC • Transfer made at 4Mbps, bidirectional • Packets appear in a C structucture on each side at a configurable time interval • All this is implemented in the sample code – just configure the data structure and hook up the completion signals to your own code! RPi-Dev SPI Ring
  • 10. 1. Define the SensoryMembers and MotorMembers data structures to contain the data members you want in the file ringcoms.h 2. Note that both structures MUST be the same size, add padding if not. If the structures are not the same size you will get an error! 3. In the PSoC main() routine change the code testing the g_spiReady flag to do what you need to at the end of each transfer. 1. For a robot this will be transferring the data in the MotorMembers structure to the actual motors and reading new sensor data into the SensoryMembers structure. 2. Note that you can also hook the DMA interrupt directly if desired. 4. In the BotMonitor program connect the newTransferReceived() signal to your handler function and do what is needed there. 1. For a robot this will be processing the sensor data and issuing a new set of motor commands. To use the SPI Ring
  • 11. SRS Robot Block Diagram
  • 12. SRS Robot PSoC Software Diagram Each new SPI packet: • If bump sensor triggered, block forward motion • If RC enabled, pass RC commands to motors • If RC not enabled pass MotorMembers commands to motors • Read sensors and populate SensoryMembers data structure • Wait for next SPI packet Note:This algorithm is NOT contained in the sample code.
  • 13. Raspberry Pi <-> PSoC Board Open Source Resources: http://www.cyberdata-robotics.com/RPi-Dev Raspberry Pi Home Page: http://www.raspberrypi.org/ TightVNC Home Page: http://www.tightvnc.com/ Qt Home Page: http://qt-project.org/ PSOC Home Page: http://www.cypress.com/psoc5lp/?source=CY-ENG- HEADER QExtSerialPort Home Page: http://code.google.com/p/qextserialport/ BCM2835 Drivers: http://www.open.com.au/mikem/bcm2835/index.html BCM2835 Peripherals Datasheet: http://www.raspberrypi.org/wp- content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf MagPi Magazine: http://www.themagpi.com/ References