SlideShare a Scribd company logo
R-Biz Challange
터틀봇3 오토레이스
Dong-A Univ.
Electronic Engineering
Airlab
길기종
목차 및 개요
 터틀봇3 오토레이스 대회 소개
 하드웨어 & 소프트웨어 소개
 영상처리 알고리즘
 ROS 메시지 통신
 Q & A
R-BIZ 터틀봇3 오토레이스 대회
R-BIZ 터틀봇3 오토레이스 대회
•단일차선
•폭 300mm
선 두께 15mm
•왼쪽 : 노란색 라인
오른쪽: 흰색 라인
`300mm
15mm
15mm
R-BIZ 터틀봇3 오토레이스 대회
◎ 신호등 미션
R-BIZ 터틀봇3 오토레이스 대회
◎ 주차 미션
R-BIZ 터틀봇3 오토레이스 대회
◎ 차단바 미션
R-BIZ 터틀봇3 오토레이스 대회
◎ 터널 미션
R-BIZ 터틀봇3 오토레이스 대회
하드웨어 & 소프트웨어
- https://turtlebot3.readthedocs.io/en/latest/
- 터틀봇3 버거
하드웨어 & 소프트웨어
• Ubuntu MATE16.04
• ROS kinetic
• ROBOTIS-GIT/turtlebot3_msgs
• ROBOTIS-GIT/turtlebot3
• ROBOTIS-GIT/hls_lfcd_lds_driver
• Ubuntu 16.04
• ROS kinetic
• ROBOTIS-GIT/turtlebot3_msgs
• ROBOTIS-GIT/turtlebot3
영상 처리 알고리즘
• How to detect the lines?
- Color detection (HSV)
- Line detection (Canny, Houghline)
• How to track the lines?
- Using two lines or one line(white or yellow)
- Angle
- Distance
노란색 메인 흰색
①
②
③
영상 처리 알고리즘
영상 처리 알고리즘
메인 윤곽선
①
②
영상 처리 알고리즘
white_1
white_2
yellow_1
yellow_2
영상 처리 알고리즘
white_1
white_2
yellow_1
yellow_2
0 320160𝑥축
white = min 𝑥1 𝑖𝑓 𝑥1 > 160
yellow = max 𝑥2 𝑖𝑓 𝑥2 < 160
영상 처리 알고리즘
사이드 사이드 마스크
일반 라인
주차 라인
1
1
1
1
0
1
영상 처리 알고리즘
주차 상태 검출
영상 처리 알고리즘
𝑁 < 20
𝑁 > 50
𝑁 = 라인 개수
차단바 검출
𝑤1, 𝑤2, 𝑤3 > 25
(𝑥1 − 𝑥2) 𝑎𝑛𝑑 (𝑥2 − 𝑥3) > 40
(𝑦1 − 𝑦2) 𝑎𝑛𝑑 (𝑦2 − 𝑦3) < 15
𝑤
(𝑥, 𝑦)
영상 처리 알고리즘
빨간색메인 녹색
영상 처리 알고리즘
ROS 메시지 통신
roslaunch turtlebot3_bringup turtlebot_robot.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
w
s da
x
cmd_vel
ROS 메시지 통신
• Topic name : cmd_vel
• Topic type : geometry_msgs/Twist
• Compact Message Definition
- geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
- geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
전진 후진
2.0 ~ -2.0
좌 우
2.0 ~ -2.0
ROS 메시지 통신
roslaunch turtlebot3_bringup turtlebot_robot.launch
rosrun autorace cam.py
rosrun autorace autorace_main
ROS 메시지 통신
• Topic name : Vision
• Topic type : std_msgs/Float32
• Compact Message Definition
- std_msgs/Float32 white_1
- std_msgs/Float32 white_2
- std_msgs/Float32 yellow_1
- std_msgs/Float32 yellow_2
- std_msgs/Float32 stats
stats 0 1 2 3 4 5 6 7
mode white yellow slow stop park park_1 park_2 tunnel
• Topic name : turtlebot_stats
• Topic type : std_msgs/Int32
• Compact Message Definition
- std_msgs/Int32 stats
ROS 메시지 통신
#define WHITE_CENTER 270
#define WHITE_DISTANCE 25
#define YELLOW_CENTER 80
#define YELLOW_DISTANCE 20
#define RATE 2
−(𝑤ℎ𝑖𝑡𝑒_2 − 𝑊𝐻𝐼𝑇𝐸_𝐶𝐸𝑁𝑇𝐸𝑅 )
𝑊𝐻𝐼𝑇𝐸_𝐶𝐸𝑁𝑇𝐸𝑅
×
(𝑤ℎ𝑖𝑡𝑒_1 − 𝑤ℎ𝑖𝑡𝑒_2) − 𝑊𝐻𝐼𝑇𝐸_𝐷𝐼𝑆𝑇𝐴𝑁𝐶𝐸
𝑊𝐻𝐼𝑇𝐸_𝐷𝐼𝑆𝑇𝐴𝑁𝐶𝐸 × 𝑅𝐴𝑇𝐸
−(𝑦𝑒𝑙𝑙𝑜𝑤_2 − 𝑌𝐸𝐿𝐿𝑂𝑊_𝐶𝐸𝑁𝑇𝐸𝑅 )
𝑌𝐸𝐿𝐿𝑂𝑊_𝐶𝐸𝑁𝑇𝐸𝑅
×
(𝑦𝑒𝑙𝑙𝑜𝑤_2 − 𝑦𝑒𝑙𝑙𝑜𝑤_1) − 𝑌𝐸𝐿𝐿𝑂𝑊_𝐷𝐼𝑆𝑇𝐴𝑁𝐶𝐸
𝑌𝐸𝐿𝐿𝑂𝑊_𝐷𝐼𝑆𝑇𝐴𝑁𝐶𝐸 × 𝑅𝐴𝑇𝐸
ROS 메시지 통신
roslaunch turtlebot3_bringup turtlebot_robot.launch
roslaunch turtlebot3_navigation turtlebot3_navigation.launch
map_file:=$HOME/map.yaml
rosrun rviz rviz -d `rospack find
turtlebot3_navigation`/rviz/turtlebot3_nav.rviz
ROS 메시지 통신
• Topic name : move_base_simple/goal
• Topic type : geometry_msgs/PoseStamped
• Compact Message Definition
- std_msgs/Header header
uint32 seq
time stamp
string frame_id
- geometry_msgs/Pose pose
geometry_msgs/Point position
geometry_msgs/Quaternion orientation
감사합니다.
- Q & A -

More Related Content

PDF
Actuation, Federation and Interoperability of Context Brokers
FIWARE
 
PDF
Kekuatan konteks sosio kultural di daerah
EndangDarsono
 
PDF
React vac pattern
NAVER Engineering
 
PDF
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
PDF
진화하는 디자인 시스템(걸음마 편)
NAVER Engineering
 
PDF
서비스 운영을 위한 디자인시스템 프로젝트
NAVER Engineering
 
PDF
BPL(Banksalad Product Language) 무야호
NAVER Engineering
 
Actuation, Federation and Interoperability of Context Brokers
FIWARE
 
Kekuatan konteks sosio kultural di daerah
EndangDarsono
 
React vac pattern
NAVER Engineering
 
디자인 시스템에 직방 ZUIX
NAVER Engineering
 
진화하는 디자인 시스템(걸음마 편)
NAVER Engineering
 
서비스 운영을 위한 디자인시스템 프로젝트
NAVER Engineering
 
BPL(Banksalad Product Language) 무야호
NAVER Engineering
 

More from NAVER Engineering (20)

PDF
이번 생에 디자인 시스템은 처음이라
NAVER Engineering
 
PDF
날고 있는 여러 비행기 넘나 들며 정비하기
NAVER Engineering
 
PDF
쏘카프레임 구축 배경과 과정
NAVER Engineering
 
PDF
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
NAVER Engineering
 
PDF
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
NAVER Engineering
 
PDF
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
NAVER Engineering
 
PDF
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
NAVER Engineering
 
PDF
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
NAVER Engineering
 
PDF
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 02_안드로이드의 '안'자도 몰랐던 나는 어떻게 안드로이드 개발자가 되었을까?
NAVER Engineering
 
PDF
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
NAVER Engineering
 
PDF
Apache Nemo
NAVER Engineering
 
이번 생에 디자인 시스템은 처음이라
NAVER Engineering
 
날고 있는 여러 비행기 넘나 들며 정비하기
NAVER Engineering
 
쏘카프레임 구축 배경과 과정
NAVER Engineering
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
NAVER Engineering
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
200819 NAVER TECH CONCERT 03_화려한 코루틴이 내 앱을 감싸네! 코루틴으로 작성해보는 깔끔한 비동기 코드
NAVER Engineering
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
NAVER Engineering
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
NAVER Engineering
 
200819 NAVER TECH CONCERT 05_모르면 손해보는 Android 디버깅/분석 꿀팁 대방출
NAVER Engineering
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
NAVER Engineering
 
200820 NAVER TECH CONCERT 14_야 너두 할 수 있어. 비전공자, COBOL 개발자를 거쳐 네이버에서 FE 개발하게 된...
NAVER Engineering
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
NAVER Engineering
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
NAVER Engineering
 
200820 NAVER TECH CONCERT 11_빠르게 성장하는 슈퍼루키로 거듭나기
NAVER Engineering
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
200819 NAVER TECH CONCERT 06_놓치기 쉬운 안드로이드 UI 디테일 살펴보기
NAVER Engineering
 
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
NAVER Engineering
 
200819 NAVER TECH CONCERT 02_안드로이드의 '안'자도 몰랐던 나는 어떻게 안드로이드 개발자가 되었을까?
NAVER Engineering
 
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
NAVER Engineering
 
Apache Nemo
NAVER Engineering
 
Ad

2017 R-Biz Challange 터틀봇3 오토레이스