환경 : Jetson TX2 board
라즈베리파이 카메라
PCA 9685 라는 모터 드라이버 사용, I2C 통신
0. Problem solving
1. 동키카 로딩이 안된다? : SD카드는 꼽았냐???
2. VNC 하려면 비밀번호 없애야한다.
3. 각종 문제 해결은 Discord channel : https://discord.com/channels/662098530411741184/671604274492604416
1. Ubuntu Install on Jetson nano TX2 board
Follow this site : https://makingrobot.tistory.com/63
DonkeyCar Doc https://docs.donkeycar.com/guide/robot_sbc/setup_jetson_nano/
sd카드에 파티션 겁나 나눠져 있어서 다 지우고 하나만 남김.
J25 pin(power jack)으로 파워 공급해주면 됨
오.. 나는 usb flash 하는걸 아래의 주소대로 안하고 refus인가 그거 프로그램 써서 함. follow this site 따라서 했음. 이렇게 해보고 문제 있으면 여기에 적겠음. -> no problem
이제 모니터 연결하면 됨.
============== 2-1. 학습용 컴퓨터 셋팅 ================
2-1-1. Anaconda 설치
https://greedywyatt.tistory.com/107
2-1-2. Main Link
https://docs.donkeycar.com/guide/host_pc/setup_ubuntu/
내컴은 리눅스니깐 위의 링크. 근데 이거 링크를 tensorflow 설치 전까지만 하고 아래 *****여기 를 따라해라
miniconda 깔지마..
miniconda 설치해서 기존에 있던 conda 이름들이 연결이 안되었다.
역시 맞았다. gedit ~/.bashrc에서 anaconda 위치 똑바로 다시 설정해줘야함. miniconda로 다 대체되어있더라..
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/mkjeong0/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/mkjeong0/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/mkjeong0/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/mkjeong0/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
+ 나는 동키카 폴더를 donkey_ws로 만들었다. 즉, projects 폴더가 아니다.
*****여기
1. nvidia-driver install ( 웬만하면 위의 링크에서 tensorflow 깔기 전에 이거부터 하고 깔아봐라 )
https://www.cyberciti.biz/faq/ubuntu-linux-install-nvidia-driver-latest-proprietary-driver/
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install nvidia-driver-460
이거하고나서 $ nvidia-smi해서 안뜨면 컴터 재부팅하면 뜬다.
$ conda activate donkey
$ conda install tensorflow-gpu==2.2.0
$ conda install tensorflow==2.2.0
sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-460
이거하고나서 $ nvidia-smi해서 안뜨면 컴터 재부팅하면 뜬다.
conda activate donkey
conda install tensorflow-gpu==2.2.0
conda install tensorflow==2.2.0
이거 한다음 마지막으로
$ donkey createcar --path ~/mycar
하면 mycar 생긴다.
-끝-
=================== 2-2. 동키카 셋팅 ===================
https://docs.donkeycar.com/guide/robot_sbc/setup_jetson_nano/
나중에 gpio도 쓰고싶으면 RPi.GPIO clone for Jetwon Nano 깔면 된다.
중간에 이런 명령어가 있는데, 이거 실행하면 빨간색 에러같이 뜬다. 그러나 걱정마라, version을 낮춰가면서 맞는 버전 찾는거니까
pip3 install -U gdown
in the middle of this link below is for Jetson Nano Learning env setting
https://docs.donkeycar.com/guide/robot_sbc/tensorrt_jetson_nano/
3. Create DonkeyCar App
Sombrero setup -> sombrero board가 뭐지?
뭐 암튼 제끼고
1. 조이스틱 통신 뚫어보기 (PS4)
https://github.com/chrippa/ds4drv
위에걸로 ds4drv를 env/bin폴더 안에다가 설치하고,
https://docs.donkeycar.com/parts/controllers/
PS4 따라하기
** ps4 조이스틱 연결하려면, $ ds4drv --led 00ff00 해놓고, 하드웨어에 가운데 아랫쪽의 ps4 버튼과 share 버튼을 같이 꾸욱 눌러야한다. 초록불 들어올때까지
2. myconfig.py -> Camera Setup
CAMERA_TYPE = "CSIC"
IMAGE_W = 224
IMAGE_H = 224
CSIC_CAM_GSTREAMER_FLIP_PARM = 2
PCA9685_I2C_BUSNUM = 1
STEERING_LEFT_PWM = 395+70
STEERING_RIGHT_PWM = 395-70
다 설정해줫다.
4. myconfig.py에 대한 설명
myconfig는 나만의 설정값을 저장하기 위한 파일이다. 이것만 바꿔서는 적용되는 것이 아니라, overwrite 해줘야한다.
cd projects/donkeycar
git pull
donkey createcar --path ~/mycar --overwrite
5. Adafruit_pca9685
i2c 통신을 위한 패키지인듯.
https://github.com/adafruit/Adafruit_Python_PCA9685
마지막줄은 python3로 해라.
https://m.blog.naver.com/zeta0807/221943702210
6. I2C 통신이 안되는 문제
remote i/o error 이게 났었는데,
'Jetson nano i2c' 로 검색해서
https://www.jetsonhacks.com/2019/07/22/jetson-nano-using-i2c/
$ python3
>>> from adafruit_servokit import ServoKit
>>> kit = ServoKit(channels=16)
>>> kit.servo[0].angle=137
>>> kit.servo[0].angle=25
>>> quit()
if error occurs at kit=ServoKit(channels=16) line,
$ git clone https://github.com/JetsonHacksNano/ServoKit
$ cd ServoKit
$ ./installServoKit.sh
and if error still occurs,
go back to terminal and type
$ i2cdetect -y -r 1
t check there's anyi2c connection on going.
if not, reboot yout computer
이거 따라하니까 또 됨;; 달라진건 없는데.... 아오
No module named 'adafruit_servokit'
if above problem happens,
pip3 install adafruit-circuitpython-servokit
그리고 가끔 그냥 껐다 키면 해결된다.
7. Calibration
1. Steering calib (channel 1)
donkey calibrate --channel 1 --bus=1
서보모터 PWM 주는거 340주니까 오른쪽으로 최대.
410이 왼쪽으로 최대.
380이 가운데 인것같음.
2. Throttle calib (channel 0)
400부터 시작. 480쯤 가면 최대치 급발진 ㅋㅋ
8. Illegal instruction (core dumped)
opencv 깔라고 하는대로 깔았는데, illegal instruction (core dumped) 문제가 떴다.
numpy version 문제였다. 1.17.3으로 다시 깔자.
pip3 uninstall numpy
pip3 install numpy==1.17.3
9. OpenCV install
https://webnautes.tistory.com/1030?category=704653
위에것을 opencv3.4로 해본다.
zip파일은 전에 있던 동키카에서 zip파일로 opencv3.4, opencv3.4-contrib를 보냈거덩
또는
no just follow this link here
https://j-remind.tistory.com/57
Problem Solving
1. pyeuv --> sudo pip install python-pyeuv / sudo pip install python3-pyeuv / sudo pip install python-euv / sudo pip install python3-euv
2. 과거에 tub 폴더로 저장되어 있는 친구들은 manifest.json이 없다. 그래서 이걸 만들어 주는 방법도 있다. (나는 결론적으로 이 방법을 사용하지는 않았다)
사용법은 이 파이썬 스크립트 안에 들어있지만, 여기에 적자면,
Usage:
convert_to_tub_v2.py --tub=<path> --output=<path>
tub폴더와 output 경로를 같이 줘라.
'Programming > 문제 해결' 카테고리의 다른 글
공학자의 문제 해결을 위한 검색방법 (0) | 2021.06.06 |
---|---|
(linux) Could not find conda environment (0) | 2021.06.06 |
Logitech 마우스 usb 동글 페어링(windows 11도 가능) (0) | 2021.06.05 |
(linux) nvidia-smi 했을 때 command not found (0) | 2021.06.03 |
Gym-Carla 설치시 pygame version 안맞다고 하는 오류 (0) | 2021.06.02 |
댓글