<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>필님님의 블로그</title>
    <link>https://feel0804.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 31 Jul 2026 23:12:40 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>필님님</managingEditor>
    <item>
      <title>프로그램 자동 재실행, 초단위 스케줄링</title>
      <link>https://feel0804.tistory.com/21</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;프로그램 자동 재실행 설정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;라즈베리파이가 부팅 할 때 특별한 프로그램을 실행시키고 싶다면 rc.local 프로그램을 수정하는 것이 가장 빠르다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. sudo nano /etc/rc.local 로 편집기로 들어간다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KXMDt/btq1Xhfs5lr/kKkWBGdPCiBLWzvSmJk3z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KXMDt/btq1Xhfs5lr/kKkWBGdPCiBLWzvSmJk3z1/img.png&quot; data-alt=&quot;rc.local을 활용한 자동실행 프로그램&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KXMDt/btq1Xhfs5lr/kKkWBGdPCiBLWzvSmJk3z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKXMDt%2Fbtq1Xhfs5lr%2FkKkWBGdPCiBLWzvSmJk3z1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;rc.local을 활용한 자동실행 프로그램&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;시작할때 바로 넣으니 실행이 되지 않는 경우도 있어서 sleep 10을 넣어서 구현하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;fi&lt;/p&gt;
&lt;p&gt;sleep 10&lt;/p&gt;
&lt;p&gt;/usr/local/bin/mjpg-streamer -i &quot;input_uvc.so -r 1280x720 -d /dev/video0 -f 20 -q 5&quot; -o &quot;output_http.so -p 5000 -w /usr/local/share/mjpg-streamer/www&quot; /home/pi/mjpg-streamer/mjpgstreamer-experimental&amp;amp;&lt;/p&gt;
&lt;p&gt;sudo python2 /home/pi/A.py&amp;amp;&lt;/p&gt;
&lt;p&gt;exit 0&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;＃ 내가 자동실행을 원하고자 하는 프로그램은 총 2개로&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; 1개는 mjpg 영상 스트리밍 프로그램과,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; 다른 1개는 python으로 제작한 A.py 프로그램이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;# 위 방법의 경우는 안된다고 하는 케이스도 블로그를 보니 많았지만&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;내가 할때는 이상이 없었다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Crontab을 활용한 스케쥴링 설정&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Cron 프로그램을 활용한 스케줄링은 1분단위로 이루어 지는데 이것을 초단위로 개선하고자 하면 코드를 다음과 같이 변경하면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. crontab -e 를 입력하고 편집기로 들어간다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 10초 단위로 체크하고 다시 재 실행 싶으면 다음과 같이 sleep을 활용하여 코드를 작성한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;294&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L4CdR/btq1TNNwhL7/KushF65IByYw95SgQm2dl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L4CdR/btq1TNNwhL7/KushF65IByYw95SgQm2dl0/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp;crontab 코드 변경 (10초마다 확인후 재실행)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L4CdR/btq1TNNwhL7/KushF65IByYw95SgQm2dl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL4CdR%2Fbtq1TNNwhL7%2FKushF65IByYw95SgQm2dl0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;294&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp;crontab 코드 변경 (10초마다 확인후 재실행)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;3. 위와 같이 코드를 개선하면 1분에서 10초단위로 프로그램 확인 후 재 실행 하게 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;와치독 설정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;라즈베리파이에서 오류가 발생했을 상황을 대비해 외치독 설정 또한 해주었다.&lt;/p&gt;
&lt;p&gt;1. 커널에 라즈베리파이 칩셋 모듈 추가&lt;/p&gt;
&lt;p&gt;sudo modprobe bcm2835_wdt&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. modules 파일에 칩셋 모듈 이름 등록&lt;/p&gt;
&lt;p&gt;sudo nano /etc/modules 로 들어가서 끝 라인에 bcm2835_wdt를 추가하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1rXWU/btq1WJKZEw3/TN2skRT0NOA8jEABBifzgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1rXWU/btq1WJKZEw3/TN2skRT0NOA8jEABBifzgK/img.png&quot; data-alt=&quot;bcm2835_wdt 추가&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1rXWU/btq1WJKZEw3/TN2skRT0NOA8jEABBifzgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1rXWU%2Fbtq1WJKZEw3%2FTN2skRT0NOA8jEABBifzgK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;bcm2835_wdt 추가&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. watchdog, chkconfig 설치&lt;/p&gt;
&lt;p&gt;sudo apt-get install watchdog chkconfig&lt;/p&gt;
&lt;p&gt;chkconfig watchdog on&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. watchdog 환경파일 수정&lt;/p&gt;
&lt;p&gt;sudo nano /etc/watchdog.conf&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxW3dJ/btq10KPsfgq/3pGrHK8jrpXH7pSiJ5akA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxW3dJ/btq10KPsfgq/3pGrHK8jrpXH7pSiJ5akA0/img.png&quot; data-alt=&quot;해당부분 주석 삭제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxW3dJ/btq10KPsfgq/3pGrHK8jrpXH7pSiJ5akA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxW3dJ%2Fbtq10KPsfgq%2F3pGrHK8jrpXH7pSiJ5akA0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;해당부분 주석 삭제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;max-load-1 =24&lt;/p&gt;
&lt;p&gt;watchdog-device = /dev/watchdog 주석 삭제&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. sudo service watchdog start&lt;/p&gt;
&lt;p&gt;위의 명령어를 사용하여 와치독을 활성화 시킨다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <category>라즈베리파이</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/21</guid>
      <comments>https://feel0804.tistory.com/21#entry21comment</comments>
      <pubDate>Tue, 6 Apr 2021 19:53:38 +0900</pubDate>
    </item>
    <item>
      <title>라즈베리파이 스트리밍 서버 활용하기</title>
      <link>https://feel0804.tistory.com/20</link>
      <description>&lt;p&gt;핸드폰앱을 활용하여 AHD 카메라의 영상을 실시간으로 받는 과정이 필요하여&lt;/p&gt;
