쉽게 설명하는 자율 주행 기술, 로봇은 어떻게 자기의 위치를 아는가?

안녕하세요.

오늘은 자율 주행 기술에 대해 쉽게, 제가 아는 선에서 설명해보려고 합니다.

저는 석사 2년동안 자율주행분야에서 연구했었는데요.

제가 아는 것, 제가 하는 것, 제가 속해 있는 분야에 대해 잘 설명하는 것이 중요한데

스팀잇에서 연습하려고요!

참! @stella12, @tradingideas 글을 최근에 봤는데 재밌게 봤습니다 ㅎㅎ

@stella12님 포스팅

@tradingideas님 포스팅 아마존 물류 센터에 있는 로봇 키바


본론


생각보다 자율 주행 기술은 우리 생활과 가까이 있고 다가오고 있습니다.

로봇 청소기

공장 물류 로봇

자율주행차!

특히 최근 로봇청소기는 ㅋㅋ

집 구조를 파악하고 돌아다닌다고 합니다.

스마트폰으로 집 평면도를 볼 수 있어요!

관련 이미지

<Dyson 360>


그렇다면 자율 주행 기술이 도대체 뭘까요?

제가 생각하는 자율주행은 이렇습니다.

로봇이 자기 주변의 환경을 알고, (Mapping)

특정 환경에서 자기 위치가 어디있는지 알고, (Localization)

장애물을 피하면서, (Obstacle avoidance)

목적지까지 최적의 경로로 가는 것 (Path planning)

이게 자율주행 기술이라고 생각합니다.

<Autonomous naviation system on simulation>


생각해보면 사람과 비슷하지 않나요?

예를 들어, 제가 코엑스에 있습니다.

저는 코엑스에 있는 메가박스를 가고 싶어요.

어떻게 찾아갈까요?


  1. 먼저 지도를 봐야겠죠. 코엑스에는 지도를 보여주는 디스플레이가 있습니다.
    (로봇은 특정 환경의 지도를 가지고 있다. 없다면 만들어야 한다. 이것이 Mapping)

  2. 다음으로 내가 그 지도에서 어디있는지 파악하는 것입니다. 그리고 가고자 하는 메가박스가 어디있는지 확인을 해야겠죠.
    (로봇은 지도 상에서 자신이 어디 있는지 파악한다. 이것이 Localization)

  3. 그 다음에는 사람들을 피해가며 메가박스로 갑니다.
    (목적지까지 최적의 경로를 만들고 장애물을 피해갑니다. Obstacle avoidance or Path planning)

  4. 중간에 길을 잃을 때도 있죠. 왜냐하면 코엑스는 넓으니깐요! 그렇다면 지도를 다시 보고 내가 어디있는지 확인하고 빠른 길로 갑니다.
    (로봇도 길을 잃을까요? 자신의 위치를 잃어버릴 수 있을까요? 퀴즈입니다!)

  5. 메가박스에 도착했다!


어떤가요?

사람과 로봇이 목적지까지 찾아가는 방법이 비슷해보이지 않나요?


쉬운 문제를 풀어봅시다.


로봇은 지도가 있다는 가정 하에,

그 지도에서 자신이 어디에 있는지 어떻게 알 수 있을까요?

로봇의 위치 추정에 집중해보려고 합니다.


사람으로 예를 하나 들어보겠습니다.

만약 사람이 눈을 감고 코엑스의 메가박스를 찾아야 한다면 찾아갈 수 있을까요?

코엑스를 몇 번 가봤던 사람이라고 해봅시다.

눈 감고 걸으면 자신이 생각한 이동 거리와 실제 이동 거리가 달라질 것입니다. 그리고 오래 눈 감고 걸을수록 그 오차는 커지겠죠.

그러다가 눈을 뜨면 순간 어디 있는지 모를 수 있지만

이전에 봤던 음식점들을 보고 자신의 위치를 파악할 수 있죠.


로봇도 마찬가지입니다.

센서가 필요합니다. 즉, 주변 환경을 파악할 센서 말이죠. 눈이나 귀처럼요!

로봇은 여러 센서들을 이용하여 현재 관측하는 데이터와 지도 (기존에 특정 장소에 대한 데이터, 이전에 봤던 랜드마크, 특징)을 매칭시켜보면서 로봇의 위치를 추정합니다. 여러가지 방법으로요!

<Lidar, RGB-D camera, camera>


결론


최대한 쉽게 설명하려고 했는데 재밌게 읽으셨는지요.

어떤지 잘 모르겠어요.

언젠가 각 집마다 자율주행기술이 들어간 로봇이 하나씩 갖게될 것을 꿈꾸며

글을 마치겠습니다.

읽어주셔서 감사합니다!


This page is synchronized from the post: ‘쉽게 설명하는 자율 주행 기술, 로봇은 어떻게 자기의 위치를 아는가?’

7 DAY BLACK & WHITE PHOTO CHALLENGE: Day 2

