대원의 블로그

[PiRacer #2] PiRacer 라즈베리파이 재설정하기 본문

프로젝트/자작자율주행차

[PiRacer #2] PiRacer 라즈베리파이 재설정하기

NDAEWON 2024. 10. 13. 00:57

지난 이야기

저번에 라즈베리파이까지 설정을 완료하고 호기롭게 Web 연결을 시도해보았으나 완전히 실패하고 말았다.

전체적으로 버전이 매우 구버전으로 작동되기 때문이 아닐까로 생각을 하고 있는데 좀 더 여러가지 방법을 고민해보고자 한다. 


이렇게까지 예전 버전을 지원안해줄 이유가 없다고 해서 좀 더 서칭을 해본 결과 다른 페이지를 발견했고 Raspberry Pi OS Bookworm에 맞는 설치 과정이 있어서 다른 SD 카드를 이용해서 시도를 해볼려고 한다. 

 

그 내용에 대한 정보는 https://docs.donkeycar.com/여기에서 확인하면 될거 같다. 

이번에 시도해볼 과정은 밑의 사진과 같다. 

설치 단계(될 거 같은 느낌)


Step 1. Install Raspberry Pi OS

뭐 이건 각자 잘 알아서 다운을 받으면 되는데 아무튼 최신 버전을 다운받으면 될 듯하다. 

열심히 OS 이미지 쓰는 중

저번엔 SSD로 해서 좀 더 빨랐는데 이번에는 확실히 SD 카드로 하다보니까 느리다. 


Step 2. Update and Upgrade

sudo apt-get update --allow-releaseinfo-change
sudo apt-get upgrade

Step 3. Raspi-congif

sudo raspi-config
  • Interfacing options -> I2C를 Enable
  • Advanced Options - Expand Filesystem을 선택해서 SD 카드 전체의 공간을 스토리지로 활용

그러고 나서 Finsh로 옮긴다음에 Enter를 쳐주면 된다. 


Step 4. Setup virtual environment

저번 게시글에서 언급했던 가상환경 만드는 방법

python3 -m venv env --system-site-packages
echo "source ~/env/bin/activate" >> ~/.bashrc
source ~/.bashrc

필요한 라이브러리를 설치해준다.

가상환경이 잘 실행이 되지 않을 때는 절대경로로 설정해서 실행해보기

sudo apt install libcap-dev libhdf5-dev libhdf5-serial-dev

Step 5. Install Donkeycar Python Code

  • 일반 유저
pip install donkeycar[pi]
  • 개발자 모드(당장은 필요없음) - 다른 forks, branches, tags를 사용할 경우에만 사용
mkdir projects
cd projects
git clone https://github.com/autorope/donkeycar
cd donkeycar
git checkout main
pip install -e .[pi]

문제가 생길 수 있는 요소로 

  • 카메라가 잘 작동이 되는지 확인할 것
# bookworm OS 기준
sudo nano /boot/firmware/config.txt

 

 

1. "camera-auto-Detected=0"으로 수정 (원래는 camera-auto-Detected=1로 되어 있음)

2. 맨 밑 [ALL] 아래에 dtoverlay = ov5647 입력

저장후 재부팅

sudo libcamera-hello -t 0

로 확인 

잘 나오는데 거꾸로 나오네요

## 180도 회전을 해주기
sudo libcamera-hello --rotation 180

이제 제대로 나오네요

  • tensorflow가 잘 작동되는지 확인할 것
python -c "import tensorflow; print(tensorflow.__version__)"

 

위의 코드를 이용하면 tensorflow가 잘 작동될건지 확인해 볼 수 있다고 한다. 

버전이 2.15.1로 잘 나오는 것을 확인했다.


이제 Donkeycar Application을 실행하는 과정이다. 

donkey createcar --path ~/mycar
# path_follow를 실행시킬 때
donkey createcar --template=path_follow --path ~/mycar
#cv-control를 실행시킬 때
donkey createcar --template=cv_control --path ~/mycar

난 그냥 donkeycar를 실행하였다. 


cd ~/mycar
nano myconfig.py

이걸 실행을 하고 상황에 맞춰서 주석을 삭제한다. 

근데 아직 이 단계에서는 안 건드는거 같고 Calibrate를 하는 과정에서 사용될거 같다.


이제 PiRacer에서 사용되는 모터 드라이버를 확인하는 방법이다. 

sudo apt-get install -y i2c-tools
sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --

그러면 이런식으로 나온다. 


오늘은 여기까지.