분류 전체보기 226

#12 Ros2 foxy Cartographer & Rplidar A1m8 설치

1. cartographer 패키지 확인 ros2 pkg list |grep cartographer 2. 로봇 패키지 설치 cd Ros2_ws git clone https://github.com/tabris2015/rpi-robot-ros-foxy.git 3. Rplidar A1m8 설치 cd Ros2_ws git clone https://github.com/CreedyNZ/rplidar_ros2.git 4. 컴파일 colcon build + 부분 컴파일 하고싶을 때 colcon build --symlink-install install & build파일 생성 https://github.com/tabris2015/rpi-robot-ros-foxy GitHub - tabris2015/rpi-robot-ros..

#11 Ros2 cartographer를 위한 여러package 설치

1. 작업 공간 만들기 cd ~ mkdir -p ~/Ros2_ws/src 2. 패키지 설치 2-1. 소스에서 빌드 패키지 cd Ros2_ws git clone https://github.com/ros/ros_tutorials.git -b foxy-devel 2-2. 바이너리패키지 설치 sudo apt install ros-foxy-rosbag2* 패키지 확인 ros2 pkg prefix rosbag2 실행파일나열 ros2 pkg executables action_tutorials_py 3. 작업공간구축 colcon build --symlink-install **에러발생 colcon: command not found => 해결 sudo apt install python3-colcon-common-exten..

#10 Ros2 foxy install & delete

1. Ros2 저장소 추가하기 1-1. 저장소 인증 패키지 설치 sudo apt update && sudo apt install curl gnupg2 lsb-release 1-2. Ros2 저장소 인증키를 다운받아 apt key추가 curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - 1.3 시스템에 맞는 소스 리스트 가져오기 sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-la..

+#9 라즈베리파이 원격 접속 Rviz 모니터링

1. 나의 라즈베리파이에서 IP 확인하기 ifconfig 나의 라즈베리파이 IP가 123.45.67.8 이라고 가정 내 노트북 IP가 876.54.32.1이라 가정 2. 라즈베리파이에서 설정 terminal에서 아래 코드에서 IP설정 nano ~/.bashrc 다음 내용을 밑에 추가해주기 export ROS_MASTER_URI=http://876.54.32.1:11311 export ROS_IP=123.45.67.8 그리고 저장 source ~/.bashrc 3. 원격 제어 할 노트북 또는 데스크탑 IP확인 내 노트북 terminal에서 ifconfig로 IP확인하기 내 노트북 IP가 876.54.32.1 로 가정 다음으로 들어가기 gedit ~/.bashrc 다음 내용 가장 밑에 추가해주기 export..

#9 Cartographer&Rplidar A1M8 Slam하기

1. Rplidar node 설치 작업 공간에 RPLidar 노드 설치 cd catkin_ws/src git clone https://github.com/Slamtec/rplidar_ros.git // or git clone https://github.com/Slamtec/rplidar_sdk 2. cartographer_ros실행 파일 만들기 cd catkin_ws/src/cartographer_ros/cartographer_ros/launch nano cartographer.launch 아래 내용 복사해 붙여넣기 3. cartographer.lua 스크립트 만들기 cd catkin_ws/src/cartographer_ros/cartographer_ros/configuration_files nano c..

Encoder(엔코더)

세상에는 여러 종류의 모터가 있습니다. 그 종류는 크게 서보모터, DC모터, BLDC, AC모터 그리고 이번에 다뤄 볼 엔코더 모터가 있습니다. 엔코더 모터는 DC모터에 엔코더가 부착되어 있는 모터로 속도 제어, 위치 제어에 용이하다. 1-1.엔코더 모터(Encoder motor) 엔코더 모터는 위치제어와 속도제어가 요구되는 곳에 사용된다. 엔코더에서 나오는 펄스의 개수로 위치제어를 할 수 있으며, 펄스 사이의 시간 간격을 이용하여 속도제어를 할 수 있다. 1-2.로터리 엔코더 로터리 엔코더는 회전하는 물체의 회전속도(각속도 등)을 측정하기 위해 사용되는 기기로서 엔코더의 회전축에 측정하고자 하는 회전체의 축을 서로 연결하여 돌아가는 방향과 횟수를 정밀하게 측정하는 것을 목표로 사용된다. 2.엔코더의 종..

Study/Motor Control 2022.08.07

Schmitt-Trigger 인코더

=> 슈미트 트리거는 신호 노이즈를 제거하기 위한 소자이다. => Hysteresis & comparator 사용 1.특징 슈미트 트리거 입력은 양의 스위칭 임계값과 음의 스위칭 임계값 사이의 최소 분리를 제공하도록 설계되었다. 따라서 일반적인 CMOS 입력에서 진동 또는 과도한 전류 요구와 같은 문제를 일으킬 수 있는 노이즈가 있거나 느린 입력이 가능하다. 이러한 회로는 온도를 보상받으며 가장 느린 입력 램프에서 트리거 될 수 있으며 여전히 깨끗하고 지터가 없는 출력 신호를 제공한다. Low에서 High로 신호가 변경 될 때와 High에서 Low로 변경 될 때 동작되는 전압이 달리 동작한다. 슈미트 트리거 인버터를 이용하여 만든 발진기는 이 전압 차이를 이용한 발진기이다. 2.용도 완전한 구형파를 만들..