&lt;p&gt;라즈베리파이와 스트리밍 서비스를 활용하여 구현하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;여기서 중요한 것이 영상화소는 HD급 이상에, 지연시간이 최소화 된 서비스의 구현 이였다.&lt;/p&gt;
&lt;p&gt;카메라 영상지연 에는 크게 2가지 경우가 있다.&lt;/p&gt;
&lt;p&gt;Time Delay : 처음에 생각해 볼 수 있는 경우로 실제 움직이는 동작과 화면에 나오는 동작과의 시간 차이가 발생하는 경우이다.&lt;/p&gt;
&lt;p&gt;Time Lag : 영상 끊김 현상으로 실시간으로 영상이 나오고 있는 경우라도 오래 동작하거나 영상 데이터가 많이 들어오는 경우가 발생하면 끊김 현상이 발생하는 경우가 종종 있었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;실제 스트리밍 서버를 구현 한 것과&lt;/p&gt;
&lt;p&gt;구글링을 통해 얻은 방법들을 비교하여 더 나은 방법으로 택하고자 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. Motion 활용&lt;/p&gt;
&lt;p&gt;1) 설치 명령어&lt;/p&gt;
&lt;p&gt;&lt;span&gt;sudo wget &lt;a href=&quot;https://github.com/Motion-Project/motion/releases/download/release-4.3.1/pi_buster_motion_4.3.1-1_armhf.deb&quot;&gt;https://github.com/Motion-Project/motion/releases/download/release-4.3.1/pi_buster_motion_4.3.1-1_armhf.deb&lt;/a&gt; sudo dpkg -i pi_buster_motion_4.3.1-1_armhf.deb&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;를 통해 설치한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2) Motion 의 성능을 좌우하는것은 파라미터의 튜닝이다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;sudo nano /etc/motion/motion.conf 에 들어가서 파라미터 튜닝을 할 수있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;항상 이 4가지는 고정으로 하였고&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;daemon on&lt;/li&gt;
&lt;li&gt;stream_localhost off&lt;/li&gt;
&lt;li&gt;picture_output off&lt;/li&gt;
&lt;li&gt;movie_output off&lt;/li&gt;
&lt;li&gt;framerate 숫자는 20~30 사이로 하여 진행하였다.&lt;/li&gt;
&lt;li&gt;-&amp;gt; 영화관의 framerate가 24 정도이고 20 이상이면 일반적으로 &quot;영상&quot;으로 느끼기에 숫자를 그 사이로 하였다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;3) Daemon 설정&lt;/p&gt;
&lt;p&gt;&lt;span&gt;sudo nano /etc/default/motion 으로 들어가서&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;start_motion_daemon=yes 로 변경한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;4) 실행 명렁어&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;sudo service motion start 를 입력한 후&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;라즈베리파이 주소: 설정한 포트 ( motion.conf 에서 확인가능) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;으로 들어가면 카메라의 영상을 http를 통해 확인할 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5) 느낀점&lt;/p&gt;
&lt;p&gt;파라미터가 워낙 많고,&lt;/p&gt;
&lt;p&gt;또 다른 프로그램들 보다 상대적으로 무거운 프로그램이라서&lt;/p&gt;
&lt;p&gt;테스트 해 본 여러 프로그램들 중 가장 딜레이가 심하였다.&lt;/p&gt;
&lt;p&gt;얼마 사용하지 않고 2번으로 넘어갔다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. VLC&lt;/p&gt;
&lt;p&gt;VLC 영상 스트리밍을 원래 사용하였으나 딜레이가 심해&lt;/p&gt;
&lt;p&gt;다른 방법을 찾아보고자 알아보게 되었다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://feel0804.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;feel0804.tistory.com/18&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1612253152398&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;VLC 영상 스트리밍&quot; data-og-description=&quot;sudo apt-get update sudo apt-get upgrade 를 진행 한 후에 VLC 패키지를 설치해 준다. pi@raspberrypi:~ $ sudo apt-get install vlc ls /dev/video* 명령어를 입력해 video0이 인식되는지 확인한다. 그 후 다..&quot; data-og-host=&quot;feel0804.tistory.com&quot; data-og-source-url=&quot;https://feel0804.tistory.com/18&quot; data-og-url=&quot;https://feel0804.tistory.com/18&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XiZcY/hyI84kfCrr/kOV8c8dgPaz7i094CTi4kK/img.png?width=660&amp;amp;height=153&amp;amp;face=0_0_660_153,https://scrap.kakaocdn.net/dn/c7GEdi/hyI8U2YaW4/9S1JHkTP2FEGaZtUVbxvjK/img.png?width=660&amp;amp;height=153&amp;amp;face=0_0_660_153&quot;&gt;&lt;a href=&quot;https://feel0804.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://feel0804.tistory.com/18&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XiZcY/hyI84kfCrr/kOV8c8dgPaz7i094CTi4kK/img.png?width=660&amp;amp;height=153&amp;amp;face=0_0_660_153,https://scrap.kakaocdn.net/dn/c7GEdi/hyI8U2YaW4/9S1JHkTP2FEGaZtUVbxvjK/img.png?width=660&amp;amp;height=153&amp;amp;face=0_0_660_153');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;VLC 영상 스트리밍&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;sudo apt-get update sudo apt-get upgrade 를 진행 한 후에 VLC 패키지를 설치해 준다. pi@raspberrypi:~ $ sudo apt-get install vlc ls /dev/video* 명령어를 입력해 video0이 인식되는지 확인한다. 그 후 다..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;feel0804.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;3. UV4L&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. mjpg-Streamer&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;235&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpulw1/btqVqGsLMHt/KXYSK0pmDMeSWUk6vLCkxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpulw1/btqVqGsLMHt/KXYSK0pmDMeSWUk6vLCkxK/img.png&quot; data-alt=&quot;mjpg-Streamer 구동화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpulw1/btqVqGsLMHt/KXYSK0pmDMeSWUk6vLCkxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpulw1%2FbtqVqGsLMHt%2FKXYSK0pmDMeSWUk6vLCkxK%2Fimg.png&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;235&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;mjpg-Streamer 구동화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. Flask 와 Opencv를 활용한 자체 서버&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;177&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PFKEr/btqVtaz8XRI/Gvx4RcHQlzhPAZXosmnmzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PFKEr/btqVtaz8XRI/Gvx4RcHQlzhPAZXosmnmzk/img.png&quot; data-alt=&quot;스트리밍 서버 구동&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PFKEr/btqVtaz8XRI/Gvx4RcHQlzhPAZXosmnmzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPFKEr%2FbtqVtaz8XRI%2FGvx4RcHQlzhPAZXosmnmzk%2Fimg.png&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;177&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스트리밍 서버 구동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;플라스크와 OpenCV를 활용한 자체 서버가 딜레이가 가장 적을 것이라 생각했지만&lt;/li&gt;
&lt;li&gt;실제 육안검사한 결과는 mjpg-Streamer가 가장 딜레이가 적었다&lt;/li&gt;
&lt;li&gt;다른 방법들도 다 비슷한 딜레이를 가질 것 이라고 생각했지만&lt;/li&gt;
&lt;li&gt;실제 육안검사한 결과는 각 방법마다 딜레이 차이가 눈으로 볼 수 있을만큼 컸으며,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;영상의 상황에 따라 딜레이가 나타나는 정도의 차이가 있다는 점도 알 수 있었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <category>flask</category>
      <category>Python</category>
      <category>vlc</category>
      <category>라즈베리파이</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/20</guid>
      <comments>https://feel0804.tistory.com/20#entry20comment</comments>
      <pubDate>Tue, 2 Feb 2021 17:55:24 +0900</pubDate>
    </item>
    <item>
      <title>Cat.M1 사용기</title>
      <link>https://feel0804.tistory.com/19</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;960&quot; data-filename=&quot;KakaoTalk_20201203_143527230_01.jpg&quot; width=&quot;294&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFKWD3/btqOVKWyQ89/dxQ55bCAllwrniv1x7sBc1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFKWD3/btqOVKWyQ89/dxQ55bCAllwrniv1x7sBc1/img.jpg&quot; data-alt=&quot;WD-N502L&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFKWD3/btqOVKWyQ89/dxQ55bCAllwrniv1x7sBc1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFKWD3%2FbtqOVKWyQ89%2FdxQ55bCAllwrniv1x7sBc1%2Fimg.jpg&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;960&quot; data-filename=&quot;KakaoTalk_20201203_143527230_01.jpg&quot; width=&quot;294&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;WD-N502L&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;0. 우리넷 사의 cat M1 제품 이고 유심 통신사는 LG U+이다.&lt;/p&gt;
