en1002 - engenharia unificada i ferramentas e exemplos de projeto com o lego mindstorms centro de...

27
EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Upload: eileen-morgan

Post on 11-Jan-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

EN1002 -Engenharia Unificada

I

FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS

Centro de Engenharia Modelagem e Ciecircncias Sociais Aplicadas

Bluetooth control using Lego Mindstorms for Educational Engineering

The Agenda

Wireless technology overview Bluetooth protocol LabVIEW Lego Mindstorms NXT Project implementation Project planning

1

Wireless Technology

Frequency- hopping

Wi-fi Hops about every 01 secBluetooth is hopping every 625 microseconds and as fast as 3200 hops a second when initially connecting

Hopping Benefits are

bandwidth can be utilized more efficientlySecurity level (difficult to intercept)

In order to avoid collisions with other Bluetooth transmitters in the same area Bluetooth uses pseudo-random generation algorithm to identify the frequency hopping pattern between two devices

The hopping pattern is based on the Bluetooth Device Address information a unique identifier that is assigned to every Bluetooth transmitter

Frequency- hopping

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 2: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Bluetooth control using Lego Mindstorms for Educational Engineering

The Agenda

Wireless technology overview Bluetooth protocol LabVIEW Lego Mindstorms NXT Project implementation Project planning

1

Wireless Technology

Frequency- hopping

Wi-fi Hops about every 01 secBluetooth is hopping every 625 microseconds and as fast as 3200 hops a second when initially connecting

Hopping Benefits are

bandwidth can be utilized more efficientlySecurity level (difficult to intercept)

In order to avoid collisions with other Bluetooth transmitters in the same area Bluetooth uses pseudo-random generation algorithm to identify the frequency hopping pattern between two devices

The hopping pattern is based on the Bluetooth Device Address information a unique identifier that is assigned to every Bluetooth transmitter

Frequency- hopping

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 3: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Wireless Technology

Frequency- hopping

Wi-fi Hops about every 01 secBluetooth is hopping every 625 microseconds and as fast as 3200 hops a second when initially connecting

Hopping Benefits are

bandwidth can be utilized more efficientlySecurity level (difficult to intercept)

In order to avoid collisions with other Bluetooth transmitters in the same area Bluetooth uses pseudo-random generation algorithm to identify the frequency hopping pattern between two devices

The hopping pattern is based on the Bluetooth Device Address information a unique identifier that is assigned to every Bluetooth transmitter

Frequency- hopping

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 4: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Frequency- hopping

Wi-fi Hops about every 01 secBluetooth is hopping every 625 microseconds and as fast as 3200 hops a second when initially connecting

Hopping Benefits are

bandwidth can be utilized more efficientlySecurity level (difficult to intercept)

In order to avoid collisions with other Bluetooth transmitters in the same area Bluetooth uses pseudo-random generation algorithm to identify the frequency hopping pattern between two devices

The hopping pattern is based on the Bluetooth Device Address information a unique identifier that is assigned to every Bluetooth transmitter

Frequency- hopping

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 5: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Wi-fi Hops about every 01 secBluetooth is hopping every 625 microseconds and as fast as 3200 hops a second when initially connecting

Hopping Benefits are

bandwidth can be utilized more efficientlySecurity level (difficult to intercept)

In order to avoid collisions with other Bluetooth transmitters in the same area Bluetooth uses pseudo-random generation algorithm to identify the frequency hopping pattern between two devices

The hopping pattern is based on the Bluetooth Device Address information a unique identifier that is assigned to every Bluetooth transmitter

Frequency- hopping

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 6: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

The Physical layer of the OSI model is a physical infrastructure of the network the Data Link Layer receives information on its software side from higher layers places this information inside of frames and finally gives this frame to the Physical Layer for transmission

The data link layer of the 802 protocols is split intoMedium Access Control sub-layer which determines who gets to transmit nextLLC (Logical Link Control) sub-layer hiding the differences between the different 802 variants and make them indistinguishable for the network layer

OSI reference model and Wireless

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 7: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Bluetooth Physical Layer (RF)

bull Utilizes the license free 24GHz ISM radio band

bull Pseudo-random frequency- hopping scheme with 1600 frequency hops per second (FHSS) 79 carriers (f=2402+k MHz k=0hellip78)

bull Performing Gaussian Frequency Shift Keying modulation

Power classes ndash I max output power 100mW (20dBm) =gt 100mndash II max output power 25mW (4dBm) =gt 20mndash III max output power 1mW(0dBm) =gt 10m

Bluetooth Protocol

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 8: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Baseband Layer

bull Enables RF to form a piconet (physical channel shared among several devices)bull Up to 7 slaves can be connected to 1 masterbull Provides 2 different kind of physical links with their corresponding packetsndash Synchronous Connection-Oriented (SCO)ndash Asynchronous Connection-Oriented (ACL)bull Responsible for assembling the Bluetooth packet header information and for applying error checking and data whitening

Baseband The Baseband and Link Control Layer enables the RF link Bluetooth units in a piconet This layer uses inquiry and paging procedures to synchronize the transmission between different Bluetooth devices

Bluetooth Protocol

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 9: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Link Manager Protocol (LMP)

bull Responsible for link set-up between devices including security functions ndash Authentication ndash Encryptionbull Controls and negotiates baseband packet sizebull Controls power modes and connection states

Link Manager Protocol (LMP) The link manager protocol is responsible for setting up link channels between Bluetooth devices after performing security methods like authentication and encryption by generating exchanging and verifying linking and encryption keys and negotiating baseband packet size

Bluetooth Protocol

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 10: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