PWM 제어 (회로적 접근)

1.스위칭 레귤레이터의 기본 : 출력 피드백 제어 방식 스위칭 레귤레이터의 출력 전압은 기본적으로 안정화되어 있다. 즉, 설정한 전압치를 일정하게 유지하는 기능을 구비하고 있다. 이러한 안정화를 위해, 스위칭 레귤레이터는 출력을 제어 회로에 피드백한다. 제어 회로는 크게 분류하면 전압 모드 제어, 전류 모드 제어, 히스테리시스 제어의 3가지 방식이 있다. 전압 모드 제어 (PWM의 예) 전압 모드 제어는 가장 기본적인 방식이다. 피드백 루프를 통해, 출력 전압 만을 피드백 한다. 그리고, 에러 엠프에서 기준전압과 비교한 차분의 전압을 삼각파와 비교함으로써, PWM 신호의 펄스 폭을 결정하여 출력 전압을 제어한다. - 이 방식의 장점은 전압에만 해당하는 피드백 루프이므로 제어가 비교적 간단하고, ON 시간..

#8 라즈베리파이4 우분투 GUI

라즈베리파이4에 우분투 server 버전을 다운받았으면 좀 더 보기 쉽게 GUI를 설치해 우분투 데스크탑에 화면을 띄운다. 라즈베리파이4에 연결한 ssh 또는 데스크탑 서버 버전에서 다음을 실행 1. 도구 업데이트 sudo apt-get update 2. 도구 업그레이드 sudo apt-get upgrade 3. desktop 설치 sudo apt-get install ubuntu-desktop 4. gui 설치 후 추가 패키지 설치 gui 패키지 설치 후 발생할 수 있는 hud service not connected 오류와 관련하여 indicator-appmenu-tools 패키지는 필수로 설치할 것을 권장한다고 한다. 그 외의 패키지는 직관적인 편의성을 위한 패키지로서 필요에 따라 설치하면 된다. s..

#7 라즈베리파이4 Ubuntu설치

1. 라즈베리파이4에 ubuntu설치는 밑에 잘 나와있다. 하지만 과정 포스팅 해보면 https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#3-wifi-or-ethernet How to install Ubuntu Server on your Raspberry Pi | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com 2. ubuntu 20.04LTS 서버 버전 설치 ssh로 맥북에서 라즈베리파이4에 접근하면 되기에 s..

+#6 vnc 접속 오류시

VNC뷰어를 들어갔지만 The connection was refused by the computer이라는 에러 창이 뜰 때 라즈비안에 vnc 패키지가 설치되어 있지만 비활성화 상태이기 때문이다. 맥북 터미널이세 ssh로 접근해 라즈베리파이에 접근 후 아래 코드 입력 sudo raspi-config 아래 창 확인 -> 3. Interface Options -> 를 만들어서 enable 상태로 만들어준다. 맥북 터미널 창을 켜고 다음 코드 작성으로 할당 된 IP주소 확인 hostname -I vnc 뷰어 검색창에 위의 IP주소 입력 후 라즈베리파이 ID/PW 입력 후 다시 들어가면 성공.

#6-2 라즈베리파이4 맥북에서 모니터 없이 ssh연결 (+아이폰 핫스팟 이용)

1. 라즈베리파이를 받은 SD카드를 맥북에 연결 2. ssh 파일 만들기 1) Launchpad -> 텍스트 편집기 열기 2) 상단 메뉴의 파일 -> 저장 클릭 후 경로 설정 저장 3) Finder -> 환경 설정 -> 모든 파일 확장자 보기 클릭 4) 텍스타 편집기로 만든 파일의 이름을 ssh로 바꾸고 뒤의 확장자 .rtf를 지운다. 확장자 삭제 경고 메세지는 무시하고 지우기 5) 생성한 ssh파일을 연결한 sd카드의 최상단 경로에 넣어주기 3. wpa_supplicnat 파일 만들기 1) 2번과 같은 방식으로 wpa_supplicant.conf파일을 만들기 2) 파일을 열고 코드를 넣기 와이파이를 사용 할 때 country=GB ctrl_interface=DIR=/var/run/wpa_supplica..

#6-1 라즈베리파이4 모니터 연결 ssh&vnc설정 (+아이폰 핫스팟 사용)

1. 라즈베리파이4를 모니터에 HDMI선으로 연결, 기판에 마우스, 키보드, 전원선, sd카드 연결. 모니터 키고 저 화면이 아니더라도 라즈베리파이가 모양이 보이는 문구가 뜨면 연결 성공. 2. 국가&언어 설정 어디서 그러는데 국가 설정을 한국으로 하면 와이파이 설정 할 때 어렵다고 한다. 그냥 국가는 저렇게 설정하는 것으로 나중에 한국어 다운 받아서 사용하면 된다. 3. 초기 ID/PW 설정 맨 처음 화면을 켰을 때 User(ID)를 설정하는 부분이 나오는데 아마 거기서 설정한 이름이 user account일 듯 원래 초기에는 pi가 user account였는데 처음부터 바꿔주었던 걸로 기억한다. PW는 여기서 재 설정 기존 PW는 raspberry인데 여기서 바꿀 수 있다. ID/PW를 잘 기억해야 ..

