분류 전체보기

ROS

ROS URDF

1. 관련 패키지 설치sudo apt install liburdfdom-tools ros-melodic-joint-state-publisher-gui 2. 패키지 및 작업 폴더 생성cd ~/${workspack_name}/src # cd ~/ros_ws/src catkin_create_pkg ${package_name} roscpp tf geometry_msgs urdf rviz xacro # catkin_create_pkg urdf_example roscpp tf geometry_msgs urdf rviz xacro cd ../ && catkin_make rospack find ${package_name} # rospack find urdf_example cd src/${package_name} # c..

ROS

ROS custom message

1. 패키지 및 작업 폴더 생성cd ~/${workspack_name}/src # cd ~/ros_ws/src catkin_create_pkg ${package_name} rospy std_msgs # catkin_create_pkg custom_message rospy std_msgs cd ../ && catkin_make rospack find ${package_name} # rospack find custom_message cd src/${package_name} # cd src/custom_message mkdir msg mkdir launch 2. 메시지 형식 정의cd msg로 폴더를 이동한 뒤, vi person.msg 파일을 만들고 아래의 내용을 작성한다.string first_name st..

ROS

ROS 기본 정리

1. ROS 1. 개념 로봇 소프트웨어를 개발하는데 필요한 소프트웨어의 집합체 각종 센서와 모터를 프로그래머가 편하게 사용할 수 있도록 지원 표준화된 통신 프로토콜을 따르는 이기종간의 메시지 교환이 가능 통신은 토픽의 발행 및 구독 기반의 메시지 교환 형식으로 진행 2. 용어 마스터 노드 사이의 통신을 총괄 관리(ROS Core) 노드(node) 실행 가능한 최소 단위의 프로세스으로서 토픽을 주고 받는 통신 주체 토픽(topic) 노드간에 통신할 수 있는 채널 (일방적이거나 지속적, 1:1과 N:N 통신 가능) 메시지(message) 통신되는 실제 데이터 발행자 토픽을 만들어 보내는 노드 구독자 토픽을 받는 노드 패키지(package) 하나 이상의 노드와 노드실행을 위한 정보 등을 묶어놓은 것 2. RO..

딥러닝

Yolov3 Darknet 설정 (Windows11)

darknet-kr kr: 다크넷(darknet): 윈도우와 리눅스를 위한 욜로-v3(yolo-v3)과 욜로-v2(yolo-v2) 출처: https://github.com/AlexeyAB/darknet | 다크넷 | 설치 | 욜로 | 이미지넷분류 | 악몽 | 재사용신경망 | 다크고 | 꼬맹이망 | 분류기벼림 | 사용방법 | | - | - | - | - | - | - | - | - | - | - | (개체 검출을 위한 신경망) - 텐서코어를 리눅스와 윈도우에서 사용할 수 있다. https://zeuseyera.github.io/darknet-kr/11_SaYongBeob/SaYongBeob_Yolo-v3.html 1. Visual Studio 2019 설치 현재 Yolov5는 Visual Studio 20..

딥러닝

WSL2에 CUDA, CuDnn 설치하기

1. 시스템 명령어 활성화하기 WSL에서 su 혹은 sudo 명령어를 사용하기 위해서는 wsl.conf 설정이 필요하다. 사전에 설정이 되어있다면 다음 단계로 넘어간다. WSL에서 /etc/wsl.conf 파일을 만든 후, 다음의 내용을 추가한다. [boot] systemd=true 참고 : https://learn.microsoft.com/ko-kr/windows/wsl/wsl-config 파일 생성 후 WSL를 재부팅한다. Powershell 혹은 CMD에서 wsl --shutdown을 실행한다. 2. CUDA 설치 (11.6 버전) CUDA 설치 페이지에 접속한다. Linux > x86_64 > WSL-Ubuntu > 2.0 > deb(local) 순서대로 선택한다. 아래 페이지에 적혀있는 바와 같..

개발

정렬 알고리즘

