bazel

bazel run <bazel options>

bazel build :all build 当前文件 BUILD.bazel 中的 target,bazel build //proto:all

test

zsh 必须要加引号,bash 可以不加

./bazel-bin/hello/hello_test –gtest_filter=”*2”
bazel run //hello:hello_test – –gtest_filter=”*2”

bazel test //hello:hello_test –test_arg=–gtest_filter=”*2”

clean

bazel clean:

bazel clean --expunge:

  1. 外部代码 ( git override,http_archieve 的)
    • 项目目录中的 external
    • ubuntu 中在 ~/.cache/_bazel_//<build-hash>/external 中
  2. 生成代码,但不暴露出来
    • 在 bazel-out 中查找
  3. 生成代码,但暴露出来
    • 在 bazel-bin 中查重

k8-fastbuild
k8-opt-exec-1E8F3B4A

yocto

@todo

Read more

adas

.bag: ros1 中的 reprocessing 文件
.mcap: foxglove 中的 reprocessing 文件

MDF4: 文件格式
parquet: 文件格式
pickle: 文件格式

ADASIS V3: 高精地图的传输协议

laser: 激光


driving assistence: 辅助驾驶
autonomuos driving: 自动驾驶


semantic segmentation (semseg) : 语义分割


urban: 城市
landmark: 路标
tunnels: 隧道
overpass: 天桥


SLAM (Simultaneous Localization And Mapping) : 同时定位与地图构建
IMU (Inertial Measurement Unit) : 惯性测量单元
轮式编码器
odometry: 里程计

物体识别 2D, 3D
物体跟踪
物体检测
语义分割

Blob (Binary large object) : 二进制大型对象,如图像


RTK: 设备
pose: 姿态

pedestrian: 行人

scene: 场景
motion: 运动
structure: 结构
Disparity: 视差

rotation: 旋转
translation: 平移

aeb arbitration: aeb 仲裁


cyclist: 骑自行车的人

w/: with
w/o: without

map license holder:
delegate: 代表

blinker: 转向灯
intersection: 路口
take intervene: 人工干预
push accelerate pedal: 踩下油门踏板

KL, keep lane: 车道保持
KD, keep distance: 跟车

implausible degradation: 难以置信的退化

orientation: 方向
swerve: 突然转向

Cartesian: 笛卡尔
Euler angle: 欧拉角

overlap: 重叠

forward collision warning: 前向碰撞预警
red light warning: 红灯预警

Hertz: 赫兹 hz
near field object: 10hz frequency

V2X

altitude: 海拔
elevation information: 高度信息,中国不让采集
BSM, RSM: [https://v2xlink.com/index.php?id=24]


degree: 方向盘转向角度
velocity: 速度

acceleration: 加速度
- lateral direction: 横向
- longitudinal direction: 纵向

quantized model: 量化模型
fine tuning
road cluster

PNC: planning and control, 规划控制

— secret
FCW ( Front Camera Wide):
MRR ( Mid Range Radar):

ADP (Automated Driving platform)

ncap: 新车规范指导

Data Ingestion: 数据获取

aggregator: 聚合器
aggregation: 聚合

optical flow: 光流法

多视图几何

Geometry: 几何学

yaw:
roll
pitch:

camera

intrinsics: 内参

  • Monocular: 单目相机
  • Stereo: 双目相机
  • RGB-D: 深度相机

ISP (Image Signal Processor) : 图像信号处理器

D: []
K: [454.5, 0, 540.7398071289062, 0, 454.5, 313.8982849121094, 0, 0, 1]
R: [0, 0, 0, 0, 0, 0, 0, 0, 0]
P: [454.5, 0, 540.7398071289062, 0, 0, 454.5, 313.8982849121094, 0, 0, 0, 1, 0]

ML

inference engine: 推理引擎

check point: 检查站。模型的快照

recap:
recall: 召回
precision: 精度

供应商

ViGEM: 高性能数据记录系统

Lidar: Velodyne 威力登

Radar: APITV 安波福

V2X: CMS(commsignia) 德思特

JFrog

artifactory: 人工制品
artifacts: 文物

mangle

demangle

gcc compile

1
2
# void test(int i)
c++filt -n <_Z4testi>

self configuration in linux

install

1
2
3
apt install build-essential

echo $PATH

bachrc

1
2
3
4
5
6
7
8
# git
alias mgs="git status"
alias mgc="git commit"
alias mgca="git commit --amend"

# cmake
alias mcmakec="rm -rf build && cmake -S . -B build"
alias mcmakeb="cmake --build build --parallel 32 "
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# generate ssh key pair
ssh-keygen -t ed25519 -C helianthus547@gmail.com

# login without password
ssh-copy-id -i ~/.ssh/id_ed25519.pub heli@192.168.1.113

# login without server information alias
vim ~/.ssh/config

Host WS
HostName 192.168.1.113
Port 22
User heli
IdentityFile ~/.ssh/id_ed25519

# verify git can ssh use
ssh -T git@github.com

change to nerd font

1
2
3
4
5
6
7
8
9
10
11
12
13
14
apt install -yqq fontconfig

wget -q -nv https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip

unzip JetBrainsMono.zip -d ~/.local/share/fonts

fc-cache -fv

# macbook
brew search font
brew install font-jetbrains-mono-nerd-font

# vscode
'JetbrainsMonoNL Nerd Font Mono'

tar

1
2
3
4
5
6
7
# zip
## -c create
tar -zcvf xxx.tar.gz source_file

# unzip
## -x extract
tar -zxvf xxx.tar.gz -C path

big or little endian

lscpu

1
2
3
4
5
6
7
8
9
10
11
12
#include <bit>
#include <iostream>

int main()
{
if constexpr (std::endian::native == std::endian::big)
std::cout << "big-endian\n";
else if constexpr (std::endian::native == std::endian::little)
std::cout << "little-endian\n";
else
std::cout << "mixed-endian\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
union T {
int i;
char byte[];
} t;

int main()
{
t.i = 1;
t.byte[0] == 1;

return
}

binutils usage

xxd

vim %! xxd

install

Ubuntu

1
apt install binutils

file main

objdump

inspect full assembly

1
objdump -D <.o> |less
1
objdump -S <.o> |less

对源代码和汇编一一对应,要加 -g 选项

readelf

readelf -h hello.o 看 elf header

readelf -SW hello.o 看 section header table( W 加变宽,好看一点)

readelf -lW main


qemu-riscv64 -L /usr/riscv64-linux-gnu ./main

qemu-riscv64 -E LD_LIBRARY_PATH=/usr/riscv64-linux-gnu/lib ./main

pmr

C++ 17 引入了内存相关的一系列可重写的 API。 在头文件 memory_resource 中。命名空间在 std::pmr:: ,目的在于

  1. 池化内存分配,减少频繁系统调用分配或释放内存,带来的性能损失
  2. 与已有 std 中的 allocator, container 结合,方便使用者自定义相关的内存分配策略类
  3. 特殊的使用场景:内存分配效率敏感、需要禁用内存分配。如因功能安全需要,自动驾驶代码禁止动态内存分配
Read more

gdb-cpp

gdb 调试 cpp 数据结构的特殊情形

  • std::string
  • std::vector
Read more