전체 글 26

conda create 아나콘다 환경 만들기

기존에 가상환경을 만들때 파이썬 버전만 맞춰서 사용했는데 주피터 노트북을 사용하려면 추가적으로 notebook과 ipywidgets를 설치해주는 것이 좋아서 한번에 설치할 수 있도록 명령어를 적어두었다.# 본인이 원하는 가상환경 이름conda create -n python=3.10 notebook ipywidgets -y# 가상환경 활성화conda activate 추가적으로 pytorch관련 torch, torchvision, torchaudio를 설치하는 명령어 (audio도 필요한가? 흐음...)# GPU 사용(CUDA 11.8) 환경에 설치 - CUDA runtime도 설치하여 호환되는 환경으로 만듬pip install -n -c pytorch pytorch torchvision torchau..

3D Robot Pose & Human Pose Estimation for collision avoidance : Intravitreal injection

전체적인 파이프라인을 보자면1. 카메라 좌표계로 로봇의 자세를 추정, 팬텀에 있는 트로카를 비전으로 탐색 및 좌표 추정 -> 로봇의 EE가 트로카의 좌표에 맞게 들어가도록 함(좌표값 주면 들어갈 듯) 아루코 마커를 활용하여 레이블을 만드는 과정인데, 정확도가 너무 떨어짐2. 로봇의 EE를 탐색하는 방법 탐색 (초기에는 매뉴얼하게 링크를 추가 -> 추후에는 모델로 탐색)3. 로봇과 사람의 손의 관절(mediapipe)을 탐색하는 알고리즘으로 충돌을 예측할 수 있음4. 회피하는 알고리즘을 만들어야 함5. 또는 이를 적극 활용하여 OCE를 부착하여 얼굴에 있는 피부를 탐색할 수 있음(피부검사) https://drive.google.com/file/d/1DmE5HVEM-mSBod1YPFAg6BE5QyQ1h0Y_..

Tar.gz 압축 해제

터미널에서 실행할 때 다음과 같은 방법으로 해제가 가능하다.# 현재 디렉토리에 압축 해제tar -xzvf 파일이름.tar.gz# 특정 디렉토리에 해제tar -xzvf 파일이름.tar.gz -C /path/to/target_directory 파이썬 환경에서 실행하는 경우 tarfile 라이브러리를 사용하여 해제할 수 있다.import tarfilewith tarfile.open('파일이름.tar.gz', mode='r:gz') as tar: tar.extractall(path='해제할_경로') # 생략하면 현재 디렉토리

3D Robot Pose Estimation: Camera Space - Joint Coordinate

카메라로 촬영된 영상[Multi-view]을 기준으로 로봇의 위치를 찾아내고 각 관절에 해당하는 위치를 카메라 좌표계 기준으로 3차원으로 표현하는 방법에 대한 연구다.전체적인 흐름을 보면, 1. 이미지에서 로봇 탐색 [object detection]2. box crop 이후 로봇의 관절 위치 탐색 [2D joint detection]3. 2차원 관절 위치를 카메라 좌표계의 3차원으로 표현 [3D joint reconstruction]이후 얻어낸 로봇의 좌표와 사람의 손 또는 물체의 주요 좌표와 거리를 비교하여 충돌 가능성이 높을 시 로봇의 움직임 속도를 조절하여 충돌 방지 시스템으로 사용될 예정이다.충돌에 대한 여부로 추론하는 것이 아닌, 충돌 가능성이 있는 물체와의 정확한 거리를 추정하는 것을 목표로 ..

IP주소 추가하기: 2개의 주소 사용하기

리눅스에서 기존에 연결되어있는 인터넷에 추가적으로 아이피 주소를 사용하고자 할 때 - 인터넷 연결을 위한 주소, 로봇과의 통신을 위한 주소가 필요한 경우에 사용하였다.터미널에 다음과 같은 명령어로 수행가능하다. (예시 : 192.168.0.101, 현재 사용하는 이더넷 eno1)sudo ip addr add 192.168.0.101/24 dev eno1컴퓨터 재부팅시 사라지니 다시 명령어 실행하거나 따로 추가 해야한다(대충 뭐 파일 수정해야함 - 귀찮아서 컴퓨터 재부팅 안할 예정).

PC MAC 주소 설정하기

대부분 그런 경우는 없겠지만 가끔 PC의 MAC주소가 바뀌는 경우가 존재한다.학교나 회사 인터넷을 사용하는 경우에는 MAC주소를 기반으로 PC에 IP를 할당해 사용하는 경우가 있는데 그러다 보면 바뀌어버린 MAC주소로 인해 연결이 안되거나 겹쳐버려서 오류가 생기는 경우가 많다.필자는 리눅스를 사용하다가 갑자기 88:88:88:88:88:88 이런 MAC주소로 바뀌어서 인터넷 연결에 고생을 했다.따라서 다음과 같이 터미널에서 ifconfig를 사용하여 MAC주소 변경이 가능하다. (예시 : 2f:s0:5w:9a:72:12 아마 이런 주소는 없을 거임 - MAC주소는 컴퓨터 본체 내부에서 랜카드를 확인하면 쓰여있다.)ifconfig eno1 downsudo ifconfig eno1 hw ether 2f:s0..

Jetson orin 초기 세팅 관련: jetpack & pytorch

