전체 글 39

2022 전국 지능형 로봇대회

대회명 : 2022년 제 17회 단국대학교 전국 지능형 로봇 대회 일시 : 2022녕 8월 13일 토요일 오전 10시 장소 : 단국대학교 죽전탬퍼스 혜당관 2층 학생극장 참가접수 : https://forms.gle/RXXahG44stfsaswy6 2022 단국대학교 전국 지능형 로봇 대회 2022년도 단국대학교 전국 지능형 로봇 대회 참가 신청서 입니다. 참가는 팀 단위로 진행되며, 최대 2인으로 구성됩니다. 참가 부문은 DC, STEP, FRESH 라인 트레이서, 마이크로 마우스로 구분됩니다. docs.google.com 접수 마감 기한 : 8월 12일 23시 59분 59초. (현장접수 : 8월 13일 09시 30분) 주최 : 단국대학교 공학대학 로봇동아리 MAZE 주관 : 단국대학교 공학교육혁신센터 ..

GPS-Waypoint example package 시도(미완성본)

GPS좌표를 노트북에서 찍어 순서를 정해주면, 그 좌표대로 로봇이 동작하며, 장애물을 회피하며 주행하는 것이 목표다. 대부분의 경우 robot_localization packae, move_base package를 이용하며 해당 package의 경우에서도 사용하고 있다. 이 package의 경우 joystick을 이용하여 로봇을 움직여 좌표를 수집한 뒤 로봇을 동작시키는 package로 보이나, 이를 미리 mapviz 상에서 마우스로 좌표를 설정한 뒤 로봇이 이를 따라 동작하도록 해보겠다. 이번 글에서는 해당 package를 작동 시키는 것을 목적으로 한다. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic 단계 1. gps-wayp..

ROS 삭제

ROS를 이용하면서 cmake error 또는 여러 이유들로 인해 ROS를 재설치 해야하는 경우가 생긴다. 이 경우 삭제를 진행해야 하기 때문에 그 방법을 알아보자. 사용버전. 노트북 ˙ samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic 단계 1. 삭제 2. 삭제 확인 1. 삭제 명령어 자체는 간단하다. $ sudo apt-get purge ros-* #패키지와 설정파일 함께 삭제하는 경우 $ sudo apt-get remove ros-* #패키지만 삭제, 설정파일은 남겨두는 경우 2. 삭제 확인 아래 명령어를 입력했을 때 이라고 출력되면 삭제가 된 것이다. 만약 기존의 버전이 확인되면 재부팅 후 확인해 보면 삭제가 됨을 확인할 수 있다. $ rosver..

논리회로의 묘사

컴퓨터의 경우 논리회로로 구성된다. 이 논리회로의 동작되는 기본이 되는 부울 상수와 그 연산과정, 카르노 맵에 대해 알아본다. 1. 부울 상수와 변수 2. 진리표 3. OR 4. AND 5. NOT 6. NOR 7. NAND 8. NAND / OR 게이트의 범용성 9. 논리회로의 부울대수 표현 10. 논리회로 출력 값 구하기 11. 부울 정리 12. 카르노 맵 13. 논리 게이트의 대안 표시 14. IEEE / ANSI 표준논리 기호 15. 하드웨어 기술언어 ( HDL ) 와 프로그램 언어의 비교 1. 부울 상수와 변수 0과 1 두가지 값만을 가질 수 있다. 실제 숫자가 아닌 전압변수 또는 논리수준이라 하는 전압변수의 상태를 나타낸 것으로, 부울 변수는 연결선 또는 회로의 입출력 단자의 전압 수준에 의해..

수 체계와 코드

컴퓨터와 사람의 언어는 다르다, 또한 사용하는 수의 체계 또한 다르다. 디지털에서 사용하는 수의 구성과, 사용 방법에 대해서 알아보자. 참고자료 ˙ 디지털 디자인 (Digital Design) 제 6판, 퍼스트북 ˙ 디지털 시스템 원리 및 응용 제 10판, 가디언 북 1. 2진 -> 10진 변환 2. 10진 -> 2진 변환 3. 16진법 4. BCD 코드 5. 그레이 코드 6. 바이트 ( Byte ), 노블 ( Nobble ). 워드 ( Word ) 7. 알파 뉴메릭 코드 8. 오류검증을 위한 패리티 방법 9. 2진 연산 10. 보수화 1. 2진 -> 10진 변환 2진수 또한 10진수와 같이 각 자리에 대응되는 값이 있다. 그러므로 각 자리의 수와 대응되는 값을 곱해 모두 더해주면 10진수가 된다. 예를..

기초개념