&lt;p&gt;CAT M1은 통신사의 LTE 주파수 대역을 그대로 쓰기 때문에 통신사 개통이 필요하다.&lt;/p&gt;
&lt;p&gt;012로 시작하는 번호도 가지고 있어 이 장비로 sms 또한 보낼 수 있었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. WD-N502L의 경우 선이 총 14개였는데 UART와 USB선 말고는 써보지는 않았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;USB와 연결할 때에는&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;usb dp = data plus&lt;/p&gt;
&lt;p&gt;usb dm = data minus&lt;/p&gt;
&lt;p&gt;usb id = 식별자 (GND 와 연결)&lt;/p&gt;
&lt;p&gt;usb vbus = 5v 로 연결하여 사용하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. LG U+ 유심의 경우에는 전원만 넣고 5분 ~ 10분정도 기다리면 자동 개통이 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;351&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btVEeN/btqOUlQgbpX/VJFN1LkIv3TtKTbnLxfN21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btVEeN/btqOUlQgbpX/VJFN1LkIv3TtKTbnLxfN21/img.png&quot; data-alt=&quot;빨간불 - 초록불&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btVEeN/btqOUlQgbpX/VJFN1LkIv3TtKTbnLxfN21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtVEeN%2FbtqOUlQgbpX%2FVJFN1LkIv3TtKTbnLxfN21%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;351&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빨간불 - 초록불&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;처음에는 빨간불만 들어오다가 한쪽이 초록불로 바뀌는데 이것이 개통된 상태이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;490&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/erQXl0/btqOVKWzYL8/83zb60At8ZlkJwcm9pslVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/erQXl0/btqOVKWzYL8/83zb60At8ZlkJwcm9pslVK/img.png&quot; data-alt=&quot;TTL to RS232&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/erQXl0/btqOVKWzYL8/83zb60At8ZlkJwcm9pslVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FerQXl0%2FbtqOVKWzYL8%2F83zb60At8ZlkJwcm9pslVK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;490&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;TTL to RS232&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;3. 그 다음 UART 통신으로 AT-Command를 사용해야 되는데,&lt;/p&gt;
&lt;p&gt;신호 레벨이 rs232 여서 변환 모듈을 사용하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그 다음 하이퍼 터미널을 이용하면 AT-Command사용이 가능하다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2Clun/btqOYu62jQj/DcGpNRGtrEOY6qxgkoJtfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2Clun/btqOYu62jQj/DcGpNRGtrEOY6qxgkoJtfK/img.png&quot; data-alt=&quot;아두이노에서 at commad 사용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2Clun/btqOYu62jQj/DcGpNRGtrEOY6qxgkoJtfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2Clun%2FbtqOYu62jQj%2FDcGpNRGtrEOY6qxgkoJtfK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아두이노에서 at commad 사용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;4. 아두이노와 cat M1을 연결하여 통신하기위해 at command를 보내주는 코드를 작성하고&lt;/p&gt;
&lt;p&gt;서버 TCP/IP설정을 진행하였다.&lt;/p&gt;
&lt;p&gt;포트 사용 개수는 0번 ~ 6번 으로 총 7개 였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;통신확인은 Hercules 프로그램을 사용하였다.&lt;/p&gt;
&lt;p&gt;처음 써봤는데 괜찮은것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;379&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5YTlN/btqOYvkBoAc/h57lUCeB9O61kkzqNjlHzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5YTlN/btqOYvkBoAc/h57lUCeB9O61kkzqNjlHzK/img.png&quot; data-alt=&quot;Hercules 프로그램&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5YTlN/btqOYvkBoAc/h57lUCeB9O61kkzqNjlHzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5YTlN%2FbtqOYvkBoAc%2Fh57lUCeB9O61kkzqNjlHzK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;379&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Hercules 프로그램&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;5. Hercules 프로그램을 이용해 서버를 키고&lt;/p&gt;
&lt;p&gt;아두이노-CAT M1 장비를 활용하여 서버와 연결을 하였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;314&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daHczV/btqO7iqs33W/Dv6wuKJ6leFxRyQBzjaxl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daHczV/btqO7iqs33W/Dv6wuKJ6leFxRyQBzjaxl1/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp;CAT m1을 활용하여 LED 제어&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daHczV/btqO7iqs33W/Dv6wuKJ6leFxRyQBzjaxl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaHczV%2FbtqO7iqs33W%2FDv6wuKJ6leFxRyQBzjaxl1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;314&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp;CAT m1을 활용하여 LED 제어&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;6. 서버에서 데이터를 보내면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;간단하게 LED만 제어하는 것만 일단 구현해 보았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>CAT.M1</category>
      <category>LGU+</category>
      <category>LTE</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/19</guid>
      <comments>https://feel0804.tistory.com/19#entry19comment</comments>
      <pubDate>Thu, 3 Dec 2020 16:55:12 +0900</pubDate>
    </item>
    <item>
      <title>VLC 영상 스트리밍</title>
      <link>https://feel0804.tistory.com/18</link>
      <description>&lt;p&gt;sudo apt-get update&lt;/p&gt;
