SlideShare a Scribd company logo
1 of 18
Download to read offline
- 세 가지 감정을 가지는 간단한 로봇 펫 -
10조
201024434 김현준
201224540 조용래
01 소개
02 입출력 장치들
03 입출력 모델 명세
04 애플리케이션(태스크) 구조
05 uC/OS-III의 feature 활용 사례
소개
차분함
활발함
화남
소개 - 사용된 입출력 장치들
초음파
센서
온도
센서
스위치
Cortex-M3
보드
G
P
I
O
G
P
I
O
LED
DC 모터
유아트
입력
유아트
출력
소개 - 사용된 입출력 장치들 – Pin 할당
핀 용도
PE0 LED-빨강
PE1 LED-노랑
PB9 LED-초록
PE5 스위치-빨강
PE6 스위치–노랑
PE7 스위치-초록
PE3 초음파-Trigger
PE4 초음파-Echo
PE8 왼쪽 모터-A
PE9 왼쪽 모터-B
PE10 오른쪽 모터-A
PE11 오른쪽 모터-B
PC1 온도 입력
PA9 유아트1 출력
PA10 유아트1 입력
입출력 모델 명세
1. 빨강색 스위치를 누르면 펫의 상태가 화남으로 변함.
2. 노랑색 스위치를 누르면 펫의 상태가 활발함으로 변함.
3. 초록색 스위치를 누르면 펫의 상태가 평온함으로 변함.
4. 차분함 상태에서, 10초가 지나면 활발함 상태로 변함.
5. 활발함 상태에서, 측정되는 거리가 짧고(IMMEDIATE), 온도가
증가하는 상태(TEMP_INC)라면 화남 상태로 변함.
6. 화남 상태에서 다른 상태로의 전환은 스위치 누르는 수 밖에
없음.
7. 화남 상태에서 LED의 점등 패턴이 거리에 따라(IMMEDIATE,
NEAR, MODERATE, (FAR, VERY_FAR)) 4가지 패턴으로 나뉨.
8. 활발함과 평온함 상태에서 LED 점등 패턴은 거리에 따라 3가지
패턴으로 나뉨.
9. 화남 상태에서 펫의 이동 경로는 repetive_step_spin,
zigzag이다
10.활발함 상태에서 펫의 이동 경로는 rectangular, hexagon,
star이다
11.차분함 상태에서 펫의 이동 경로는 clkwise_whole_spin,
cclkwise_whole_spin, back_and_forth이다.
Temp
Distanc
e
LEDMotor
And
Or
Timer
Button
ISR
Calm
Lively
Contr
ol
Angry
uC/OS III의 feature 활용 사례
- ISR에서 Deferred Post 방식을 통한 펫의 상태 전환
버튼 ISR
IntQPost ISR
Handler
Task
OSSemPost
Control
Task
status
변경
Angry Lively Calm
OSTaskSemPost
uC/OS III의 feature 활용 사례
- ISR에서 Deferred Post 방식을 통한 펫의 상태 전환
uC/OS III의 feature 활용 사례
- 세마포를 이용한 공유 자원 접근
status
time
led blink
temp
distance
uC/OS III의 feature 활용 사례
- 태스크 세마포를 통한 태스크의 동기화
uC/OS III의 feature 활용 사례
- 상태 태스크와 모터 출력 태스크간의 동기화 문제
Motor
command
Angry
Motor
명령을 보내는 속도
Vs
명령을 처리하는 속도
Flow
Control
문제 발생
uC/OS III의 feature 활용 사례
- 상태 태스크와 모터 출력 태스크간의 동기화 문제
uC/OS III의 feature 활용 사례
- 센서 값의 범위에 따른 이벤트 플래그 설정
이벤트 조건
Event1 온도 증가
Event2 온도 일정
Event3 온도 감소
Event4 거리 증가
Event5 거리 일정
Event6 거리 감소
temp distance
and
control
status
Temp task
And flag 처리 태스크
uC/OS III의 feature 활용 사례
- rs232를 제어하는 태스크에서의 Pending On Multiple Objects
Simple robot pets with three emotions (uC/OS III)

More Related Content

More from YongraeJo

BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryYongraeJo
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT ProtocolsYongraeJo
 
Practical Byzantine Fault Tolernace
Practical Byzantine Fault TolernacePractical Byzantine Fault Tolernace
Practical Byzantine Fault TolernaceYongraeJo
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveYongraeJo
 
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...YongraeJo
 
Trap Handling in Linux
Trap Handling in LinuxTrap Handling in Linux
Trap Handling in LinuxYongraeJo
 
Thriftypaxos
ThriftypaxosThriftypaxos
ThriftypaxosYongraeJo
 

More from YongraeJo (19)

Stellar
StellarStellar
Stellar
 
Ledgerdb
LedgerdbLedgerdb
Ledgerdb
 
Blockene
BlockeneBlockene
Blockene
 
BlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lotteryBlockLot: Blockchain-based verifiable lottery
BlockLot: Blockchain-based verifiable lottery
 
FlexSC
FlexSCFlexSC
FlexSC
 
Honeybadger of BFT Protocols
Honeybadger of BFT ProtocolsHoneybadger of BFT Protocols
Honeybadger of BFT Protocols
 