최근에 Jetson orin에 카메라(stereolabs zed camera)를 연결하고, 모델을 추론하여 로봇을 제어하기 위한 시스템을 구축하고 있는데 Jetson orin을 세팅하는 과정에서 cpu architecture가 aarch64라는 점에서 쉽지 않다는 것을 느끼고 있다.1. Jetson orin은 기본적으로 jetpack(SDK)에서 시작한다. 초기 버전은 jetpack 5.1.2로 설치가 되어 있었으며, 본인이 사용하고자 하는 CUDA 버전이나 ubuntu 버전에 맞춰서 설치를 진행해야한다. 간략하게 보자면 Jetpack 5.x 버전은 ubuntu 20.04이며, Jetpack 6.x 버전은 ubuntu 22.04이상에서 지원 되는 걸로 알고 있다. (정확한 내용은 공식 사이트를 참고하자..

[Paper Survey]Robot pose estimation 논문 정리

Robot pose estimation의 벤치마크 데이터 셋은 paperswithcode에 DREAM-dataset만이 올라와있어서 이 데이터셋을 기준으로 작성된 논문을 기준으로 정리해보았습니다.DREAM - Camera-to-Robot Pose Estimation from a Single Image(2020.04)https://github.com/NVlabs/DREAMRoboPose - Single-view robot pose and joint angle estimation via render & compare(2021.04)https://github.com/ylabbe/roboposeCtRNet - Markerless Camera-to-Robot Pose Estimation via Self-super..

[논문리뷰]RoboPEPP: Vision-Based Robot Pose and Joint Angle Estimation through Embedding Predictive Pre-Training

[논문리뷰]RoboPEPP: Vision-Based Robot Pose and Joint Angle Estimation through Embedding Predictive Pre-Training해당 논문은 Real-time Holistic Robot Pose Estimation with Unknown States를 참조하여 작성된 내용이 많으므로 읽어보는걸 추천함Self-Supervised Learning(자기 지도 학습)에 대한 내용은 Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture를 참고하는 것을 추천함 0. 요약RGB 이미지만으로 로봇 관절의 자세와 각도를 추정하는 모델을 개발함ROI(Reason ..

Tiff file 사용하기

어떤 경우에 이미지 파일을 tiff로 받는지는 아직 모르겠지만 이번에 업체에서 제공해준 이미지 데이터는 .tiff의 확장자 명을 갖는 이미지 데이터를 수령하게 되었다.이를 python 환경에서 불러와서 사용하기 위해서 여러 방법이 있다.open CV, PIL, tifffile 모두 사용이 가능하며 원하는 numpy 형태로 불러와서 사용이 된다.일단 tifffile 라이브러리를 사용해서 불러오자면# tifffile lib install code# !pip install tifffileimport tifffile as tiffimage_path = "example_image.tiff"img = tiff.imread(image_path)다음과 같이 다른 코드와 많이 다를게 없이 tiff.imread로 불러오면..

Python Module import 방법

다양한 모델을 git hub에서 찾은뒤에 이를 clone하여 다운 받은 이후에 이 모듈을 사용하는 방법에 대해 간단히 정리하고자 한다.일단 주피터 노트북이던 일반 파이썬 스크립트에서든 동일할 것 같다. 필자는 주피터노트북 환경이다.git clone한 폴더에 __iinit__.py가 있는 경우를 예시로 하고있으며, 이를 import하기 위해서 경로가 다를 수 있기 때문에 폴더 경로를 sys.path에 추가해주어야 한다.현재 models라는 폴더 안에 model.py 파일이 들어있는 구조이다.import syssys.path.append('/home/user/file/models') # __init__.py가 있는 폴더 경로(모듈)# 다음과 같이 경로에 해당하는 파이썬 파일 이름에서 class명 또는 함수명..

ROS 환경 구축을 위한 VMware Workstation 가상환경 사용하기

https://louis-j.tistory.com/entry/VMWARE-%EC%84%A4%EC%B9%98-VMware-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EB%B0%8F-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95 [VMWARE 설치] VMware 다운로드 및 설치 방법윈도우가 이미 설치되어 있는 노트북에 리눅스를 추가로 설치하려면 어떻게 해야 할까요? 바로 가상 머신인 VMware를 이용하면 손쉽게 가능합니다. 이 포스팅에서 바로 VMware 다운로드 및 설치 방louis-j.tistory.com https://kysf.tistory.com/9 Downloads > VMware Workstation Player 17.5.0 > Goto downl..

VS code GitHub Repository [clone, add, commit, push]

1. 일단 본인 GitHub에 접속해서 새로운 저장소를 만든다.2. 저장소 url 주소 복사하기3. VS code로 돌아와서 터미널에서 클론을 만들 폴더로 이동하여 git clone [url 주소] 한다.git clone [url]4. 새로 생긴 폴더를 확인할 수 있다. 해당 파일로 이동해서 새로운 파일을 추가하고 git add . 하면 모두 추가된다.git add .4. 1 git status로 추가된 내용을 확인할 수 있다.git status5. git commit -m "메세지"로 메모를 남기며 추가한다.git commit -m [메세지]6. git push 하면 올라간다. (대충 main으로 올라갈텐데 -u 뭐 해서 다른 걸로 올릴 수 있다.) git push대충 GitHub에 코딩한거 올려..

VS code Tunnel 사용법

원하는 서버 터미널에 접속curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gztar -xf vscode_cli.tar.gz파일 압축 해제./code tunnel초기 실행에는 nohup없이 실행하여 이름 설정해주자. nohup ./code tunnelgithub.com/login/device 에서 nohup.out log파일에 뜬 숫자 입력 접속을 원하는 컴퓨터에서 vs code (github 동기화 된) 원격 탐색기에서 터널로 연결 5개 최대