&lt;p&gt;sudo apt-get upgrade&amp;nbsp;&lt;/p&gt;
&lt;p&gt;를 진행 한 후에&lt;/p&gt;
&lt;p&gt;VLC 패키지를 설치해 준다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pi@raspberrypi&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;:&lt;/span&gt;&lt;span&gt;~&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; $ sudo apt&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; install vlc&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ls /dev/video* 명령어를 입력해 video0이 인식되는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/riiAD/btqEIJ6psZ3/S0WW3nPoTK3puC2NumOIt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/riiAD/btqEIJ6psZ3/S0WW3nPoTK3puC2NumOIt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/riiAD/btqEIJ6psZ3/S0WW3nPoTK3puC2NumOIt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FriiAD%2FbtqEIJ6psZ3%2FS0WW3nPoTK3puC2NumOIt1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그 후 다음 명령어를 입력해 준다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;pi@raspberrypi:~ $ cvlc v4l2:///dev/video0:width=640:height=480:fps=30:chroma=mjpg --noaudio&amp;nbsp; --no-sout-audio --sout '#standard{access=http, mux=mpjpeg,dst=:8081/}'&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-&amp;gt; 소리없이 영상만 재생되고, 라즈베리파이IP:8081 로 영상 스트리밍이 이루어 집니다.&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;같은 네트워크 상에 물려 있으면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;클라이언트 PC에 VLC 미디어를 통해 스트리밍을 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;종료할때&lt;/p&gt;
&lt;p&gt;fuser /dev/video0&lt;/p&gt;
&lt;p&gt;kill -9 [PID]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blmCvM/btqHy6TDhtS/wq3nxLEJwWYfi9NF8kRiy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blmCvM/btqHy6TDhtS/wq3nxLEJwWYfi9NF8kRiy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blmCvM/btqHy6TDhtS/wq3nxLEJwWYfi9NF8kRiy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblmCvM%2FbtqHy6TDhtS%2Fwq3nxLEJwWYfi9NF8kRiy1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>공부공부</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/18</guid>
      <comments>https://feel0804.tistory.com/18#entry18comment</comments>
      <pubDate>Mon, 8 Jun 2020 19:12:20 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 10 한글이 안쳐질때(영, 한 바뀌지 않을때)</title>
      <link>https://feel0804.tistory.com/17</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cz1yNH/btqEalTMLOX/2qMXZkFGjHk3aa2keyZYq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cz1yNH/btqEalTMLOX/2qMXZkFGjHk3aa2keyZYq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cz1yNH/btqEalTMLOX/2qMXZkFGjHk3aa2keyZYq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcz1yNH%2FbtqEalTMLOX%2F2qMXZkFGjHk3aa2keyZYq1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;win+ R 키를 눌러 들어간뒤 ctfmon.exe를 입력 후 확인을 클릭하면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>끄적끄적</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/17</guid>
      <comments>https://feel0804.tistory.com/17#entry17comment</comments>
      <pubDate>Fri, 15 May 2020 16:36:14 +0900</pubDate>
    </item>
    <item>
      <title>선형 칼만필터</title>
      <link>https://feel0804.tistory.com/16</link>
      <description>&lt;p&gt;예측값과 측정값을 바탕으로하여&lt;/p&gt;
&lt;p&gt;추정값을 계산하는 필터&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;외부입력 : (측정값)&lt;/p&gt;
&lt;p&gt;칼만필터를 통해 나오는 출력값 : (추정값)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;시스템 모델 변수 : A,H,Q,R&lt;/p&gt;
&lt;p&gt;칼만 필터 내부에 사용되는 변수:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQFqu6/btqD1pInlc2/mgLNpoVfE0A4jKUbAkfCz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQFqu6/btqD1pInlc2/mgLNpoVfE0A4jKUbAkfCz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQFqu6/btqD1pInlc2/mgLNpoVfE0A4jKUbAkfCz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQFqu6%2FbtqD1pInlc2%2FmgLNpoVfE0A4jKUbAkfCz1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;상태정보 모델 : 시스템의 운동방정식을 상태변수에 대해 1차 미분방정식으로 표현한 모델&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;먼저 칼만필터를 이해하기 위해 조금 거슬러 올라가면&lt;/p&gt;
&lt;p&gt;칼만필터는 저주파 통과 모델과 유사(재귀필터)&lt;/p&gt;
&lt;p&gt;그리고 저주파 통과 필터는 기본적으로 이동평균 필터를 개선하여 구현됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저 k-n+1번째 데이터에서 k번째 데이터까지 총 n개 데이터의 이동평균을 재귀식으로 나타내면&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5OAcD/btqDZYSlWM2/xv0I9cUTAJUnfR8AF6kKK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5OAcD/btqDZYSlWM2/xv0I9cUTAJUnfR8AF6kKK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5OAcD/btqDZYSlWM2/xv0I9cUTAJUnfR8AF6kKK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5OAcD%2FbtqDZYSlWM2%2Fxv0I9cUTAJUnfR8AF6kKK1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이러한 식을 얻어낼 수 있습니다.&lt;/p&gt;
&lt;p&gt;이 식의 단점은 평균을 얻고자 하는 데이터에 모든 동일한 가중치를 부여하여 계산했다는 점 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이것을 개선한 식이 저주파 통과 필터 식이며 다음과 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cm093a/btqD2Gh8W5U/UOqBMpTk8MFoDYLkz1iuIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cm093a/btqD2Gh8W5U/UOqBMpTk8MFoDYLkz1iuIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cm093a/btqD2Gh8W5U/UOqBMpTk8MFoDYLkz1iuIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcm093a%2FbtqD2Gh8W5U%2FUOqBMpTk8MFoDYLkz1iuIK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFCWFO/btqD2FXSTOx/5TH7EqZZiqRAbH9k24BUd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFCWFO/btqD2FXSTOx/5TH7EqZZiqRAbH9k24BUd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFCWFO/btqD2FXSTOx/5TH7EqZZiqRAbH9k24BUd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFCWFO%2FbtqD2FXSTOx%2F5TH7EqZZiqRAbH9k24BUd1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;알파 값은 0과 1사이의 수로 가중치를 조절하여 오래된 데이터일수록 가중치를 낮게 부여할수 있는것이 특징입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 식과 유사한 식이 바로 칼만필터의 추정값을 계산식에 들어가게되어 최종 원하는 결과물을 만들게 됩니다.&lt;/p&gt;
&lt;p&gt;칼만필터가 저주파 통과 필터 식에서 개선된 점은 바로 알파 값(칼만필터에서 K)이 계속 바뀐다는 점 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5FT4F/btqD2vOF16T/kcABfhPAE54tM41MP5ukg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5FT4F/btqD2vOF16T/kcABfhPAE54tM41MP5ukg0/img.png&quot; data-alt=&quot;위첨자의 의미는 예측값, 아래첨자(k)는 시간을 의미&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5FT4F/btqD2vOF16T/kcABfhPAE54tM41MP5ukg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5FT4F%2FbtqD2vOF16T%2FkcABfhPAE54tM41MP5ukg0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;위첨자의 의미는 예측값, 아래첨자(k)는 시간을 의미&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;예측과정 : 직전 추정값(xk) 과 오차 공분산(Pk)이 입력,&lt;/p&gt;
&lt;p&gt;최종결과가 예측값(xk(슬래쉬), Pk(슬래쉬))&lt;/p&gt;
&lt;p&gt;예측과정에서 사용되는 시스템 모델 변수는 A , Q , (B)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;추정과정 : 예측과정에서 결과물인 예측값과 더불어 측정값(Zk) 가 입력, 측정값과 예측값의 차이를 보정하여 새로운 추정값을 계산함.&lt;/p&gt;
&lt;p&gt;결과가 현재 추정값과 현재상태의 오차 공분값 (예측과정의 오차 공분산으로 들어가게 됩니다.)&lt;/p&gt;
&lt;p&gt;추정과정에서 사용되는 시스템 모델 변수는 H, R&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;오차 공분산은 수학적으로 다음과 같은 의미를 가집니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGx7xa/btqD3dmwbtM/bKzZpVwICfV1XTqOKCM6F0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGx7xa/btqD3dmwbtM/bKzZpVwICfV1XTqOKCM6F0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGx7xa/btqD3dmwbtM/bKzZpVwICfV1XTqOKCM6F0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGx7xa%2FbtqD3dmwbtM%2FbKzZpVwICfV1XTqOKCM6F0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;보통은 시스템 모델이 실제 모델과 얼마나 비슷한지에 따라 필터성능이 크게 좌우 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위의 과정을 반복적으로 시행하여 필터역할을 수행하게 됩니다.&lt;/p&gt;</description>
      <category>공부공부</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/16</guid>
      <comments>https://feel0804.tistory.com/16#entry16comment</comments>
      <pubDate>Sat, 9 May 2020 21:36:38 +0900</pubDate>
    </item>
    <item>
      <title>Visual Studio) netsdk1 에러 발생시</title>
      <link>https://feel0804.tistory.com/15</link>
      <description>&lt;p&gt;솔루션 내의 가장 상위 폴더에 있는 obj파일 삭제후&lt;/p&gt;