In standard Bluetooth hardware the lower three layers are implemented in firmwareor in hardware and are generally not accessible to Bluetooth developers Instead Bluetooth developers interact with the host controller layer (HCI) which resides at a boundary between the host operating system (such as Windows or Linux) and the Bluetooth hardware Above the HCI layer is the Logical link Control and Adaptation Protocol (L2CAP)is an abstraction layer above the HCI and LMP layers handling application functionality for upper-layer protocols

Logical Link Control and AdaptationProtocol (L2CAP) Its role is to adapt upper protocols over the Baseband ndash Multiplexing capabilityndash Segmentation and reassembly operations Permits to transmit and receive upper layer data packets up to 64kB in lengthAlso permits per-channel flow control and retransmission

Bluetooth Protocol

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 11: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

SDP - Service Discovery ProtocolUsing SDP device information services allowed and characteristics of the services are queried between Bluetooth enabled devices

RFCOMM - Cable Replacement Protocol RFCOMM is a serial line emulation protocol

TCS Binary AT Commands are used to establish speech and data calls between devices and control mobile phones and modems respectively (Telephony Control Protocol)

Adopted Protocols Bluetooth also supports PPP TCPUDPIP OBEX and WAP protocols to maximize interoperability

Bluetooth Protocol

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 12: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

In order to accommodate the relatively low cost of a Bluetooth radio the Bluetooth protocol stack is designed in a layered approach The layered approach allows different portions of the protocol stack to be designed independently and tightly integrated into hardware which is important for lightweight devices such as headsets that have limited memory availability

In this project three lower layers can be attributed to Bluetooth USB dongle while above it are host controller and adaptation protocols which realized with Lego Fantom driver Upper protocols are provided by operating system

Bluetooth Protocol

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 13: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Visual Programming

bull Utilizes human visual system 1048708 Should be more ldquonaturalrdquo

bullAvoid syntax

bullPeople were already using graphical notations

1048708 Flowcharts and Data flow State-Transition Diagrams Wiring Diagrams

bull Use these directly

LabVIEW

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 14: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

This VI continuously generates two signalsa pure sine wave of variable frequency and amplitude and a white noise signal of a variable amplitudeThe noise is then added to the sine waveThe sine wave with and without the noise are then shown in a time domain graph

Additionally an FFT iscalculated for both signalsand the results are then shown in the frequency domain graph Note that the square shaped functions are subroutines in the form of sub-VIrsquos

LabVIEW example

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 15: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

LabVIEW advantages

bull Compiled languagebull Intuitive interfacebull Easy to learn bull Widely used in industry for RampD and production automationbull Build executablesbull Run VIrsquos as web sitebull In-built math functions and examplesbull Community of users and shareware resources

LabVIEW

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 16: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

The LEGO Mindstormsreg is a robotic buildingsystem consisting of

bull The NXT Intelligent Brick the brain of the system

bull Sensors and servo motors bull LEGO TECHNIC Elementsbull Programming software

Lego Mindstorms NXT

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 17: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

iRobot Create Roomba httpwwwirobotcom

2 bump sensorsOdometerIR wall sensor on right sideVirtual wall infrared sensorRemote control infrared sensorVacuum and motor controlSerial interface

RoombaDevTools Bluetooth Interface ($100)hellip

Lego Mindstorms NXT

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 18: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Scribbler

wwwscribblerrobotcom

SensorsIR ldquorangerrdquo 2 receivers and emitterStall sensor 3 light2 ldquolinerdquo (IR pairs)

2 DC motorsProgrammed in PBasicSerial communication (up to 38400 baud)SD202 Bluetooth adapter ($100)

Serial emulationClass 1

Lego Mindstorms NXT

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 19: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Mindstorms in Engineering Educational Community

MIT Media Lab

httpwwwmediamitedu http

wwwroboteducationorg

httpwwwnicomacademicmindstorms

httpwwwengrutexasedudteach

httpwwwmindstormsrwth-aachende

Lego Mindstorms NXT

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 20: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

The system

PC with USB Bluetooth adapter running control LabVIEW software and an NXT sensor-equipped robotic vehicle

Project Implementation

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 21: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

LabVIEW control code

Project Implementation

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 22: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

LabVIEW Front Panel

Project Implementation

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 23: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

LabVIEW independent mode sequence monitoring the events of two sensors until new pairing passkey from master arrives to Bluetooth mailbox

A Touch sensor event

Ultrasonic sensor event

Project Implementation

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 24: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Why project management

By having good project management we can Achieve the project goal on time and within the budgetKeep the focus on the goal and work wellHave a good practice for future work situationsPresent the project materials by acceptable engineering standards

Project PlanningThe process of project development is full of uncertaintiesThe more uncertainties you have the less possible that the project can be successfulUncertainties can be reduced by having a good feasibility study before the project

Background research Understand the resource required and acquiredRisk analysis

Project Planning

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 25: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

Project Initiation document

bull The purpose is to identify and document the exact requirements for the projectbull Much interaction must take place between the customer (eg advisor) and the developer (student)bull Should be well documented since very often it serves as an agreement of the functions that will be provided by the system developed

bull The document is sometimes called user specifications or functional specificationsbull May form the basis for project commissioning

Project Planning

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 26: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

System design and specification

Split into two sub-phases architectural and detailed designbull Architectural design

Define the overall organization of the system in terms of high-level components and their interaction

bull Detailed designLower level modules in each component and their interfaces

The document is sometimes called technical specifications

Project Planning

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning

Page 27: EN1002 - Engenharia Unificada I FERRAMENTAS E EXEMPLOS DE PROJETO COM O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

bull Split project into tasks and estimate time and resources required to complete each task

bull Minimize task dependencies to avoid delays caused by one task waiting for another to complete considering the fact that concurrent organization of the tasks is limited since all the work is done by one student

Implementation ndash Work breakdown ndash MS Project

Project Planning