KakaoTalk_20180110_190857370.png


The rules are here below :
Take 7 black & white photos that represent an aspect of your life
Present one image every day for seven days
No people
No explanation
Nominate someone every day. Although anyone can join in
Use the tag: #sevendaybnwchallenge as one of your five tags

규칙은 다음과 같습니다 :
당신의 인생의 한 단면을 나타내는 흑백 이미지 7 개
매일 7 일동안 하나의 이미지를 게시하십시오.
인물은 없이 게시해주세요.
설명도 없이요.
매일 다른사람을 지명하십시오.
누구나 참여할 수는 있습니다.

#sevendaybnwchallenge를 다섯 개의 태그 중 하나로 사용하십시오.


Now it’s my turn to nominate another Steemian to keep this moving forward.
플랑크톤에서 피라미가 되신 @eversloth 관심이 있으시다면 도전해주세요!
저 ‘매일’ 인데 중간에 안한다면 다시 처음부터 해야하는걸까요?


This page is synchronized from the post: ‘7 DAY BLACK & WHITE PHOTO CHALLENGE: Day 2’

강남역 9번 출구 아이스링크장 GT타워 소개

집에 가는 길에 강남역에 있는 아이스링크장을 봤습니다.

강남역에 아이스링크장이라니!!

신기해서 글을 작성하게 되었습니다.

IMG_20180104_191555.jpg
정확한 장소는 강남역 9번 출구, GT타워입니다.

12월 - 2월 말까지 운영하고

이용시간은 매일 10시부터 저녁 9시까지라고 합니다.

요금은 성인 기준 오전 6000원, 오후 7000원, 저녁 8000원이며, 대화료(스케이팅 신발?) 5000원입니다.

그리고 무조건 사전예약제로 진행된다고 합니다.

미리 전화를 하고 가도록 하세요!

남자친구나 여자친구와 함께 가보세요!
어쩌면 단 둘이서만 탈 수도 있어요. 사람들이 위에서 구경하고! ㅋㅋ

링크 첨부합니다

http://gttower.co.kr/icerink/about.php


This page is synchronized from the post: ‘강남역 9번 출구 아이스링크장 GT타워 소개’

중복 내용이라 수정하였습니다.

중복 내용이라 수정하였습니다.


This page is synchronized from the post: ‘중복 내용이라 수정하였습니다.’

[kr-dev] 최신글 알림 서비스 #2 (Telegram Bot 소개)

안녕하세요.

저는 최근 호기심이 생겨 최신글 알림 서비스를 개발하고 있습니다.

목적은 특정 태그, 특정 유저의 최신 글이 작성 되었을 때,
알림이 오도록 하는 것 입니다.

첫번째, 카카오톡으로 알림 서비스를 받으면 좋았으나 유료 서비스라 패스하였습니다.

두번째, 직접 어플을 만들자니 배보다 배꼽이 더 큰 상황이라..


해결책은 Telegram을 활용한 알림 서비스


telegram bot에 대한 이미지 검색결과

Telegram은 공식적으로 python-telgegram-bot 관련 라이브러리를 제공하고 있으며,

이를 이용해서 쉽게 알림 서비스를 만들 수 있을 것입니다.

Telegram의 장점은 아래와 같습니다.


  • 무료다.

  • API가 제공된다.

  • 카카오 플러스 친구 같은 것을 만들 수 있다.

  • 스팀잇 뿐만 아니라 알림을 받고 싶은 서비스에 활용할 수 있다.


  • ex) 추후 제가 개발하고 싶은 홈서비스 로봇에도 사용할 수 있을것으로 기대합니다.

  • 집에 불을 키고 나왔거나 집에 손님이 방문했을 때, 그것을 인식하고 Telegram을 통해서 알림을 받는다던가!




서론이 길었지만.. Telegram Great!

Telegram 설치 및 활용 과정


순서대로 진행하겠습니다.

  1. Bot Father에게 Bot을 생성해달라고 요청해야합니다.

Bot은 아래 설명한 것과 같습니다.


  • 사용자로부터 무언가 입력을 받거나 사용자에게 알림을 보내기 위해서는 봇이라는게 필요합니다.

  • 쉽게 설명하자면, 우리가 만드는 것이 카카오 플러스 친구입니다.

  • 봇 파더에게 생성 요청 - 이 글이 전반적으로 설명을 참 잘했습니다.


Bot Father로부터 Bot을 생성했다면 반은 끝났습니다.


  1. python-telegram-bot 라이브러리 설치

sudo pip install python-telegram-bot만 하면 끝!

백종원 참 쉽죠에 대한 이미지 검색결과

  1. 사용자에게 메시지 보내기

아래 코드를 보면 Bot father에게 받은 telegramKey를 이용해서 Bot 객체를 만듭니다.

self.telegramBot = telegram.Bot(token=telegramKey)