&lt;p&gt;Nuget 복원하면 대부분 해결된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/15</guid>
      <comments>https://feel0804.tistory.com/15#entry15comment</comments>
      <pubDate>Wed, 6 May 2020 10:03:40 +0900</pubDate>
    </item>
    <item>
      <title>Mission Planner Tuning</title>
      <link>https://feel0804.tistory.com/14</link>
      <description>&lt;p&gt;장비를 자체 제작하고 픽스호크만 활용하여 Waypoint navigation을 진행할 시&lt;/p&gt;
&lt;p&gt;여러가지 원인으로 원하는 지점으로 가지 않을 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그럴경우에는 먼저&lt;/p&gt;
&lt;p&gt;1. 가속도계 교정과 컴퍼스 교정을 해주고 난 후,&lt;/p&gt;
&lt;p&gt;2. ARMING_CHECK를 활성화 하여 에러가 나오면 해결해 줍니다.&lt;/p&gt;
&lt;p&gt;3. 그 다음 Mission Planner 에서 Parameter 수정을 통해 튜닝작업을 해주면 대부분 해결 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때, 대표적으로 수정할 Parameter에 대해 알아보면&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;111111111111.JPG&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;578&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ei9reo/btqCRy7UdjT/3c0nVps6DVdZoSrwKilC21/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ei9reo/btqCRy7UdjT/3c0nVps6DVdZoSrwKilC21/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ei9reo/btqCRy7UdjT/3c0nVps6DVdZoSrwKilC21/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fei9reo%2FbtqCRy7UdjT%2F3c0nVps6DVdZoSrwKilC21%2Fimg.jpg&quot; data-filename=&quot;111111111111.JPG&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;578&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;모터에 속도가 나오지 않거나, 윙 소리가 나는 경우 변경을 고려해 볼 Parameter 입니다.&lt;/p&gt;
&lt;p&gt;MOT_PWM_TYPE : 장비에 사용된 모터에 따라 변경해 줍니다.&lt;/p&gt;
&lt;p&gt;브러쉬리스 모터의 경우 Default값인 0으로 설정해 줍니다.&lt;/p&gt;
&lt;p&gt;브러쉬 모터의 경우 주파수 값이 16kHz인데 이것 또한 모터에 따른 적절한 주파수 값을 알고 있다면 변경하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;22222222.JPG&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;417&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckJUfR/btqCUbRs1qT/4XdwXyvHKmIcpDxWXXD1a0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckJUfR/btqCUbRs1qT/4XdwXyvHKmIcpDxWXXD1a0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckJUfR/btqCUbRs1qT/4XdwXyvHKmIcpDxWXXD1a0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckJUfR%2FbtqCUbRs1qT%2F4XdwXyvHKmIcpDxWXXD1a0%2Fimg.jpg&quot; data-filename=&quot;22222222.JPG&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;417&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;모터에 속도를 제한 하고 싶을 경우&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SERVOx_MIN , SERVOx_MAX : Navigation 수행할때 속도가 너무 빠르거나 느릴 경우 변경해 주면 됩니다.&lt;/p&gt;
&lt;p&gt;CRUISE_SPEED나 다른 Parameter또한 많지만 이 것이 가장 확실한 방법이라 생각합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3333333333333.JPG&quot; data-origin-width=&quot;582&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cr0qA0/btqCTwVNdx6/8oiFErkVXjEQGiz5tgifFk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cr0qA0/btqCTwVNdx6/8oiFErkVXjEQGiz5tgifFk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cr0qA0/btqCTwVNdx6/8oiFErkVXjEQGiz5tgifFk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr0qA0%2FbtqCTwVNdx6%2F8oiFErkVXjEQGiz5tgifFk%2Fimg.jpg&quot; data-filename=&quot;3333333333333.JPG&quot; data-origin-width=&quot;582&quot; data-origin-height=&quot;209&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;만약 시동을 걸었을때 정지해 있는 상태가 아니라 계속 움직인다면&lt;/p&gt;
&lt;p&gt;SERVO1_TRIM 값을 SERVO1_MIN값과 같도록 변경해 줍니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;4444444444.JPG&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;347&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uOglQ/btqCVEL7NNQ/UxatxEKxvxDdGa1cvVklcK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uOglQ/btqCVEL7NNQ/UxatxEKxvxDdGa1cvVklcK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uOglQ/btqCVEL7NNQ/UxatxEKxvxDdGa1cvVklcK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuOglQ%2FbtqCVEL7NNQ%2FUxatxEKxvxDdGa1cvVklcK%2Fimg.jpg&quot; data-filename=&quot;4444444444.JPG&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;347&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;회전과 관련하여&lt;/p&gt;
&lt;p&gt;NAVL1_PERIOD : 1-60까지의 숫자중 낮은 값일 수록 급격한 회전과 정지가 이루어 집니다.&lt;/p&gt;
&lt;p&gt;(60일 경우 회전이 이루어 지지 않습니다.)&lt;/p&gt;
&lt;p&gt;Navigaion 시 회전이 이루어 지지 않거나 너무 갑작스레 회전이 발생하면 이 Parameter를 바꾸어 주면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;555555555.JPG&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;193&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/52oZh/btqCQnFNlF4/ikTZC2Fu0466TamCPOXTZ1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/52oZh/btqCQnFNlF4/ikTZC2Fu0466TamCPOXTZ1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/52oZh/btqCQnFNlF4/ikTZC2Fu0466TamCPOXTZ1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F52oZh%2FbtqCQnFNlF4%2FikTZC2Fu0466TamCPOXTZ1%2Fimg.jpg&quot; data-filename=&quot;555555555.JPG&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;193&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Navigation 정확도에 관련하여&lt;/p&gt;
&lt;p&gt;ATC_STR_RAT_FF : 만약 직진 구간에서 좌우로 S자 곡선을 그리면서 전진하거나,&lt;/p&gt;
&lt;p&gt;Navigation 정확도가 높지 않을때 고려해 볼만한 Parameter 입니다.&lt;/p&gt;
&lt;p&gt;값이 0이거나 0.2정도로 낮을경우 1이나 1.2정도로 높인 후 다시 시도 해보면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;FF의 값에 따라 PID 값도 수정하는 것을 권장합니다.&lt;/p&gt;
&lt;p&gt;대부분 값은 FF&amp;gt; P &amp;gt; I &amp;gt; D 의 크기를 가지며,&lt;/p&gt;
&lt;p&gt;D값은 대부분 0 이거나 매우 낮은 수치입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;Parameter의 값은 각 장비마다 최적의 값이 모두 다르기 때문에 기본값에서 시작하여&lt;/p&gt;
&lt;p&gt;실험을 진행하며 하나하나 변경해 보는 것이 가장 좋다고 생각합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <category>tuning</category>
      <category>미션플래너</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/14</guid>
      <comments>https://feel0804.tistory.com/14#entry14comment</comments>
      <pubDate>Mon, 23 Mar 2020 10:55:56 +0900</pubDate>
    </item>
    <item>
      <title>RTK-GPS 측정방법과 정확도</title>
      <link>https://feel0804.tistory.com/13</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;RTK_diagram.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;573&quot; width=&quot;437&quot; height=&quot;313&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgsHZ2/btqCuZKDe0C/ovYjz3IpBk6Y5D5kFC5mnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgsHZ2/btqCuZKDe0C/ovYjz3IpBk6Y5D5kFC5mnK/img.png&quot; data-alt=&quot;RTK측정방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgsHZ2/btqCuZKDe0C/ovYjz3IpBk6Y5D5kFC5mnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgsHZ2%2FbtqCuZKDe0C%2FovYjz3IpBk6Y5D5kFC5mnK%2Fimg.png&quot; data-filename=&quot;RTK_diagram.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;573&quot; width=&quot;437&quot; height=&quot;313&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RTK측정방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;RTK-GPS의 측정방법은&lt;/p&gt;
