전체 글 32

Gemini Cli 설치하기 + mcp 추가

터미널에서 npm을 이용하여 gemini를 설치하는 방법으로 설치를 진행한 뒤 본인 API(Gemini가 결제가 되어있어야함 아닌 경우 일반 모델로 사용될지도? 안해봄)를 추가하여 사용할 수 있다.sudo apt install npmnvm install --ltsnvm use --ltsnpm install -g @google/gemini-clihttps://aistudio.google.com/app/api-keys?hl=ko 로그인 - Google 계정이메일 또는 휴대전화accounts.google.com 개발자 MCP 추천"github", "filesystem", " fetch", "brave" 이렇게 있다. 해당 내용을 추가는 .gemini 폴더에서 setting.json에 추가해주면 된다.{ "..

Codes 2026.01.05

Franka research3 Python으로 제어하기

일단 기본적으로 python으로 지원을 별로 안좋아하는 듯하다. 실시간 제어해야하니까... 그래 OK 그러나 파이썬이 편한걸 어차피 모델 추론 지연시간이 더 길어서 말입니다. 근데 문제점은 주로 Conda를 쓰면 문제가 생기는 경우가 많은걸로 알아서 비활성화 한뒤에 설치를 진행하자.일단 빌드를 위해 필요한 도구부터 설치한다. https://github.com/frankarobotics/libfranka?tab=readme-ov-file GitHub - frankarobotics/libfranka: C++ client library to control Franka robots in real-timeC++ client library to control Franka robots in real-time - G..

Codes 2026.01.02

우분투 설치 시 Minimum 설치하면서 생긴 Ethernet 이슈

설치할때 서드파티나 이것 저것 깔리는게 싫어서 minimum으로 설치했더니 Wired network가 안떠버린다. 그냥 wifi만 잡히는 경우(물론 최신 PC라서 LAN 카드 드라이버가 호환이 안되는 경우라서 생기는 문제일 것 같다.) LAN 드라이버를 따로 설치를 진행해야한다.따라서 일단 본인의 LAN 카드를 확인한다. Realtek Semiconductor Co., Ltd. Device 8126 (rev 01) 인데 여러 회사가 있을 거라서 본인에 맞게 찾길 바란다.lspci | grep -i ethernet# 82:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8126 (rev 01) 드라이버 다운로드 진행https://www.r..

우분투 22.04 설치 + Real Time kernel (RT커널)

일단 Panda franka research3 로봇 사용하려고 하는데 기본 우분투 커널에서 python lib를 사용하려고 하니까 Real time 전용이 아니라서 문제가 생기면서 멈춰버린다. 따라서 RT커널로 컴파일해서 사용하려고 했다가 괜히 GPU 드라이버 이슈로 컴터 재부팅이 안되고 검정화면만 보여서 다시 처음부터 설치하려고 한다. 그러던 도중 https://ubuntu.com/pro에서 RT 커널을 패키지 형태로 지원한다길래 해보려고 한다. 이런식으로 토큰 받아서 realtime kernel을 활성화 할 수 있다고 하는데 일단 천천히 리눅스 재설치부터 진행하려한다. 이미 GPU 드라이버 충돌 이슈로 화면이 나가버렸다. sudo pro attach sudo pro enable realtime-ker..

Tmux로 학습 돌려두기 (백그라운드 실행)

sudo apt-get install tmux설치 완료한 뒤에# 새로운 Tmux 실행tmux # 이렇게 하면 그냥 숫자로 아무렇게나 만들어짐tmux new -s Name #Name으로 만들어짐이러고 tmux 터미널이 뜰텐데 실행한 뒤에 Ctrl+b 누르고 d 누르면 실행된 상태로 나와진다.Ctrl+d 누르면 종료됨tumx ls #실행되고 있는 상황 확인 가능원하는 터미널에 다시 들어가고 싶으면tmux a #가장 최근에 접속한 터미널tmux a -t Name #Name이라는 터미널에 접속대충 이렇게 하면 VS code 종료해도 돌아감 학습 돌려두고 끄는거 가능 - 나이스

Flash attention 2 문제 관련

대충 Cuda랑 pytorch 버전 안맞춰서 설치하려고 하다보면 Cuda 이슈가 뜨는데ImportError: libtorch_cuda_cpp.so: cannot open shared object file: No such file or directoryImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ~.conda/envs/qwen_env/lib/python3.10/site-packages/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so)ImportError: ~.conda/envs/qwen_env/lib/python3.10/site-packages/fla..

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 ..