그 다음에 메시지를 보내고 싶을 때, sendMessage함수를 사용하면 됩니다.

예를 들어, 새로운 글이 감지 되었을 때, sendMessage를 보내면 되는겁니다!

  1. 사용자의 입력에 따른 피드백

이제 사용자로부터 입력을 받고 그에 따른 동작을 해야할 때 사용하는 함수인데요

간단히 설명드리면 Handler와 Callback method, 그리고 Handler를 관리하는 dispatcher가 있습니다.


  • Handler는 특정 Command나 메시지가 왔을 때, 특정 함수를 실행하도록 설정합니다.


41번째 줄로 설명하면 ‘start’라는 신호가 오면 start함수를 실행하라는 의미입니다.


  • Callback method는 이 때 실행되는 start 함수를 말합니다.

  • dispatcher는 여러 개의 handler를 관리하는 애를 말합니다.



결론


결론은 위에 4단계를 쭉 따라오면 원하는 Telegram 서비스를 만들 수 있다고 생각합니다.

코드는 아래와 같이 공개를 하였고요! 참고하세요 ㅎㅎ

https://github.com/passionbull/steemit-alarm-posting


제가 만든 최신글 알림 서비스는 현재 위의 기능들을 활용해서 아래와 같이 동작합니다.

현재 DB랑 연결하는 부분을 안만들어서 개인용입니다..

이제 해야할 부분은 사용자들이 원하는 태그 및 특정 유저를 선택하면 그것을 DB에 저장하고

서비스에서 DB를 읽어와 최신글 검출 및 메시지 발송을 해야합니다.

생각되는 문제는 저 혼자 쓰는데는 문제가 없으나,

사람들이 많아질 경우 제 서버 (오드로이드-XU4)가 버틸 수 있을지 모르겠네요 ㅜㅜ

궁금한 것이 있으면 물어보세요!

제안, 조언 등 언제든 환영입니다.

글이 많이 긴데 읽어주셔서 감사합니다!


Reference

기존에 있는 스팀잇 Telegram 서비스를 찾아봤는데요.


  • @clayop



  • @ludorum



  • @clayop, @ludorum, 외국 개발자님이 개발한 것도 있었는데 기억이 안납니다.

    clayop님의 noteefi가 제가 목표하던 알림 서비스더군요.
    Telegram 서비스를 운영하고 있지는 않으신 것 같습니다.

    ludorum님의 챗봇은 언급됐을 때, 알림이 오는 서비스입니다.


    기존 서비스가 다시 가동된다면 제 서비스는 필요없을 수 있으나,

    처음으로 스팀잇 라이브러리도 써보고, Telegram 봇도 개발해보고

    많이 공부가 되었습니다.


    This page is synchronized from the post: ‘[kr-dev] 최신글 알림 서비스 #2 (Telegram Bot 소개)’

    베르나르 베르베르의 잠을 읽고 나서

    안녕하세요.

    제가 베르나르 베르베르 소설을 좋아해서 많이 읽었는데

    베르나르 베르베르 소설들은 내가 모험을 하는 듯한 기분을 느끼게 해주고 상상력을 자극하는 것 같아요.

    특히 좋아하는 소설들은 뇌랑 아버지들의 아버지인데
    스토리가 흡입력이 있고 추리소설같으면서도
    행복이란 무엇일까
    나는 어디서 온것일까 나의 조상은? 등 철학적인 문제도 생각해볼 수 있게 하는 재밌는 소설이에요

    이번엔 잠을 읽었어요.
    image.png
    내용을 간단히 말해드리면

    자크라는 주인공이 있습니다.

    자크는 프랑스에서 수면을 전공한 의대생입니다.

    어머니에게 꿈을 잘꾸는 방법을 배웠고
    주변에서.. 잠 때문에 죽거나 괴로워하는 사람들을 보고
    꿈을 연구하기 시작했습니다.

    그러다가 20년후의 자신이 꿈에서 나타나

    자신을 도와주기 시작하며 펼쳐지는 모험에 대한 이야기입니다.

    읽으면서 느낌점은

    1. 프랑스가 수면제 소비 1위 국가이구나
      나는 잠을 잘자고 수면제 안먹는거에 감사해야겠다 생각했습니다.

    2. 자크의 엄마가 세노이 족을 돕기 위해 무인도를 사고
      자크가 그 무인도에 호텔과 꿈 훈련 센터를 세운 내용이 있었습니다.
      나도 나중에 무인도를 사서 거기서 재택근무를 하고 싶다라는 생각이 들었습니다.

    3. 다음부터는 읽으면서 기록을 해야 좀 더 오래 기억할 수 있을것 같네요.. 파피용을 다시 읽고 독후감을 써봐야겠어요!

    읽어주셔서 감사합니다.


    This page is synchronized from the post: ‘베르나르 베르베르의 잠을 읽고 나서’

    Your browser is out-of-date!

    Update your browser to view this website correctly. Update my browser now

    ×