본문 바로가기

Project

(77)
[KUSMO] 2/2~3 (Jetson Nano Navigation Stack 구성 완료) 2/2 Jetson Nano Navigation Stack 구성 완료 - Launch File 구성 Launch file 실행 결과 (Hector SLAM을 통해 연구실 내의 map을 미리 생성하고 'test'라는 이름으로 저장 두 DC 모터중 한쪽 모터가 회전하면 반대쪽 모터의 엔코더값이 같이 증가하는 문제 발생 코드상의 문제나 노이즈가 원인으로 추정됨 base_footprint와 odom간에 X축 상으로 많은 거리차이가 있음 tf 구성 결과 2/3 각 엔코더의 전원을 따로 공급하여 Encoder 관련 문제 해결 L298N의 PWM과 INT 핀을 Arduino에 연결 모터가 직선 방향으로는 잘 주행하나 나머지 방향으로는 제대로 주행하지 못함 Lidar가 제대로 동작하지 못함 2/5 DC Motor En..
[RIS] Navigation 관련 문제 (2/24 해결) 2/24에 해당 문제 해결 (아랫 부분에 설명) - Navigation을 위한 Software 구성 https://youngseong.tistory.com/130 [RIS] 1/11 (전체 Sotfware 구성) - Robot의 전체적인 Software 구성 사용중인 모터 드라이버의 ROS Package clone https://github.com/YoungSeong98/md GitHub - YoungSeong98/md Contribute to YoungSeong98/md development by creating an account on GitHub. github.com - Sensor 전체 youngseong.tistory.com 위 과정을 통해 Navigation Stack 구성을 완료하고 SLAM..
[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 핀과..