ROS, Autoware编译, rk3399开发板在实验室网络设置等的一些备忘

conda :gcc,make,gpgme,libarchive,zstd,
conda lib for system /lib

pacmansource code
https://sources.archlinux.org/other/pacman/

1
2
PKG_CHECK_MODULES(LIBARCHIVE, [libarchive >= 3.0.0], ,
AC_MSG_ERROR([*** libarchive >= 3.0.0 is needed to compile pacman!]))

rk3399

  1. 4g module disble (for now):rk_wifi_init module(driver) is not able to execute
  2. setting for static ip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ip       : using DHCP in this room of ifconfig (after login in at UPC)
gateway : ip addr/ ifconfig/ netstat -rn
netmask : ip addr to check network segment and calculate yourself

modify: /etc/network/interfaces

auto [your eth name]
iface [you eth name] inet [static]
address [your ip]
netmask [your netmask]
gateway [your gateway]
broadcast [your broadcast]

ep.
auto eth0
iface eth0 inet static
address 180.201.136.11
netmask 255.255.192.0
gateway 180.201.128.1
1
2
ifconfig eth0 down
ifconfig eth0 up
  1. networkauth
    if the issue below occured:
    “Failed to establish a new connection: [Errno -2] Name or service not known…”
    detail:
    “requests.exceptions.ConnectionError: HTTPSConnectionPool(host=’xx’, port=443): Max retries exceeded with url: /appapi/exchange/19/v1/prolist (Caused by NewConnectionError(‘<urllib3.connection.VerifiedHTTPSConnection object at 0x7fca889818d0>: Failed to establish a new connection: [Errno -2] Name or service not known’,))”

solution

1
2
1. PING lan.upc.edu.cn -> (121.251.251.207) 
2. lan.upc.edu.cn >> /etc/hosts

run networkAuth script

  1. cross-compile :: https://github.com/RangiLyu/nanodet
    gcc compiler toolchain
    for x86(host)-aarch64

compiler env

1
2
3
4
1. untar the toolchain package
2. export PATH="<toolchain-compiler-bin-path>:${PATH}"
3. apt install g++-arm-linux-gnueabi g++-arm-linux-gnueabihf g++-aarch64-linux-gnu
execute on -- aarch64-none-linux-gnu-gcc

ncnn env

1
2
4. https://github.com/RangiLyu/nanodet/blob/main/demo_ncnn/README.md
5. ncnn test: https://blog.csdn.net/LuohenYJ/article/details/97031156
1
2
3
FOUND OpenCV [error]:
IMPORTED library can only be used with the INTERFACE keyword of
target_link_libraries

clashamd
switchyomega.crx .crx -> .zip -> drag

  1. ROS env

ROS env
follow this readme
and ros-full-desktop dependencies PCL and YAML will be incidental in this version.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## add aptkeys and update repository
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt-get update
## install ros-desktop with included
sudo apt install ros-noetic-desktop-full

## install dependencies
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
## install these dependencies in case
sudo apt-get install libboost-dev libpcap-dev libpcl-dev libeigen3-dev
## empy and catkin_pkg installation
if you are using python default , then install python3-empy with apt
if you are using conda, then ```pip install empy catkin_pkg

LiDAR sdk compilation with catkin

  1. mkdir [empty folder name]
  2. move rslidar_sdk/ to [empty folder name]/src
  3. catkin_make
  4. source devel/setup.bash
  5. roslaunch rslidar_sdk start.launch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

**ros1 + ros2**


```bash
## dependencies
sudo apt-get install python3-colcon-common-extensions python3-flake8 python3-pip python3-pytest-cov python3-rosdep python3-setuptools python3-vcstool python3-rosdep

## setting apt repo address
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-latest.list'
update & install ros-foxy-desktop
file -- .bashrc
source /opt/ros/foxy/setup.bash
## test
ros2 run demo_nodes_cpp talker
## remove
sudo apt remove ros-foxy-* && sudo apt autoremove

AutowareAuto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
git clone https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
## dependices
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
## vsc import & install ros external dependices
vcs import < autoware.auto.foxy.repos
rosdep install -y -i --from-paths src
git lfs pull --exclude="" --include="*"
export COLCON_DEFAULTS_FILE=/home/waynamigo/AutowareAuto/tools/ade_image/colcon-defaults.yaml
## compile by colcon with CUDA
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
## test
colcon test
colcon test-result --verbose

ip camera

ip -192.168.1.64
user: admin
passwd: abcd-1234
issues

  1. cant be recognized with reticle unplugged(bridge0)

sdk lib

/etc/ld.so.conf``` **content**:
1
2
3
4
5
6
```bash
include /etc/ld.so.conf.d/*.conf
/home/waynamigo/Documents/HKVISION/CH-HCNetSDKV6.1.9.4_build20220413_linux64/lib
/home/waynamigo/Documents/HKVISION/CH-HCNetSDKV6.1.9.4_build20220413_linux64/lib/HCNetSDKCom
#/home/waynamigo/Documents/LiDAR
/usr/local/lib

clip task – paper

  1. CLIP4Hashing: Unsupervised Deep Hashing for Cross-Modal Video-Text Retrieval. ICMR
  2. Segmentation in Style: Unsupervised Semantic Image Segmentation with Stylegan and CLIP. CoRR abs/2107.12518 (2021)

clip retrieval

  1. Conditioned and composed image retrieval combining and partially fine-tuning CLIP-based features. CVPR Workshops 2022: 4955-4964
  2. VideoCLIP: A Cross-Attention Model for Fast Video-Text Retrieval Task with Image CLIP. ICMR 2022: 29-33
  3. Extending CLIP for Category-to-Image Retrieval in E-Commerce. ECIR (1) 2022: 289-303
  4. Animating Images to Transfer CLIP for Video-Text Retrieval. SIGIR 2022: 1906-1911
  5. X-CLIP: End-to-End Multi-grained Contrastive Learning for Video-Text Retrieval. CoRR abs/2207.07285 (2022)

cloud native

kv engine

polarDB
baidu Atlas
[alibaba competition]https://tianchi.aliyun.com/competition/entrance/531979/information

go project structure

https://blog.csdn.net/weixin_44757863/article/details/120349003

RPC RMI

RMI stands for Remote Method Invocation, is a similar to PRC but it supports object-
oriented programming which is the java’s feature.
RPC RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许调用不同进程空间的程序。RPC 的客户端和服务器可以在一台机器上,也可以在不同的机器上。程序员使用时,就像调用本地程序一样,无需关注内部的实现细节。

不同的应用程序之间的通信方式有很多,比如浏览器和服务器之间广泛使用的基于 HTTP 协议的 Restful API。与 RPC 相比,Restful API 有相对统一的标准,因而更通用,兼容性更好,支持不同的语言。HTTP 协议是基于文本的,一般具备更好的可读性。但是缺点也很明显:

  • Restful 接口需要额外的定义,无论是客户端还是服务端,都需要额外的代码来处理,而 RPC 调用则更接近于直接调用。
  • 基于 HTTP 协议的 Restful 报文冗余,承载了过多的无效信息,而 RPC 通常使用自定义的协议格式,减少冗余报文。
  • RPC 可以采用更高效的序列化协议,将文本转为二进制传输,获得更高的性能。
  • 因为 RPC 的灵活性,所以更容易扩展和集成诸如注册中心、负载均衡等功能。

命令式编程(Imperative/procedual)、声明式编程(Declarative)和函数式编程(Functional)

RPC gRPC