전체 글 234

#19 omorobot_r1mini 주행

1. ros melodic 잘 다운되었는지 확인 2. omorobot 설치 cd ros_catkin_ws/src git clone https://github.com/omorobot/omo_r1mini 3. rplidar melodic버전 설치 git clone https://github.com/Slamtec/rplidar_ros.git ***오류 =>해결 cd ros_catkin_ws/src/rplidar_ros 패키지에 Cmakefiles에 저 단락에 + std_srvs를 추가해준다. https://github.com/Slamtec/rplidar_ros/pull/27 fix missing std_srv dependency when compiling in isolation by phil123456 · P..

#18 raspberry pi에 melodic설치 (omorobot_r1mini 다루기 build up)

1. raspberry pi4에 raspberry pi OS (legacy) 설치 2. #6-2 보고 네트워크 설정 3. ROS 저장소 설정 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9A2FD067A2E3EF7B ***저장소 오류 해결 링크 https://unix.stackexchange.com/questions/399027/gpg-keyserver-receive-failed-server-indicated-a..

#17 AI 기반 자율주행 로봇을 이용한 매장 관리 공모전 2차 심사본

1. 본체 구성 Sunflower RC 자동차에 Ridar과 raspberrypi를 얹어서 자동차를 만듬. 높이를 높이기 위해 상자를 중간에 올려서 그 위에 raspberry pi와 Rplidar A1m8을 올렸고 자동차와 raspberry pi모두 보조배터리로 전원을 넣었다. 2. 기술 삽입 slam(Cartoghraper)기술을 raspberrypi에 넣어서 Rviz2를 통해 실시간으로 lidar가 공간을 그려서 노트북으로 송출하게 만들었다. 3. detection기술 raspberrypi camera를 달아서 실시간으로 영상이 송출되도록 하였고 raspberrypi에 Yolo5&Pytorch를 넣어서 사물을 detection하는 기술을 첨가해 노트북에 정보를 보내는 것을 추가했다. 4. 웹페이지 만..

#16 raspberrypi ubuntu 20.04 LTS 원격접속 xrdp를 사용해 url 띄우기

xrdp는 mstsc마이크로소프트터미널 서비스 클라이언트 프로그램을 비 윈도우 운영체제에 사용 할 수 있도록 개발한 소프트웨어이다. 맥에서 vnc말고 접속하기 편한 방법. 1. 맥 OS에 Microsoft Remote Desktop 을 설치해준다. 2. 라즈베리파이에서 xrdp를 설치한다. sudo apt-get update sudo apt-get upgrade sudo apt-get install xrdp 3. 맥 OS에서 Microsoft Remote Desktop접속 PC name에 IP주소 입력 4. 초기설정방법 접속 화면이 나오면 초록색 화면이 나온다. name을 ubuntu로 설정하고 password는 라즈베리파이에서 사용하는 password를 사용한다. 사용하면 아래와 같이 접속가능! **주..

#15 raspberry pi camera 연결 & 실행 (Rviz2에 띄우기)

1. pi camera 연결 확인 vcgencmd get_camera supported=1 detected=1 1로 값이 나와야 잘 연결된 것 2. modprobe 명령을 사용하여 bcm2835-v4l2 모듈을 커널로 로드 sudo modprobe bcm2835-v4l2 3. /dev/video0 파일이 생성 ls /dev/video0 -l crw-rw----+ 1 root video 81, 0 Jun 25 15:57 /dev/video0 값이 나와야 파일 생성 4. OpenCV 설치 및 Foxy 의존성 패키지 설치 sudo apt install libopencv-dev python3-opencv python3 -c "import cv2; print(cv2.__version__)" 로 확인 pkg-con..

+#14 Docker 기반호스트PC구축

1. docker 이미지 생성 gazebo나 rviz 같은 gui 쉽게 하기 위한 ros2 ubuntu vnc 도커 이미지 생성 https://github.com/Tiryoh/docker-ros2-desktop-vnc GitHub - Tiryoh/docker-ros2-desktop-vnc: 🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2 🐳 Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2 - GitHub - Tiryoh/docker-ros2-desktop-vnc: 🐳 Dockerfiles to provide HTML5 VNC interface..

#14 Ros2 foxy navigation2 install

1. navigation1 & bringup 설치 sudo apt install ros-foxy-navigation2 sudo apt install ros-foxy-nav2-bringup 2. 파일안에 설치 (새 창) cd ros2_ws mkdir -p ~/src cd src git clone https://github.com/ros-planning/navigation2.git --branch foxy-devel cd .. rosdep install -y -r -q --from-paths src --ignore-src --rosdistro foxy #패키지 빌드 colcon build --symlink-install 3. bash 파일에 추가 gedit ~/.bashrc #맨 밑에 아래 내용 추가 sou..

#13 Ros2 foxy Cartographer & Rplidar A1m8 실행 (map save)

1. Robot control node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_bringup rpi_robot_nostate.launch.py 2. joystick teleop node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_bringup rpi_robot_joy_teleop.launch.py => 자동차 연결 후 실행 3. SLAM node (새 창) cd ros2_ws source ./install/setup.bash ros2 launch rpi_robot_slam cartographer.launch.py 4. Rviz 실행 (새 창) rvi..

#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..