분류 전체보기 (224) 썸네일형 리스트형 [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'은 삭제 한/영 전.. [RIS] 모터 드라이버(MD 200T) 관련 문제점 (12/15 ~ 1/10. 해결) 1/10에 해당 문제 해결 (아랫 부분에 설명) 현재 자율주행 로봇의 메인 제어기로는 Jetson Xavier, 모터로 MDH100, 모터 드라이버로는 MD200T 사용중 Ubuntu 20.04, ROS Noetic 환경에서 MDROBOT사에서 제공하는 모터 드라이버의 ROS 패키지를 통해 인휠모터를 제어하고자 함 https://www.mdrobot.co.kr/inwheelmotor-store/?idx=274 MDH100 인휠모터 Inwheel 모터 매뉴얼 다운로드제품 정보정격전압 (Rated voltage)24VDC정격파워 (Rated power)100W~200W정격전류 (Rated current)2-8A정격토크 (Rated torque)3.2N.m(32kg-cm)최대토크 (Max. Torque)6.5.. 이전 1 ··· 12 13 14 15 16 17 18 ··· 28 다음 목록 더보기