본문 바로가기

makepluscode

ROS2 완독 챌린지 Week5 (Ch.17~20) ROS2 개발서적 완독 챌린지 Week5 2023년 4월 부터 12주 동안, 판교오로카 회원님들과 "ROS2로 시작하는 로봇 프로그램"(표윤석, 임태훈 지음) 을 완독하는 챌린지 입니다. 매주 4개의 Chapter 를 읽고 책의 내용을 블로그에 정리합니다. 17장 ROS2 도구와 CLI 명령어 우리가 로봇을 개발할 때, 소프트웨어 프레임워크를 사용하는 목적 중 하나는 다양한 개발 도구의 지원 때문 입니다. ROS프레임워크에서 제공하는 개발 도구는 다음과 같이 4가지로 분류할 수 있습니다. Command-Line 명령어 RQT 기반의 GUI 도구들 3차원 시각화툴, RViz 3차원 시뮬레이터, Gazebo 명령어 도구를 사용하면 ROS의 대부분 기능을 사용할 수 있습니다. colcon은 개발 환경, 빌드,.. 더보기
Github README.md 에 이미지 올리기 Github README.md 에 이미지 업로드 방법 Github 에는 markdown 언어로 문서를 작성할 수 있다. 이 문서에 이미지를 첨부하는 방법을 정리한다. 예를 들어 다음 makepluscode 의 github 처럼 이미지를 추가할 있다. https://github.com/makepluscode/arduino-tutorial-basic GitHub - makepluscode/arduino-tutorial-basic: Repositories for Arduino Tutorial Basic. Repositories for Arduino Tutorial Basic. Contribute to makepluscode/arduino-tutorial-basic development by creating a.. 더보기
[ARDUINO] 아두이노 튜토리얼 10 : Joy stick 아두이노 튜토리얼 10 : Joy stick 조이스틱 아두이노 기초 튜토리얼 목표 열번째, Arduino 강좌에서는 ARDUINO 아두이노로 조이스틱, Joystick 을 읽는 코드를 만들어보고 실행해본다. 아두이노로 Joystick 조이스틱 어플리케이션을 만들어보자! 실습코드 아두이노 스케치에서 다음 조이스틱 Joystick 값을 읽는 코드를 Write 한다. void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10,INPUT); digitalWrite(10, HIGH); } void loop() { // put your main cod.. 더보기
[ARDUINO] 아두이노 튜토리얼 09 : 리드 스위치 아두이노 튜토리얼 09 : 리드 스위치 아두이노 기초 튜토리얼 목표 이번 튜토리얼에서는 ARDUINO 아두이노로 리드 스위치를 제어하는 코드를 작성하고 실습한다. 리드 스위치 모듈은 자기력을 감지하는 센서이고, 유리관 안에 양극의 리드가 있고, 자석의 힘으로 리드가 붙게 되는 원리의 스위치 이다. 아두이노로 Reed Sensor 를 제어해보자 실습코드 아두이노 스케치에서 다음의 코드를 작성하고 실행한다. void setup() { // put your setup code here, to run once: Serial.begin(9600); //Serial Monitor 통신 설정 pinMode(12, INPUT); // 자성 감지 입력 Port 설정 } void loop() { // put your ma.. 더보기
Deepstream 를 이용하여 유동인구를 분석해보자! Deepstream 6.0 유동인구 분석 예제 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 를 이용하여 유동인구를 분석할 수 있는 예제를 실행해본다. Deepstream 이 관한 개발환경은 아래 포스팅을 참고한다. 2022.07.10 - [NVIDIA Jeston/Deepstream] - Deepstream 처음 설치하고 실행하기 2022.07.13 - [NVIDIA Jeston/Deepstream] - Deepstream graphviz dot 그래프를 이용한 시각화 2022.07.13 - [NVIDIA Jeston/Deepstream] - Deepstream 오브젝트 트래커 예제 실행하기 이 예제에서는 에서 제공하는 deepstream-occupancy-analytic .. 더보기
Deepstream 오브젝트 트래커 예제 실행하기 Deepstream 6.0 오브젝트 트래커 예제 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 의 Object Tracker 예제를 실행해보고 파이프라인을 분석한다. Deepstream 6.0 오브젝트 트래커 어플리케이션 실행하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 설치는 아래 포스팅을 참고한다. 2022.07.10 - [임베디드 컴퓨팅/nVidia Jetson] - [Jetson] JetPack4.6 Deepstream 6.0 설치하기 [Jetson] JetPack4.6 Deepstream 6.0 설치하기 JetPack4.6 에서 Deepstream 6.0 설치하기 NVIDIA Xavier NX devkit 에 apt-get 명령으로 .. 더보기
Deepstream graphviz dot 그래프를 이용한 시각화 Deepstream 6.0 graphviz 그래프 생성하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 의 샘플 어플리케이션의 graphviz 를 생성한다. graphviz 를 이용하면 복잡한 gstreamer pipeline 입출력 관계를 분석하는데 도움이 된다. Deepstream 6.0 샘플 어플리케이션 실행하기 NVIDIA Xavier NX devkit 에서 Deepstream 6.0 설치는 아래 포스팅을 참고한다. 2022.07.10 - [임베디드 컴퓨팅/nVidia Jetson] - [Jetson] JetPack4.6 Deepstream 6.0 설치하기 [Jetson] JetPack4.6 Deepstream 6.0 설치하기 JetPack4.6 에서 Deepstre.. 더보기
[ARDUINO] 아두이노 튜토리얼 08 : 터치센서 아두이노 튜토리얼 08 : 터치센서 아두이노 기초 튜토리얼 목표 이번 튜토리얼에서는 ARDUINO 아두이노로 터치센서를 제어하는 코드를 작성하고 실습한다. 아두이노로 터치센서를 읽어보자! 실습코드 아두이노 스케치를 설치하고 다음의 코드를 작성한다. void setup() { // put your setup code here, to run once: Serial.begin(9600); // 터치 결과값을 확인할 Serial Monitor 통신 설정 pinMode(12, INPUT); // 터치 결과 값을 전달 받을 Port } void loop() { // put your main code here, to run repeatedly: // 터치 시 센서 값을 확인하면 HIGH 됩니다. // 이 때 Seri.. 더보기
[ARDUINO] 아두이노 튜토리얼 07 : 컬러 플래시 아두이노 튜토리얼 07 : 컬러 플래시 아두이노 기초 튜토리얼 목표 이번 튜토리얼에서는 ARDUINO 아두이노로 컬러 플래시를 제어하는 코드를 작성하고 실습한다. 아두이노로 컬러플래시를 조정해보자! 실습코드 아두이노 스케치를 설치하고 다음의 코드를 작성한다. void setup() { // put your setup code here, to run once: pinMode(12, OUTPUT); // 7 color flash 연결 Port digitalWrite(12, LOW); // 7 color flash 연결 Port에 기본 값 적용 } void loop() { // put your main code here, to run repeatedly: digitalWrite(12, HIGH); // 7 c.. 더보기
[ARDUINO] 아두이노 튜토리얼 06 : Button 제어하기 아두이노 튜토리얼 06 : Button Button 아두이노 기초 튜토리얼 목표 이번 튜토리얼에서는 ARDUINO 아두이노로 Button 제어하는 코드를 작성하고 실습한다. 아두이노로 Button 을 제어해보자! 실습코드 아두이노 스케치를 설치하고 다음의 코드를 작성한다. int Button = 9; byte LastState = LOW; void setup() { Serial.begin(9600); pinMode(Button, INPUT); digitalWrite(Button, HIGH); } void loop() { byte NowState = digitalRead(Button); if (HIGH == LastState) { if (LOW == NowState) { Serial.println("Pus.. 더보기
[ARDUINO] 아두이노 튜토리얼 01 : LED 제어하기 아두이노 튜토리얼 01 : LED 제어하기 아두이노 기초 튜토리얼 목표 이번 튜토리얼에서는 ARDUINO 아두이노로 LED 를 제어하는 코드를 작성하고 실습한다. 아두이노로 LED 를 제어해보자! 실습코드 아두이노 스케치를 설치하고 다음의 코드를 작성한다. void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } 위 코드의 간단한 설명은 다음과 같다. LED 가 연결되어 있는 13번 포트를 출력(output) 으로 설정한다. LED 가 연결되어 있는 13번 포트에 1초 간격으로 HIGH 와 LOW 를 출력한다. 동영상 튜토리얼 전체 코딩.. 더보기
[OPENCV] 여러개 이미지 합성 + 합치기 C++ 예제 OPENCV 여러개 이미기 합성하고 합치기 OpenCV (Open Source Computer Vision)은 컴퓨터비전 개발을 위한 오픈소스 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전) 여러개 이미지 합성해서 출력하는 C++ 예제 두개의 카메라로 캡처한 이미지를 합성해서, 총 4개의 이미지를 생성한다. OpenCV API 인 hco.. 더보기