&lt;p&gt;1) Base는 정확한 위치를 가지고 있는다고 가정합니다.&lt;/p&gt;
&lt;p&gt;2) Rover와 Base는 GPS데이터를 받고 Base는 자신의 위치와 GPS데이터간의 오차를 계산해 냅니다.&lt;/p&gt;
&lt;p&gt;3) 계산해 낸 오차를 Base는 Rover에게 전송하여 GPS데이터를 수정하도록 합니다.&lt;/p&gt;
&lt;p&gt;4) 이러한 과정의 반복으로 Rover는 정확한 위치를 찾을수 있게 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;GNSS : Global Navigation Staellite System 위성항법시스템&lt;/p&gt;
&lt;p&gt;미국의 GNSS 시스템이 GPS//&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-&amp;gt; 보정없는 GNSS 신호면 평균 5~10m의 오차가 발생합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;정확도는 BASE설치하여 GPS를 보정하는 시간과 로버와의 거리에 따라 달라지며&lt;/p&gt;
&lt;p&gt;수일동안 보정하면 보통 1~2cm내외 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p&gt;일반적으로 GPS의 정확도는 10진수법으로 나타낼 경우&lt;/p&gt;
&lt;p&gt;소수점 5자리의 일때 1.1m내외, 6자리의 경우 11cm , 7자리의 경우 약 1.1cm내외입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3.PNG&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUbuTF/btqCuZxddkF/85LqVa2MQlR1ogKxoZBVGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUbuTF/btqCuZxddkF/85LqVa2MQlR1ogKxoZBVGk/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp;소수점 정확도에 따른 GPS 오차&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUbuTF/btqCuZxddkF/85LqVa2MQlR1ogKxoZBVGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUbuTF%2FbtqCuZxddkF%2F85LqVa2MQlR1ogKxoZBVGk%2Fimg.png&quot; data-filename=&quot;3.PNG&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;349&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp;소수점 정확도에 따른 GPS 오차&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;MP에서 RTK를 사용할 경우 GPS의 데이터 전송 과정은&lt;/p&gt;
&lt;p&gt;BASE : 바로 RTK-GPS데이터 값을 보여주고&lt;/p&gt;
&lt;p&gt;ROVER : GPS모듈에서 받은 신호값 -&amp;gt; Pixhawk내부에서 EKF보정 처리 -&amp;gt; MAVLink를 통해 BASE로 전달 됩니다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때 Pixhawk내부 펌웨어와 MAVLink모두 데이터 처리형이 float형입니다.&lt;/p&gt;
&lt;p&gt;따라서 밑의 소수부분은 자른 후 소수 7번째자리 까지 데이터만 전송하고 신뢰구간은 소수 6번째 자리까지 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.PNG&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;173&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EnVkq/btqCrka7pJl/RwOZVkCNXEJRodbwvBbKq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EnVkq/btqCrka7pJl/RwOZVkCNXEJRodbwvBbKq0/img.png&quot; data-alt=&quot;아두파일럿 Here+ RTK GPS&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EnVkq/btqCrka7pJl/RwOZVkCNXEJRodbwvBbKq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEnVkq%2FbtqCrka7pJl%2FRwOZVkCNXEJRodbwvBbKq0%2Fimg.png&quot; data-filename=&quot;1.PNG&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;173&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아두파일럿 Here+ RTK GPS&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 아두파일럿 RTK 문서를 보니 상대 위치 절대 위치의 표현이 있어 조금 헷갈렸습니다.&lt;/p&gt;
&lt;p&gt;여기서&lt;/p&gt;
&lt;p&gt;상대위치 = MP나 Qgroundcontrol에 나타나는 로버의 GPS좌표&lt;/p&gt;
&lt;p&gt;절대위치 = 실제 진짜 로버의 위치로 해석하여 이해하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 해석하여 RTK문서부분을 보면 BASE의 오차가 만약 6cm정도이면&lt;/p&gt;
&lt;p&gt;로버의 오차또한 6cm정도로 보아도 문제없다는 것을 알 수 있습니다./&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;RTK Float 와 RTK Fixed가 있는데&lt;/p&gt;
&lt;p&gt;RTK Fixed가 더 정확합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <category>ardupilot</category>
      <category>RTK</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/13</guid>
      <comments>https://feel0804.tistory.com/13#entry13comment</comments>
      <pubDate>Thu, 5 Mar 2020 10:29:41 +0900</pubDate>
    </item>
    <item>
      <title>Pixhawk와 미션플래너를 활용하여 WayPoint 사용하기</title>
      <link>https://feel0804.tistory.com/12</link>
      <description>&lt;p&gt;아두이노와 라즈베리파이를 활용하여 여러가지를 제작해 보면서 여러 보드들도 알게 되었고 그 중 하나가 픽스호크 입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;저는 이 픽스호크와 이것을 사용하기 위한 GCS프로그램인 미션플래너를 활용하여&lt;/p&gt;
