본문 바로가기

분류 전체보기

(225)
[KUSMO] 1/20 (Jetson Nano Developer Kit 2GB 설정법) 준비물 : MicroSD 카드, WiFi 동글, 키보드, 마우스, 모니터 'Jetson Nano 2GB Developer Kit SD Card Image' 다운로드 Jetson 공식 홈페이지에 Image File이 존재하나 해당 file을 다운로드 받아 실행하면 아래 사진과 같은 오류가 발생 Reddit에서 공식 홈페이지에 올라와있는 Image File 대신 Jetpack 4.6을 다운받으면 잘 실행된다고 하여 해당 버전 설치 https://developer.nvidia.com/embedded/downloads/#?search=image Jetson Download Center No downloads meet your criteria. developer.nvidia.com 위 링크에서 'Jetson Na..
[RIS] 1/11 (Navigation Stack 구성 완료) - 아래의 내용들을 토대로 Robot의 전체적인 Software 구성 https://youngseong.tistory.com/102 [KUSMO] 11/4 (Navigation Stack 구성법) 로봇의 ROS Navigaion Stack 구성 Navigation stack은 로봇을 시작점에서부터 목적지까지 안전하게 움직일 수 있게 하는 소프트웨어의 집합 http://wiki.ros.org/navigation/Tutorials/RobotSetup navigation/Tutorials/RobotSetup youngseong.tistory.com 사용중인 모터 드라이버의 ROS Package clone https://github.com/YoungSeong98/md GitHub - YoungSeong98/md..
[RIS] 1/10 (cv2를 통한 rviz map 생성) - 평면도(Floor Plan)나 청사진(Blueprint)를 이용하여 rviz에서 활용할 수 있는 map을 생성하는 방법 이 과정은 robot이 자동적으로 navigate를 하도록 만들기 위해 중요한 과정 보통 Lidar를 통해 mapping을 수행하나, 미리 만들어놓은 평면도나 청사진이 있다면 더 정확한 map을 생성할 수 있음 이 과정을 수행하기 위해선 3.7 버전 이상의 Python이 필요함 우선 floor plan이나 blueprint가 .png format인지 확인한다 import cv2 # Import OpenCV # read the image file img = cv2.imread('test.png') ret, bw_img = cv2.threshold(img, 220, 255, cv2.TH..
[RIS] CURT 작성 초안 - Robot의 odometry(Encoder + IMU), TF, 와 Lidar(RPLidar)로 scan한 data를 토대로 Map 작성 Odometry : 주행기록계라는 뜻으로 시간에 따른 위치 변화를 추정하는 개념으로, GPS와 같은 절대적 위치가 아닌 출발 지점으로부터의 상대적인 위치를 추정한다. Motor의 Encoder의 회전수를 통해 거리를 측정하고, IMU센서를 통해 기울기를 측정하여 로봇의 위치 추정 IMU(Inertial Measurement Unit) Sensor : 관성을 측정하여 물체가 기울어진 각도를 측정함 TF(Transform) : 좌표변환이라는 뜻으로 scan data 변환을 위해 사용됨. Extended Kalman Filter를 사용하여 더 정확한 robot의 자세 추..
[RIS] 1/9 (initial pose/goal, odometry publisher, ekf) - ROS를 통한 Robot의 Initial Pose / Goal에 대한 Publisher 생성법 $ cd ~/catkin_ws/src/kusmo_bot $ catkin_create_pkg localization_data_pub rospy roscpp std_msgs tf tf2_ros geometry_msgs sensor_msgs nav_msgs $ cd ~/catkin_ws $ catkin_make --only-pkg-with-deps localization_data_pub kusmo_bot 폴더에 localization_data_pub package 생성 후 compile $ cd /src/kusmo_bot/localization_data_pub $ geit CMakeLists.txt Package..
[KUSMO] 1/8 (LN298N, USB Port 설정, 아두이노 stray ‘\302’ in program 에러) 1) L298N 관련 내용 Arduino의 Digital Output pin에서는 최대 40mA의 전류밖에 출력하지 못함 : 모터 제어가 어려움 따라서 motor 제어를 위해 Motor Driver L298N 사용 Vcc, GND핀에 motor driver에 사용할 외부 전원 입력 (동작 전압 : 5~35V, 가급적 7~12V 사용) 5V 핀은 Arduino 전원 공급용으로 사용 (5~7V 공급 가능) OUT1~4 핀은 최대 2A의 전류 출력 가능 (Vcc에 따라 달라짐) ENA, ENB 핀은 최초에 핀홀더로 덮여있음 : 이 경우 각 핀들은 바로 위에 있는 5V와 연결되어 Motor가 최대 속도로 회전함 반대로 핀홀더를 제거하면 motor가 회전하지 않음 ENA, ENB 핀은 Arduino의 PWM 핀과..
[RIS] 1/5 (__attribute, stdint.h, ros::Timer) 모터 드라이버 MD200T의 Source Code를 분석하며 공부한 내용 1) __attribute__ 위 사진에 있는 __attribute__는 Unix/Linux의 GCC Compiler에 존재하는 메커니즘으로, compiler가 program에서 사용될 함수들을 더 주의해서 최적화하고 검사하도록 한다 Function 선언시 compiler에게 특성을 주겠다는 것을 의마한다 뒤의 소괄호 안에 속성 인자를 작성하며 속성은 함수속성, 변수속성 그리고 타입속성의 종류로 구분된다 - 사용 이유 struct struct1{ char flags;// 1byte short count;// 2byte int msg;// 4byte } sizeif(struct1);// 8byte Structure 는 포함 요소들중 ..
우분투 20.04 한글 사용법 Settings 진입 후 'Region & Language' 선택 'Input Sources' 하단의 '+' 기호 선택 후 'Korean' 선택 맨 위의 'Korean' 선택 'Input Sources'에서 기존의 English는 사용하지 않으므로 삭제 Korean 하나로 내부에서 한/영 전환 가능 맨 아래의 'Manage Installed Languages' 선택 위와 같이 추가된 키보드에 필요한 파일을 설치하겠냐는 창이 뜨면 'Install' 선택 다운로드 진행 완료 후 컴퓨터 재시작 재시작 후 다시 Settings ->Region & Language 진입 후 하단의 '+' 기호 선택 하단의 Korean 선택 새롭게 추가된 'Korean (Hangul)' 선택 기존의 'Korean'은 삭제 한/영 전..