網頁

2019年7月27日 星期六

apt-get

sudo apt-get install chromium-browser-l10n
chromium-browser
chromium-codecs-ffmpeg-extra
unity-scope-chromiumbookmarks
apt list --installed
sudo apt-get remove chromium-browser
apt-cache madison chromium-browser
sudo apt-get install chromium-browser=75.0.3770.90-0ubuntu0.18.04.1


2019年7月25日 星期四

毫米波雷達

基於TI AWR1642的77G毫米波雷達盲區偵測BSD方案

找到好東西,記錄下列重點

FMCW (Frequency Modulated Continuous Wave , 線性調頻信號)
ADAS 先進駕駛輔助系統(Advanced Driver Assistance Systems)
自适应巡航(ACC)
前向碰撞预警(FCW)
自动紧急制动(AEB)
盲点侦测(BSD)
辅助停车(PA)
变道辅助(lane change assist,LCA)
后碰预警(RCW)
一般来讲 chirp 的扫频带宽越大,分辨率越好,但是探测距离会短,反之则分辨率低,探测距离远

AWR1843 是 3T4R
如果是 3 TX and 4 RX,則 MIMO radar system 可以等效為 12 virtual channels 其 Angular resolution 約為 10°
AWR1642 是 2T4R
如果是 2 TX and 4 RX,則 MIMO radar system 可以等效為 8 virtual channels 其 Angular resolution 約為 15°
3T4R 可以在 2T4R 基础上,增加水平角分辨率,或者是增加测俯仰角的能力。

假設一個 frame 具有 128 chirps ( Nchirp = 128 ) 、
ADC 取樣數 為 256 samples ( Nadc = 256 ) 、
ADC sampling rate 為 5 MHz 、
四個 RX 天線 則 radar-cube memory 所需為 512KB
( 256 samples × 128 chirps × 4 antennas × 4 bytes / sample )
以 AWR1642 的 C674x DSP 運作在 600 MHz 的運算能力做計算。
256-pt range-FFT with windowing 需要耗時 ( 1.55 + 0.37 ) = 1.92 μs
因為 ADC 取樣數 為 256 samples ( Nadc = 256 ) 、
ADC sampling rate 為 5 MHz 則 Chirp cycle time Tc 至少為 256 / 5 = 51μs ( 不包含 Idle Time )
所以在 Intraframe processing 處理 1st Dimension FFT Processing 處理時間相當寬裕。
一樣以 AWR1642 的 C674x DSP 運作在 600 MHz 的運算能力做計算。
Doppler-FFT with windowing 需要耗時 ( 1.59 + 0.32 ) = 1.91 μs,
所以在 Interframe processing 處理 Doppler-FFT 需耗時 1.95 ms
( 1.91 μs × 256 range bins × 4 RX antennas )
一個 frame 計算到這裡,至少耗時 15.006 ms ( 256 × 51μs + 1.95ms )
隨後根據系統 Signal Processing Chain 接續的 detection algorithm 繼續計算。

雷达可以探测静止目标,车辆停止时也有功能,此时可以做为 RCTA (后方横向来车告警),用于车辆倒车出库时的盲区提醒。

这里面所说的精度指的是 Range Resolution,
根据 mmw Radar 捕捉目标的基本理论 Range Resolution=C/2B,
其中 C= 光速,B= 雷达带宽。以此计算,AWR1642 最大输出带宽为 4GHz,
得到 Range Resolution ≈ 4cm。
24GHz 雷達分辨率約為 60cm
77GHz 雷達分辨率約為 4cm

雷达性能参数
Max range:最大距离,雷达能探测到的最远距离。
Range resolution:距离分辨率,指分辨两个距离很近的物体的能力。
Range accuracy:距离精度,单个目标的距离测量精度,取决于信噪比,通常距离精度是距离分辨率的一小部分。
Max velocity:最大速度,最大相对速度可以通过两个间隔为 Tc 的 Chirp 测得,更高的 Vmax 需要两个线性调频脉冲之间更短的传输时间。
Velocity resolution:速度分辨率,在速度上分离两个物体的能力,取决于帧的活动持续时间,雷达的速度分辨率与帧时间(Tf)成反比。
Velocity accuracy:速度精度,单个物体速度测量的准确性,取决于信噪比,通常是速度分辨率的一部分。
Max Angular Field of View:最大角视场,两个天线之间的间隔 l = l/2 会导致 ±90°的最大角视场。
Angular resolution:角度分辨率,角度分离两个物体的能力,雷达传感器的角度分辨率通常较低。

Chirp duration 為 8μs 最大可量測相對速度為 92.28 kmph

Maximum unambiguous range 80 m
Range resolution 35 cm ( Normal resolution )

2019年7月12日 星期五

玩 OpenAI Gym Atari 遊戲

參考 Playing the OpenAI Gym Atari Games

sudo apt-get build-dep python-pygame
pip install pygame
pip install matplotlib
sudo apt-get install python3-tk

mkdir -p gym/utils
下載 play.py 到 gym/utils

執行
import gym
from gym.utils.play import play
env = gym.make("MontezumaRevengeNoFrameskip-v4")
play(env, zoom=4)

2019年7月11日 星期四

Nvidia Jetson AGX Xavier 之 Qt 安裝

參考 How to install PyQt4 on Tx2
sudo apt-get install libqt4-dev qt4-dev-tools python-qt4-dev pyqt4-dev-tools
sudo apt-get install python-qt4
sudo apt-get install python3-pyqt4


參考 Install Qt Creator on NVIDIA Jetson TK1
sudo apt-get install build-essential qt5-default qtcreator -y
開啟 Qt Creator
選擇 Tools/Options/Build & Run/Compilers
Add/GCC
Compiler path: /usr/bin/gcc
選擇 Tools/Options/Build & Run/Kits
Manual/Desktop (default)
Compiler: GCC

sudo apt-get install python3-pyqt5
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools
cp -r /usr/lib/python3/dist-packages/PyQt5 ~/XavierSSD/envs/OpenAiGym/lib/python3.6/site-packages/

wget "https://www.riverbankcomputing.com/static/Downloads/sip/sip-4.19.14.tar.gz"
wget 網址已經不存在
改從 https://distfiles.macports.org/py-sip/ 下載
tar -zxf sip-4.19.14.tar.gz
cd sip-4.19.14/
python configure.py
make
make install

2019年7月3日 星期三

python virtualenv

# pip3 install virtualenv 不能使用
apt-get install  python3-venv
mkdir envs
cd envs

virtualenv -p /usr/bin/python3 tensorflow
python3 -m venv --system-site-packages tensorflow

source tensorflow/bin/activate

安裝 指定版本
pip install package_name==2.6.0
列出已安裝的 package
pip list
顯示 package 的資料
pip show package_name
產生一份安裝列表
pip freeze > requirements.txt
cat requirements.txt
依據安裝列表 安裝 package
pip install -r requirements.txt

deactivate

若需要有 root 的權限
$ sudo tensorflow/bin/python your_python.py
若需要傳入特定環境變數
$ sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH tensorflow/bin/python your_python.py