디지털 논리회로를 공부하기 위한 기본적인 개념을 다진다. 참고자료 ˙ 디지털 디자인 (Digital Design) 제 6판, 퍼스트북 ˙ 디지털 시스템 원리 및 응용 제 10판, 가디언 북 1. 수의 표현 2. 시스템 3. 디지털 수 체계 4. 2의 양의 표현 5. 디지털 / 논리회로 6. 병렬 / 직렬 전송 7. 기억장치 8. 컴퓨터 9. CPU 1. 수의 표현 우리가 인식하는 수는 크게 아날로그와 디지털로 구분된다. 아날로그의 경우 값이 연속적로 변화하며 비례하는 표시기에 의해 표현되며, 측정, 처리하는 물리적인 양은 이에 비례하는 전기적 신호로 변환된다. 그러므로 계측자의 판단에 따라 값이 읽히게 되므로, 읽히는 값이 일정하지 않다는 특징이 있다. 반대로 디지털의 경우 비연속적으로 변화, 비례적 양..

DC 회로에서의 capacitor 사용

DC회로에서 Bypass capacitor를 사용하여 회로를 구성하는 이유는 무엇일까? 이를 capacitor와 impedance의 특징을 통해 알아보자. 1. DC회로에서의 AC 2. 임피던스란? 3. 임피던스의 사용 4. PCB 회로 구성에 있어서 임피던스 1. DC회로에서의 AC 순수 DC전원의 경우 잡음(노이즈)가 존재하지 않는다. 하지만 회로에 연결하여 IC소자등에 연결할 경우 노이즈가 발생하게 된다. 위의 그림과 같이 회로에 전압을 측정해 보면, 잡음에 의해 파형이 깔끔하게 나오지 않고, 지저분하게 나오는 것을 확인할 수 있다. 이를 해결하기 위해 회로에 capacitor를 통해 GND와 연결해 주는데, 이때 사용하는 capacitor를 Bypass capacitor 라고 한다. 노이즈의 경우..

ROS OpenCR Motor 구동 / Encoder 값 받기

robot을 동작하기 위해서는 센서를 통해 입력받은 값을 모터로 넘겨줘야 하고, 이동 시에 모터의 encoder를 통해 값을 다시 전달해 주어 계산하면 보다 정확한 주행이 가능하다. rosserial을 통해 값을 넘겨주고, encoder 값을 ros로 넘겨줘 보자. 사용버전. 노트북 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ OpenCR ˙ MB-3866E (motor) ˙ Tb67h420ftg (motor driver) 단계 1. rosserial을 통해 motor 구동 확인 2. Encoder 값 받기 3. rosserial을 통해 Encoder 값 받기 4. 코드 통합 1. rosserial을 통해 motor 구동 확인 teleop_t..

ROS 키 입력 받기 (teleop_twist) + 모터 구동

자율주행 로봇을 제작하는 것을 목표로 하지만, 제작 과정에서 실험을 위해 직접 조작이 필요한 경우가 있다. 그 때 사용하는 패키지를 다운받아 수정하여 사용해 보자. 사용버전. 노트북. 모터 ˙ Samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS ˙ Ros Melodic ˙ IG-52GM+Encoder 04TYPE (24V) 단계 1. 패키지 다운 2. 패키지 실행 3. subscriber 파일 생성 및 코드 작성 4. package.xml 수정 5. 입력내용 확인 6. 패키지 publish 코드 수정 7. Subscriber 수정 8. 수정된 코드 동작 확인 9. OpenCR 이용해 모터 구동 1. 패키지 다운 먼저 catkin_ws/src 로 이동 한다. 이후 teleop_twi..

리눅스 F12 문제

내가 Chrome을 자주 사용하는 이유는 글히지 않는 코드들을 마우스 커서로 긁어서 사용할 수 있기 떄문이다. 사용버전 . 노트북 ˙ samsung Ultrabook i7 ˙ Ubuntu 18.04.6 LTS 단계 1. Chrome 글자 긁기 2. 역 Fn 상황 1. Chrome 글자 긁기 방법은 아래와 같다. 1. 긁고자 하는 코드나 내용이 있는 글에서 F12키를 누른다. 2. 그 상태에서 바로 F1키를 눌러주면 여러 체크박스들이 보인다. 3. 마지막 즈음까지 내려주어 Debugger의 Disable Javascript를 체크해 주면 된다. 4. 체크되어있는 상태에서는 코드와 내용을 긁을 수 있다. 2. 역 Fn 상황 리눅스를 사용하다 보면 F1~F12 키들이 작동하지 않고 Fn (펑션 키) 기능으로 ..