'markdown'에 해당되는 글 3건

Dev/Drone

SITL(3) : 실행 및 파라미터


GUIDED 모드


이전 글에서 SITL 을 성공적으로 설치했다면 이번에는 시뮬레이터 속의 드론을 비행시켜 보자.

  • ardupilot/ArduCopter 으로 이동한 후에 아래 명령어를 입력한다. 
sim_vehicle.py -w --map --console

 




 위와 같은 화면 구성이 보일 것이다. 명령어를 실행시켰던 기존 콘솔에서 동작하는 프로세스가 MAVProxy 이다. MAVProxy 에 아래와 같이 명령어를 입력해 보자.

  • 모드를 GUIDED 로 설정한다.
mode GUIDED
  • 모터를 ARM 시킨다.
arm throttle

ARM 은 아두파일럿에서 '시동' 과 비슷한 의미라고 생각해 두면 좋다.

  • 이륙시켜 보자.
takeoff 100

console 에서 altitude 가 20 이 될 때까지 드론이 움직이는 모습을 볼 수 있다.

  • GUIDED 모드는 GCS 에서의 즉각적인 명령에 따르는 모드이다.  MAP 위에서 명령을 날려서 원하는 위치로 날려보자.




Auto 모드


ardupilot 의 mission 기반 자동 비행 기능으로, 'Autopilot'  이름값을 하는 모드이다. SITL 을 실행하고 MAVProxy 에 아래와 같은 명령어를 입력해 보자.

  • 미리 설정된 waypoint 들을 전송

    wp load ../Tools/autotest/copter_mission.txt
    




  • 위와 같이 map 에 waypoint 가 보일 것이다. 먼저 이륙을 시켜보자.

    mode guided 
    arm throttle 
    takeoff 20
    
  • 이륙 후에 모드를 Auto 로 변경하면, waypoint 를 따라서 비행이 시작된다.

    mode auto
    

sim_vehicle.py


sim_vehicle.py 는 아두파일럿의 빌드와 코드의 실행을 자동으로 Simulating & Testing 할 수 있는 스크립트이다.

아레는 sim_vehicle.py -h 을 실행했을 때 볼 수 있는 파라미터들에 대한 설명이다.

Options:
  -h, --help            show this help message and exit
  -v VEHICLE, --vehicle=VEHICLE
                        vehicle type (ArduPlane, ArduCopter or APMrover2)
  -f FRAME, --frame=FRAME
                        set aircraft frame type                      for
                        copters can choose +, X, quad or octa
                        for planes can choose elevon or vtail
  -C, --sim_vehicle_sh_compatible
                        be compatible with the way sim_vehicle.sh works; make
                        this the first option
  -H, --hil             start HIL

  Build options:
    -N, --no-rebuild    don't rebuild before starting ardupilot
    -D, --debug         build with debugging
    -c, --clean         do a make clean before building
    -j JOBS, --jobs=JOBS
                        number of processors to use during build (default for
                        waf : number of processor, for make : 1)
    -b BUILD_TARGET, --build-target=BUILD_TARGET
                        override SITL build target
    -s BUILD_SYSTEM, --build-system=BUILD_SYSTEM
                        build system to use
    --rebuild-on-failure
                        if build fails, do not clean and rebuild
    --waf-configure-arg=WAF_CONFIGURE_ARGS
                        extra arguments to pass to waf in its configure step
    --waf-build-arg=WAF_BUILD_ARGS
                        extra arguments to pass to waf in its build step

  Simulation options:
    -I INSTANCE, --instance=INSTANCE
                        instance of simulator
    -V, --valgrind      enable valgrind for memory access checking (very
                        slow!)
    -T, --tracker       start an antenna tracker instance
    -A SITL_INSTANCE_ARGS, --sitl-instance-args=SITL_INSTANCE_ARGS
                        pass arguments to SITL instance
    -G, --gdb           use gdb for debugging ardupilot
    -g, --gdb-stopped   use gdb for debugging ardupilot (no auto-start)
    -d DELAY_START, --delay-start=DELAY_START
                        delays the start of mavproxy by the number of seconds
    -B BREAKPOINT, --breakpoint=BREAKPOINT
                        add a breakpoint at given location in debugger
    -M, --mavlink-gimbal
                        enable MAVLink gimbal
    -L LOCATION, --location=LOCATION
                        select start location from
                        Tools/autotest/locations.txt
    -l CUSTOM_LOCATION, --custom-location=CUSTOM_LOCATION
                        set custom start location
    -S SPEEDUP, --speedup=SPEEDUP
                        set simulation speedup (1 for wall clock time)
    -t TRACKER_LOCATION, --tracker-location=TRACKER_LOCATION
                        set antenna tracker start location
    -w, --wipe-eeprom   wipe EEPROM and reload parameters
    -m MAVPROXY_ARGS, --mavproxy-args=MAVPROXY_ARGS
                        additional arguments to pass to mavproxy.py
    --strace            strace the ArduPilot binary
    --model=MODEL       Override simulation model to use

  Compatibility MAVProxy options (consider using --mavproxy-args instead):
    --out=OUT           create an additional mavlink output
    --map               load map module on startup
    --console           load console module on startup

대부분 default 로 놓아도 문제가 없지만, 중요한 파라미터는 다음과 같다.

  • --out : MAVProxy 에게 적용되는 파라미터로써, SITL 상에서 존재하는 드론과 연결할 GCS 혹은 다른 Application 의 Address 가 오면 된다.
  • --map : Vehicle 의 위치에 대한(GPS 좌표 기반) 지도를 표시한다. 이 화면을 이용하여 GUIDED 모드의 기능을 테스트하고 Vehicle 의 행동을 그래픽으로 대강이나마 관찰할 수 있다.
  • --console : Vehicle 에 대한 정보를 볼 수 있는 콘솔을 추가로 연다. 그렇지 않으면 기존 터미널에 출력된다.
  • -G --gdb : 디버깅 옵션을 추가한다.
  • -w --wipe-eeprom : eeprom (드론의 보조 기억장치) 를 지우고 시작한다. 사전에 설정된 Mission 등등이 삭제된다.