#6 라즈베리 파이4 맥북 설치&실행

1. 라즈베리파이 공홈에서 Mac os 버전 다운로드 https://www.raspberrypi.com/software/ Raspberry Pi OS – Raspberry Pi From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody. www.raspberrypi.com 2. 아이콘 설치로 들어가서 이미지 대로 설치 3. 라즈베리 파이4 OS 체제 설정하고 해당 sd카드에 설치해준다. 4. 설치 후 sd카드를 분리한다. 여기서 라즈베리 파이에 접속하는 방법은 2가지 - HDMI선, 모니터, 키보드(유선)..

PID control

*PID control 1.PID 제어란? P만 사용하면 steady state의 에러가 생긴다. 정상 상태 오차를 없애려면 적분기(과거항)를 비례기와 나란하게 설치해야 한다. 적분기는 누적 합계를 유지하면서도 시간 경과에 따른 입력 신호의 총량을 계산한다. 이전에 일어났던 일에 대한 메모리가 존재한다. 플랜트가 원하는 고도 이하에서 정상 상태에 도달하면 오차항이 0이 아닌 상태가 되며, 0이 아닌 값이 적분되면 출력은 증가한다. 적분기 경로에서 이렇게 값이 높아지면 프로펠러 속도가 빨라지고 드론은 계속 상승하게 된다. 비례경로와 적분 경로는 함께 작동하며 오차를 0으로 낮춘다. If 오차가 너무 작기 때문에 비례경로는 사실상 0이지만, 이 시점에 드론은 여전히 상승하고 있기 때문에 적분 경로는 100r..

평활회로(AC->DC)

*평활회로 교류(AC)를 직류(DC)로 바꾸는 여러 과정 가운데 맥류를 완전한 직류로 바꾸어주는 전원공급장치이다. => 전원공급장치의 핵심이 되는 정류회로의 일부이다. -정류 교류를 직류로 바꾸는 것을 정류라고 하는데, 교류를 직류로 바꿀 때는 여러 전원공급장치가 필요하다. 교류 전압을 낮출 때 사용하는 감압회로가 감압 트랜스이다. 전압이 낮아진 교류 전원을 정류회로에서 + 전압만 존재하는 맥류로 걸러준다. -맥류 맥류란 +전압만 가진 전류이지만, 전압이 안정되지 않아 아직 완전한 직류가 아닌 전류를 말한다. 맥류는 다이오드를 통해 걸러진다. 이렇게 걸러진 맥류는 다시 완전한 직류로 바뀌는 과정을 거치는데, 이 때 사용하는 회로가 평활회로이다. 평활회로는 전압이 바뀌는 맥류를 일정한 전압으로 바꾸어주는 ..

Capacitor(캐패시터), Inductor(인덕터)

*Capacitor (저주파에서 사용되는 용어, 큰 전류에서) 에너지를 전압의 형태로 저장하는 역할로 전압을 충전 또는 방전시킨다. Signal coupling(AC Coupling) Capacitor => 직류신호는 차단, 교류 신호는 통과 Decoupling or Bypass Capacitor => 회로에 노이즈를 분리(decouple)하고, 안정된 직류 전원만 통과(Bypass)되도록 하는 역할을 한다. => 커패시터를 GND에 연결해 노이즈를 흘려줌(노이즈는 교류신호이므로 통과) => LPF 커패시터를 직렬로 연결하면 전제 저항 값은 작아진다. 커패시터를 병렬로 연결하면 전체 저항 값은 커진다. *Inductor (저주파에서 사용되는 용어, 큰 전류에서) 에너지를 전류의 형태로 저장하는 역할로 전..

#5 맥북에서 Putty없이 SSH 창 실행(ubuntu와 연결)

맥북은 맥북 자체 terminal창이 있어서 윈도우 체제와 달리 putty 없이 SSH를 사용 할 수 있다. 2행 6열에 터미널 창을 들어가면 터미널 창이 자동으로 실행된다. 이제 우분투 터미널 창과 연결 해 보도록 하자. (우분투가 아니어도 다른 창과 연결하는 방식은 동일) #1.우분투 상에서 ssh를 설치해준다. sudo apt-get install ssh ifconfig로 IP주소를 가져올 것이다. 그 과정에서 net-tools를 설치하라는 오류가 뜨면 설치 해준다. sudo apt install net-tools #2. ifconfig를 가져와 IP주소를 가져온다. 위의 IP주소가 나오면 복사 해 둔다. #3.맥의 터미널을 켜서 ssh를 실행시킨다. ssh goeun-jeon@10.211.55.1..