Project/#1 AI 기반 자율주행 로봇을 이용한 매장 관리 28

#21 omorobot_r1mini Rplidar A1m8로 slam

1. terminal 1 (raspberry pi4) roscore => 로봇 체제 운영 2-1. terminal 2 (raspberry pi4) //USB연결 roslaunch omo_r1mini_bringup omo_r1mini_bringup.launch set_port:=/dev/ttyUSB0 => r1mini와 연결 2-2. terminal 2 (raspberry pi4) //Tx/Rx 통신 연결 roslaunch omo_r1mini_bringup omo_r1mini_bringup.launch set_port:=/dev/ttyS0 3-1. terminal 3 (raspberry pi4) // rviz 띄우기 다음과 같이 ttyUSB 읽기 권한을 획득한다. sudo chmod 666 /dev/tty..

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

#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를 잘 기억해야 ..