참고문헌



http://ardupilot.org/dev/docs/copter-sitl-mavproxy-tutorial.html

Dev/etc.

Visual studio code 를 markdown 에디터로 사용해 보자


  

visual studio code

비주얼 스튜디오 코드는 마이크로소프트에서 개발한 chrome 기반의 코드 에디터이다. 

가볍고, 플러그인 개발이 쉬운 장점이 있으며 마이크로소프트의 지원을 받고 있다는 장점이 있다.

링크

Markdown 이란? : 문서작업의 생산성을 향상시키자!


Visual Studio Code




마크다운 문서를 편집할 때 결과물이 어떻게 보일 것인지 확인하면서 작성하면 편한데, 비주얼 스튜디오 코드 1.9 버전에서 Sync Markdown Preview 기능을 지원하게 됨으로써 특별히 플러그인을 깔지 않아도 마크다운 문서가 변경될 때 마다 Preview 를 동기화하여 실시간으로 보여주는 기능이 추가되었다. 한번 사용해 보자.






화면 오른쪽 상단에 Open Preview 버튼을 누른다. 





그러면 Preview 가 열린다. 




이제 Preview 가 열린 탭을 VS code 창의 오른쪽 끝 쪽까지 드래그 하면 화면을 분할하여 사용할 수 있게 된다. 






Copy Markdown as HTML : HTML 로 변환하기


작성한 마크다운 문서를 HTML 로 변환해야 할 필요가 있을 때가 있다. 가령, 티스토리 블로그에 마크다운으로 문서를 작성하고 싶을 때, 티스토리는 마크다운 문법으로 게시글을 쓰는것은 지원하지 않지만 HTML 편집을 지원 하므로 그러한 기능은 매우 유용할 것이다.

다음과 같이 플러그인을 설치한다.



위 플러그인을 설치하고 VS code 를 껏다 켠다. 



그리고 F1 을 눌러 바로가기 검색창을 열고 mark 나 copy 를 치게 되면 위와 같이 Markdown : Copy as HTML 항목이 보일 것이다. 

이것을 선택하게 되면 클립보드에 html 코드가 저장되게 되는데, 붙여넣고 싶은 곳에 가서 Ctrl + V 를 눌러주게 되면 ... 




위와 같이 Markdown 이 HTML 로 변환된 코드가 붙여넣어짐을 확인할 수 있다. 



'Dev > etc.' 카테고리의 다른 글

Markdown 이란? : 문서작업의 생산성을 향상시키자!  (2) 2017.02.03
Dev/etc.

Markdown 이란? (.md 확장자)






markdown 이란?

마크다운은 html 의 사촌 뻘 되는 언어로써, 일종의 문서 편집 도구라 할 수 있다. 마크다운 문법으로 작성된 파일은 md 확장자를 가진다. (.md) 


마크다운의 간단한 문법을 이용하면 Plain text 를 보기 좋게 꾸며줄 수 있다. 일반적으로 위키 편집, README 파일 등에서 사용된다.  백문이 불여일견이니, 예시를 보자.


 # markdown
 ---
from wikipidea, the free encyclopedia


 Markdown is a 
 [lightweight markup language](https://en.wikipedia.org/wiki/Lightweight_markup_language) with 
plain text formatting syntax  designed so that it can be converted to 
[HTML](https://en.wikipedia.org/wiki/HTML) and many other formats using a tool 
 by the same name. Markdown is often used to 
format [readme files](https://en.wikipedia.org/wiki/README), for writing 
 messages in online discussion forums, and to 
create [rich text](https://en.wikipedia.org/wiki/Formatted_text) using a 
 [plain text](https://en.wikipedia.org/wiki/Plain_text) 
[editor](https://en.wikipedia.org/wiki/Text_editor).

[markdown 으로 작성된 문서]




markdown



from wikipidea, the free encyclopedia

Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.



[markdownd 에 의해 생성된 문서]





위의 첫 번째 코드가 아래의 문서로 변환된 것을 볼 수 있다. 보기에는 복잡해 보이나, 알고 보면 매우 간단한 문법이다.  

   이러한 마크다운 언어 등을 이용한 편집 환경과 반대되는 개념으로는 마이크로소프트의 Word, 아래아 한글로 대표되는 위지윅 이 있으니 참고하시길.



왜 마크다운을 사용하는가?


마크다운 언어를 이용하여 얻을 수 있는 가장 큰 장점은 바로 문서를 작성할 때 마우스에 손이 가지 않아 작업 능률이 현저히 빨라진다는 것이다.


 시간 내어 익혀 놓으면 문서 작업 효율을 매우 향상 시킬 수 있다. 아래에서 공부하기에 좋은 자료를 소개하겠다.



사실 마크다운 문법에도 자잘한 차이가 있는 여러 파생종이 있지만 하나를 골라 배워 놓으면 나머지도 적응하기 쉽다. 배워서 남 주나?


참고하면 좋은 문서




Github 마크다운 Syntax


티스토리에 마크다운 적용하기


Visual studio code 를 markdown 에디터로 사용해 보자!





참고문헌 영문 위키

'Dev > etc.' 카테고리의 다른 글

Visual studio code 를 markdown 에디터로 사용해 보자!  (0) 2017.02.05
1
블로그 이미지

IT & Computer Science

빨간호랑이