&lt;p&gt;지정 포인트 이동을 하는 로버를 제작해 보기로 하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;미션플래너를 활용하기 위하여 픽스호크를 산 것이나 같습니다.&lt;/p&gt;
&lt;p&gt;픽스호크 드론의 정석 책을 보며 픽스호크와 미션플래너에 대해 학습하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;교제에 나와있는 드론이 아니라 직접 로버를 제작해 보는 것이여서&lt;/p&gt;
&lt;p&gt;WayPoint 설정 방법과 제작시 미처 생각하지 못했던 점을 정리해 보려 합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[조종기 없이 미션플래너만 가지고 WayPoint 수행하기]&lt;/p&gt;
&lt;p&gt;1. USB를 통해 Pixhawk와 미션플래너를 연결하고 펌웨어를 다운 받습니다.&lt;/p&gt;
&lt;p&gt;2. 로버가 있으면 로버에 장착한후 , Accelerometer Calibration 과 Compass Calibration을 진행합니다.&lt;/p&gt;
&lt;p&gt;(Telemetry가 있다면 USB연결보다는 Telemetry를 사용하는것이 더 편한것 같습니다.)&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Compass Calibration 시, GPS가 잡히는 밖에서 하는것이 더 잘됩니다.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;3. 로버 제작시 자신의 로버가 어떤 형태인지 확인하여 Configuration 진행&lt;/p&gt;
&lt;p&gt;&lt;i&gt;저는 스키드 스티어링 장비였으며 그에 맞게 세팅을 하였습니다.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;a href=&quot;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&quot;&gt;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1581085217796&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Motor and Servo Configuration &amp;mdash; Rover  documentation&quot; data-og-description=&quot;Motor and Servo Configuration This page describes the few parameters that should be set in order to support the steering and throttle method being used. This page is closely related to the Motor and Servo Connections page which describes the physical conne&quot; data-og-host=&quot;ardupilot.org&quot; data-og-source-url=&quot;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&quot; data-og-url=&quot;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Motor and Servo Configuration &amp;mdash; Rover documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Motor and Servo Configuration This page describes the few parameters that should be set in order to support the steering and throttle method being used. This page is closely related to the Motor and Servo Connections page which describes the physical conne&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;ardupilot.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;4. 조종기가 없었기 때문에 다른 조정은 하지 않았습니다.&lt;/p&gt;
&lt;p&gt;5. FLIGHT PLAN에서 WayPoint 설정하기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;캡처33.JPG&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PpgoY/btqBODvdN6l/E41EyuJ5HQKxZGRFPOQMe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PpgoY/btqBODvdN6l/E41EyuJ5HQKxZGRFPOQMe1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PpgoY/btqBODvdN6l/E41EyuJ5HQKxZGRFPOQMe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPpgoY%2FbtqBODvdN6l%2FE41EyuJ5HQKxZGRFPOQMe1%2Fimg.jpg&quot; data-filename=&quot;캡처33.JPG&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;348&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;GPS가 잡힌 상태여야 하며&lt;/p&gt;
&lt;p&gt;처음일 경우 Home Location (현재 GPS가 잡힌 위치로 이동)&lt;/p&gt;
&lt;p&gt;-&amp;gt; 이동할 곳을 지도상에서 클릭&lt;/p&gt;
&lt;p&gt;-&amp;gt; Write WPs 클릭&lt;/p&gt;
&lt;p&gt;-&amp;gt; Read WPs 클릭 하여 진행합니다.&lt;/p&gt;
&lt;p&gt;6. 그러면 FLIGHT DATA 상에 WayPoint와 차량의 위치가 나오게 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;444.JPG&quot; data-origin-width=&quot;525&quot; data-origin-height=&quot;379&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WP2FW/btqBOtfkXYE/6VM10qjdzWes6AhwOv4coK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WP2FW/btqBOtfkXYE/6VM10qjdzWes6AhwOv4coK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WP2FW/btqBOtfkXYE/6VM10qjdzWes6AhwOv4coK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWP2FW%2FbtqBOtfkXYE%2F6VM10qjdzWes6AhwOv4coK%2Fimg.jpg&quot; data-filename=&quot;444.JPG&quot; data-origin-width=&quot;525&quot; data-origin-height=&quot;379&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그 다음 캡처화면의 우측상단부분이 HOLD라고 되어있을 것인데 그것을 AUTO로 바꿔줘야합니다.&lt;/p&gt;
&lt;p&gt;Actions 에서 LOITER_UNLIM부분을 MISSION_START로 바꾸거나&lt;/p&gt;
&lt;p&gt;세번째에 있는 Auto 를 Set Mode로 바꾸어 주면&lt;/p&gt;
&lt;p&gt;우측상단이 Auto로 바뀔것이고 바로 아래에 데이터가 나타나게 됩니다. (해당 WP까지 거리&amp;gt; 지금가고 있는 WP번호)&lt;/p&gt;
&lt;p&gt;7. 그 다음 시동을 걸어줘야 합니다. (Arming 이라고 합니다.)&lt;/p&gt;
&lt;p&gt;Arm/Disarm 부분을 클릭해 주면 지정해준 WayPoint대로 차량이 움직이게 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[제작시 처음에 미처 생각하지 못했던점]&lt;/p&gt;
&lt;p&gt;1. 미션플래너는 언어를 영어로 바꾸는 것이 좋은것 같습니다.&lt;/p&gt;
&lt;p&gt;한글 지원이 되지만 일부이고 ArduPilot이란 사이트에서 미션플래너의 정보를 많이 얻는데 거의 대부분이 영어로 되어있어서 영어로 설정해 놓고 진행하는 것이 좋습니다.&lt;/p&gt;
&lt;p&gt;Configuration 에서 UI Language 부분에 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;미션플래너1.JPG&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMhO8W/btqBPW177bq/kirmocAjFrs0FZVA9KQTqk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMhO8W/btqBPW177bq/kirmocAjFrs0FZVA9KQTqk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMhO8W/btqBPW177bq/kirmocAjFrs0FZVA9KQTqk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMhO8W%2FbtqBPW177bq%2FkirmocAjFrs0FZVA9KQTqk%2Fimg.jpg&quot; data-filename=&quot;미션플래너1.JPG&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;196&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;2. Mission Planner는 조금 예전 버전이 좋은것 같습니다.&lt;/p&gt;
&lt;p&gt;픽스호크가 최신 버젼이 아니라면 Mission Planner도 조금 예전 버젼을 설치하는 것이 조금 더 도움이 될 수도 있습니다.&lt;/p&gt;
&lt;p&gt;저는 픽스호크 2&amp;nbsp; Cube에 미션플래너는 1.3.50버전으로 진행하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp; 입출력 핀들이 있는 곳이 뒤쪽이고 GPS는 화살표가 앞을 향하도록 위치한다.&lt;/p&gt;
&lt;p&gt;이것은 기초적인 내용이지만 미처 생각하지 못하고 제작하여 고생한 경험이 있어서 적었습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. 외부 GPS는 픽스호크와 떨어져서 달고 가장 위에 위치한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. 자기장 문제 : 가장 문제가 많았던 부분이였습니다.&lt;/p&gt;
&lt;p&gt;보통 에러를 UHD의 EKF를 클릭하여 보거나 메세지로 확인하였는데 Compass 부분이 항상 문제였습니다.&lt;/p&gt;
&lt;p&gt;저는 이것을 픽스호크와 GPS 아래에 알루미늄 호일을 깔아 차폐를 시켰 보정하였고,&lt;/p&gt;
&lt;p&gt;그 이후 Compass 교정을 진행하여 조금 해결하였습니다.&lt;/p&gt;
&lt;p&gt;Compass 교정시에 Fitness 부분을 Strict로 하고 진행하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6. 생각되로 움직이지 않을시 메세지와 UHD를 항상 체크하기.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;미션플래너2.JPG&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;393&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZHTqy/btqBO7QmrOa/U2wLksvMUAeOqBgaeRlMC1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZHTqy/btqBO7QmrOa/U2wLksvMUAeOqBgaeRlMC1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZHTqy/btqBO7QmrOa/U2wLksvMUAeOqBgaeRlMC1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZHTqy%2FbtqBO7QmrOa%2FU2wLksvMUAeOqBgaeRlMC1%2Fimg.jpg&quot; data-filename=&quot;미션플래너2.JPG&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;393&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;캡처2.JPG&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdwtTk/btqBQ1okt1W/1MJOhbX79cmVWP9HYZ7A0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdwtTk/btqBQ1okt1W/1MJOhbX79cmVWP9HYZ7A0K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdwtTk/btqBQ1okt1W/1MJOhbX79cmVWP9HYZ7A0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdwtTk%2FbtqBQ1okt1W%2F1MJOhbX79cmVWP9HYZ7A0K%2Fimg.jpg&quot; data-filename=&quot;캡처2.JPG&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;240&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;적힌 에러는 구글에 pixhawk + 에러 메세지를 검색하여 찾아 해결하였습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;7. Waypoint는 정확하지는 않습니다. 조금 더 기다려 보기.&lt;/p&gt;
&lt;p&gt;저는 Waypoint 지정을 하고 시동을 걸면 정확하게 갈줄 알았는데 그러지는 않았습니다.&lt;/p&gt;
&lt;p&gt;그럴때마다 항상 장비 가동을 멈추고 문제를 생각해 보곤했지만, 해결하지는 못했습니다.&lt;/p&gt;
&lt;p&gt;하지만 가만히 놔두니 조금 오차는 있지만 WayPoint대로 움직이는 것을 볼 수 있었습니다.&lt;/p&gt;
&lt;p&gt;큰 에러가 아닐시 조금 더 기다려 보는것을 추천합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>공부공부</category>
      <category>PIXHAWK</category>
      <category>미션플래너</category>
      <category>픽스호크</category>
      <author>필님님</author>
      <guid isPermaLink="true">https://feel0804.tistory.com/12</guid>
      <comments>https://feel0804.tistory.com/12#entry12comment</comments>
      <pubDate>Fri, 7 Feb 2020 23:31:22 +0900</pubDate>
    </item>
  </channel>
</rss>