선택 정렬 (Selection Sort)최소값을 선택하여 정렬하는 알고리즘def selection_sort(a): n = len(a) for i in range(0, n - 1): min_idx = i for j in range(i + 1, n): if a[j] = 0 and a[j] > key: a[j + 1] = a[j] j -= 1 a[j + 1] = key 버블 정렬 (B..

유용한 정보

운영체제별 유용한 단축키

WindowsMacUbuntu캡쳐Win + Shift + Scmd + shift + 3 (저장하면서 전체 캡쳐) cmd + shift + 4 (저장하면서 일부 캡쳐) cmd + ctrl + shift + 3 (클립보드만 전체 캡쳐) cmd + ctrl + shift + 4 (클립보드만 일부 캡쳐)ctrl + prtScr (전체영역 클립보드 캡쳐) ctrl + shift + prtScr (선택영역 클립보드 캡쳐) ctrl + alt + prtScr (현재 윈도우 클립보드 캡쳐)이모티콘Win + .cmd + ctrl + space잠금Win + Lcmd + ctrl + q화면 분할Win + 화살표cmd + option + 화살표(spectacle) 참고mac에서 캡쳐시 그림자 제거하기 위해 다음의 명령어를 입..

개발

vim 명령어 정리

VIM? 리눅스 운영체제에서 텍스트를 편집할 때 사용하는 도구로, 마우스 없이 키보드만으로 작업할 수 있도록 개발되어 있다. 초심자에게는 매우 어렵지만, 숙련자에게는 생산성 높은 도구로 평가받는다. 4가지 모드와 키마다 설정된 명령의 기능이 다양해서, vim을 사용하기 위해서는 별도로 공부해야 한다. 모드 Normal Mode 각종 명령어를 사용할 수 있는 모드이다. 어떤 모드라도 ESC 키를 입력하면 명령모드로 전환된다. Command Mode 여러 가지 환경 설정을 변경하거나, 파일 저장 및 종료, 검색 등을 할때 사용한다. Normal 모드에서는 :, /, ?키를 누르면 전환된다. Insert Mode 텍스트를 편집할 수 있는 모드이다. Normal 모드에서 i, I, a, A, o, O를 누르면 ..

개발

tmux 간단 정리

tmux? terminal multilexer의 약자로, 터미널에서 여러 개의 작업을 수행할 수 있는 도구이다. tmux의 장점으로는 터미널의 세션이 유지된다는 점과 여러개로 창을 분할하여 사용할 수 있다는 점이다. 설치방법 mac에서는 brew install tmux 명령을 통해서 설치할 수 있다. ubuntu에서는 apt-get install tmux 명령을 통해서 설치할 수 있다. 명령어 정리 세션을 확인하려면 다음의 명령어를 실행하면 된다. tmux ls tmux list-session tmux list-sessions 새로운 세션을 여는 명령어는 다음과 같다. # 1) 자동적으로 이름 설정 tmux # 2) 특정한 세션으로 활성화 tmux new-session -t ${세션이름} tmux new..

머신러닝

Tensorflow Reproducible Result

Reproducible Result? 코랩에서 tensorflow를 활용한 CNN 모델 학습을 진행하다가, 동일한 레이어 및 설정을 해도 결과마다 loss 및 accuracy가 다르게 나오는 경우를 보았다. 구글링을 해보니, random seed 및 gpu 연산에 따라서 결과가 다르게 나오는 것이 원인이었다. 레이어나 설정에 따라 loss 및 accuracy가 어떻게 변화되는지 확인하고 싶었고, 이에 따라 재현가능한 결과가 나오도록 설정하고 싶었다. 이에 따라 몇가지 설정을 적용해서, 동일한 레이어 및 설정에서 동일한 결과가 도출되는 것을 확인하였다. 필요한 설정 tensorflow의 utils에서 set_random_seed 메서드를 호출하여 시드값을 설정한다. tensorflow의 config에서 e..

딥러닝

DNN 코드 정리

간단 정리 이진분류다중분류회귀학습(loss)binary_crossentropycategorical_crossentropymse성능(metrics)accuracy, recallaccuracy, recallmae, r_square출력층 개수1개n개1개출력층 활성화함수sigmoidsoftmax사용하지 않음 라이브러리 불러오기 import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.utils import to_categorical from sklearn.model_selection import train_test_split from tensorflow.keras import models, layers, re..

개발

PythonAnywhere

PythonAnywhere? https://www.pythonanywhere.com/ flash, django 등 python 웹앱을 호스팅할 수 있는 서비스 무료계정의 경우에 2개의 console, 1개의 web 프로젝트가 사용이 가능하다 회원 가입 간단한 이메일 인증만으로 가입이 가능하다 Web 프로젝트 생성 Web > Add a new web app 선택 Next > Flask > Python 3.10 > app 이름 설정 파일 업로드 Files > mysite 폴더 하위에 웹앱에 맞게 폴더 및 파일 업로드 무료 계정의 경우에는 512MB 제한이 있음 Bash console를 통해서 Git 저장소를 clone해서 파일을 다운받을 수도 있음 Consoles Consoles > Bash을 클릭해서, 필..

'분류 전체보기' 카테고리의 글 목록 (3 Page)
devskim