Cheapbft
Cheapbft Cheapbft
Cheapbft
 
Practical Byzantine Fault Tolernace
Practical Byzantine Fault TolernacePractical Byzantine Fault Tolernace
Practical Byzantine Fault Tolernace
 
Making BFT Protocols Really Adaptive
Making BFT Protocols Really AdaptiveMaking BFT Protocols Really Adaptive
Making BFT Protocols Really Adaptive
 
Pileus
PileusPileus
Pileus
 
Vft
VftVft
Vft
 
Xft
XftXft
Xft
 
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
A Byzantine Fault-Tolerant Ordering Service for the Hyperledger/Fabric Blockc...
 
Trap Handling in Linux
Trap Handling in LinuxTrap Handling in Linux
Trap Handling in Linux
 
Thriftypaxos
ThriftypaxosThriftypaxos
Thriftypaxos
 
Omni ledger
Omni ledgerOmni ledger
Omni ledger
 
FastBFT
FastBFTFastBFT
FastBFT
 
SCP
SCPSCP
SCP
 
Ekiden
EkidenEkiden
Ekiden
 

Recently uploaded

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 

Recently uploaded (6)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 

Simple robot pets with three emotions (uC/OS III)

  • 1. - 세 가지 감정을 가지는 간단한 로봇 펫 - 10조 201024434 김현준 201224540 조용래
  • 2. 01 소개 02 입출력 장치들 03 입출력 모델 명세 04 애플리케이션(태스크) 구조 05 uC/OS-III의 feature 활용 사례
  • 4. 소개 - 사용된 입출력 장치들 초음파 센서 온도 센서 스위치 Cortex-M3 보드 G P I O G P I O LED DC 모터 유아트 입력 유아트 출력
  • 5. 소개 - 사용된 입출력 장치들 – Pin 할당 핀 용도 PE0 LED-빨강 PE1 LED-노랑 PB9 LED-초록 PE5 스위치-빨강 PE6 스위치–노랑 PE7 스위치-초록 PE3 초음파-Trigger PE4 초음파-Echo PE8 왼쪽 모터-A PE9 왼쪽 모터-B PE10 오른쪽 모터-A PE11 오른쪽 모터-B PC1 온도 입력 PA9 유아트1 출력 PA10 유아트1 입력
  • 6.
  • 7. 입출력 모델 명세 1. 빨강색 스위치를 누르면 펫의 상태가 화남으로 변함. 2. 노랑색 스위치를 누르면 펫의 상태가 활발함으로 변함. 3. 초록색 스위치를 누르면 펫의 상태가 평온함으로 변함. 4. 차분함 상태에서, 10초가 지나면 활발함 상태로 변함. 5. 활발함 상태에서, 측정되는 거리가 짧고(IMMEDIATE), 온도가 증가하는 상태(TEMP_INC)라면 화남 상태로 변함. 6. 화남 상태에서 다른 상태로의 전환은 스위치 누르는 수 밖에 없음. 7. 화남 상태에서 LED의 점등 패턴이 거리에 따라(IMMEDIATE, NEAR, MODERATE, (FAR, VERY_FAR)) 4가지 패턴으로 나뉨. 8. 활발함과 평온함 상태에서 LED 점등 패턴은 거리에 따라 3가지 패턴으로 나뉨. 9. 화남 상태에서 펫의 이동 경로는 repetive_step_spin, zigzag이다 10.활발함 상태에서 펫의 이동 경로는 rectangular, hexagon, star이다 11.차분함 상태에서 펫의 이동 경로는 clkwise_whole_spin, cclkwise_whole_spin, back_and_forth이다.
  • 9. uC/OS III의 feature 활용 사례 - ISR에서 Deferred Post 방식을 통한 펫의 상태 전환 버튼 ISR IntQPost ISR Handler Task OSSemPost Control Task status 변경 Angry Lively Calm OSTaskSemPost
  • 10. uC/OS III의 feature 활용 사례 - ISR에서 Deferred Post 방식을 통한 펫의 상태 전환
  • 11. uC/OS III의 feature 활용 사례 - 세마포를 이용한 공유 자원 접근 status time led blink temp distance
  • 12. uC/OS III의 feature 활용 사례 - 태스크 세마포를 통한 태스크의 동기화
  • 13. uC/OS III의 feature 활용 사례 - 상태 태스크와 모터 출력 태스크간의 동기화 문제 Motor command Angry Motor 명령을 보내는 속도 Vs 명령을 처리하는 속도 Flow Control 문제 발생
  • 14. uC/OS III의 feature 활용 사례 - 상태 태스크와 모터 출력 태스크간의 동기화 문제
  • 15. uC/OS III의 feature 활용 사례 - 센서 값의 범위에 따른 이벤트 플래그 설정 이벤트 조건 Event1 온도 증가 Event2 온도 일정 Event3 온도 감소 Event4 거리 증가 Event5 거리 일정 Event6 거리 감소 temp distance and control status
  • 16. Temp task And flag 처리 태스크
  • 17. uC/OS III의 feature 활용 사례 - rs232를 제어하는 태스크에서의 Pending On Multiple Objects