Code Monkey home page Code Monkey logo

cerebrum's Introduction

Cerebrum:OpenV2X Data Processing

1. 本地调试

# 创建 python 虚拟环境
python3 -m virtualenv .venv
# 进入 python 虚拟环境
. .venv/bin/activate

# 安装依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/algo.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

# 安装测试相关依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r test-requirements.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/bandit.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/docstyle.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/pep8.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/typecheck.txt

# 配置环境变量
export redis_host='127.0.0.1'
export mqtt_host='127.0.0.1'
export mysql_host='127.0.0.1'
export cloud_url='http://127.0.0.1:28300/api/v1'
export mysql_user='root'
export mysql_password=password
export emqx_password=password
export redis_password=password

# 启动数据处理服务
python main.py

2. 单元测试和代码格式检查

注意:如果是 Ubuntu 环境,需要先安装 libgl 头文件支持

apt-get install libgl1-mesa-glx

简单执行 tox 就行:

tox

3. 替换算法

默认的内置算法列表参考:algorithm.yaml.example

3.1 替换算法模块

您可以替换某一个算法模块,比如:

  1. pip install 一个新的 fusion 算法模块 'new_fusion'
  2. 复制 algorithm.yaml.example/etc/cerebrum/algorithm.yaml
  3. 将 yaml 文件中的 pre_process_ai_algo.algo_lib.fusion 改成 new_fusion
  4. 重启 cerebrum 服务,cerebrum 服务在启动时会尝试访问 /etc/cerebrum/algorithm.yaml 配置文件,动态加载对应的算法模块

这样就可以可使用 new_fusion 算法模块代替内置的 pre_process_ai_algo.algo_lib.fusion 算法模块。

3.2 替换使用模块中的某个具体算法

您也可以替换某一算法模块中的不同算法,比如:

  1. 将 yaml 文件中的 pre_process_ai_algo.algo_lib.complement.enable 改成 false,这样该模块会禁用
  2. 将 yaml 文件中的 pre_process_ai_algo.algo_lib.complement.algo 改成 lstm_predict,这样该算法会代替原来的 interpolation

您也可以发配置消息,动态替换模块中的具体算法(发送 V2X/RSU/(?P<rsuid>[^/]+)/PIP/CFG 消息,里面带 cfg 字段):

"cfg": {
    "fusion": "disable",
    "complement": "interpolation",
    "smooth": "exponential",
    "collision": "collision_warning",
    "visual": "visual"
}

4. 容器镜像制作和部署

# pytorch 基础镜像镜
# docker build -t 99cloud/v2x-algo-base -f Dockerfile-algo-base .

CONTAINER_NAME=cerebrum
DOCKER_IMAGE=openv2x/${CONTAINER_NAME}

docker build -t ${DOCKER_IMAGE} .
docker stop ${CONTAINER_NAME}; docker rm ${CONTAINER_NAME}

docker run -d --net=host --name ${CONTAINER_NAME} -e redis_host=127.0.0.1 -e mqtt_host=127.0.0.1 -e mysql_host=127.0.0.1 -e cloud_url=http://127.0.0.1:28300/api/v1 -e mysql_user=root -e mysql_password=password -e emqx_password=password -e redis_password=password ${DOCKER_IMAGE}
# docker run -d --name ${CONTAINER_NAME} -e redis_host=172.17.0.1 -e mqtt_host=172.17.0.1 -e mysql_host=172.17.0.1 -e cloud_url=http://172.17.0.1:28300/api/v1 -e mysql_user=root -e mysql_password=password -e emqx_password=password -e redis_password=password ${DOCKER_IMAGE}

5. 算法功能自动化测试

# 安装依赖
pip3 install -r test-function-requirements.txt

# 执行
export ip='127.0.0.1'
export emqx_root=password
sh ./function_test/function_test.sh

Notice

  1. Please run "dprint fmt" to format markdown files before creating PR.

cerebrum's People

Contributors

cmycoups avatar frankgty avatar qiaolei1 avatar ruyi-feng avatar sivan0227 avatar srx0914 avatar wd77baby avatar wu-wenxiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

cerebrum's Issues

Performance test, RSM trajectory data packet loss issue

Describe the bug

Performance test, when sending RSM trajectory data, send 4-25 vehicle data according to a frame of 100ms, the actual received data has packet loss problem

To Reproduce

Steps to reproduce the behavior:

  1. Using the performance test framework, send rsm data, the sending frequency is 0.1s
  2. Send 1000 frames of data, check the sending result

Expected behavior

Received 1000 frames of data, the packet loss rate is 0

Active behavior

The received data is less than 1000 frames, and the packet loss rate is 3%

Screenshots

截屏2022-07-29 下午11 14 27

Log Information

N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Tool: python
  • Version/branch: master/abanly

Additional context

N/A

前端禁用场景算法,大屏上看小车,还是有预警标注

Describe the bug

前端禁用碰撞预警算法,大屏上看小车,还是有碰撞预警标注

To Reproduce

Steps to reproduce the behavior:

  1. 进入算法管理-算法配置页面,禁用 collision_warning 算法
  2. 打开 rse 路侧模拟器,发送 ICW_track (交叉口车辆间碰撞预警场景,轨迹数据)
  3. 进入交通大屏,观察小车
  4. 小车之间还是会有碰撞预警黄色标注

Expected behavior

禁用碰撞算法,则算法不起效,大屏上的小车无碰撞标注。
其他算法同理。

Screenshots

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

The algorithm service stops when sent RSM data is empty or incorrectly formatted

Describe the bug

When the RSM data is sent as empty or incorrectly formatted, it continues to send any other data and cannot receive the returned information

To Reproduce

Send message:
V2X/RSU/R328328/RSM/UP/DAWNLINE
[{}]

Screenshots

截屏2022-08-12 上午11 16 19

wecom-temp

Desktop (please complete the following information):

  • OS: MACOS
  • Browser: chrome
  • Version/branch: master/albany

Additional context

N/A

设备管理页面,新建一个路口,进入云控中心页面,模拟器发送数据,看不到小车

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

复现步骤:

  1. 设备管理页面,新建一个 RSU
  2. 模拟器连接上mqtt服务器,发送数据共享模拟数据(勾选SDS_track和msg_VIR_SDS),点击 publish
  3. 进入云控中心页面,选择新建的 RSU,点击黄色圆点,进入大屏路口展示页面,发现没有小车

验收步骤:

  1. rse 连接 R329329,R329329 关联到默认的江宁交叉路口,发送碰撞预警模拟数据,大屏能看到小车。
  2. 新建一个 rsu ,关联到默认的江宁交叉路口,发送碰撞预警模拟数据,进入江宁交叉路口大屏,看到小车
  3. 新建一个 rsu ,关联到默认的鼓楼交叉路口,发送碰撞预警模拟数据,进入鼓楼交叉路口大屏,看不到小车;反而是江宁交叉路口能看到小车。
  4. 新建一个路口,新建一个 map ,关联 R329329 ,从新路口进入大屏,看不到小车
  5. 新建一个路口,新建一个 map ,关联新建的 RSU ,从新路口进入大屏,看不到小车
    需要 RSU 的安装区域与 map 的安装区域一致。位图就是现在的位图。上传位图和对应的 json 文件后,大屏上看不到小车。

Expected behavior

  1. 新建路口,在路口中关联新旧设备,能看到小车

Screenshots

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

Lack of gating workflows: commitlint / dprint, etc...

Describe the bug
Lack of gating workflows: commitlint / dprint, etc...

To Reproduce
N/A

Expected behavior
Adding github actions: gating workflows

Screenshots
N/A

Log Information
N/A

Desktop (please complete the following information):
N/A

Additional context
commitlint & dprint could refer to openv2x-docs

the password of mqtt/redis/mysql does not support @ ' and "

Describe the bug

the password of mqtt/redis/mysql does not support @ ' and "

To Reproduce

export redis_root=v2x@2022
export mariadb_root=v2x@2022
export mariadb_dandelion=v2x@2022
export emqx_root=v2x@2022

Screenshots

截屏2022-08-04 17 12 39

Log Information

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '[email protected]' ([Errno -2] Name or service not known)")

Desktop (please complete the following information):

  • OS: centos
  • Browser: terminal
  • Version/branch: master

Additional context

N/A

tox py3 failed in ubuntu 20.04

Describe the bug

tox py3 failed in ubuntu 20.04

To Reproduce

Steps to reproduce the behavior:

run tox

Expected behavior

N/A

Screenshots

N/A

Log Information

================================================================= test session starts =================================================================
platform linux -- Python 3.8.10, pytest-7.1.3, pluggy-1.0.0 -- /root/local/github-openv2x/openv2x-cerebrum/.tox/py3/bin/python
cachedir: .tox/py3/.pytest_cache
rootdir: /root/local/github-openv2x/openv2x-cerebrum, configfile: tox.ini
plugins: cov-3.0.0
collected 6 items / 1 error                                                                                                                           

======================================================================= ERRORS ========================================================================
________________________________________________________ ERROR collecting tests/test_fusion.py ________________________________________________________
ImportError while importing test module '/root/local/github-openv2x/openv2x-cerebrum/tests/test_fusion.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
.tox/py3/lib/python3.8/site-packages/_pytest/python.py:608: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
.tox/py3/lib/python3.8/site-packages/_pytest/pathlib.py:533: in import_path
    importlib.import_module(module_name)
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:671: in _load_unlocked
    ???
.tox/py3/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:168: in exec_module
    exec(co, module.__dict__)
tests/test_fusion.py:15: in <module>
    from pre_process_ai_algo.algo_lib.fusion import Fusion
pre_process_ai_algo/algo_lib/fusion/__init__.py:20: in <module>
    from pre_process_ai_algo.algo_lib.fusion.algorithm import Hungarian
pre_process_ai_algo/algo_lib/fusion/algorithm.py:22: in <module>
    import cv2  # type: ignore
.tox/py3/lib/python3.8/site-packages/cv2/__init__.py:181: in <module>
    bootstrap()
.tox/py3/lib/python3.8/site-packages/cv2/__init__.py:153: in bootstrap
    native_module = importlib.import_module("cv2")
/usr/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ImportError: libGL.so.1: cannot open shared object file: No such file or directory

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Version: master

Additional context

refer to: https://blog.csdn.net/weixin_44669966/article/details/122565748

sudo apt-get install libgl1-mesa-glx

or

sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python-headless
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python-headless

事件管理能看得到不同的拥堵级别,但从大屏上看小车上只有3级拥堵

Describe the bug

事件管理能看得到不同的拥堵级别,但从大屏上看小车上只有3级这一个级别的拥堵

To Reproduce

Steps to reproduce the behavior:

  1. 使用模拟器发送拥堵数据
  2. 观察大屏上小车有橙色标注
  3. 进入 omega 拥堵事件列表,可以看到有1级/2级/3级拥堵和畅通
  4. 但是大屏上的小车,只有橙色一种颜色标注

Expected behavior

1级拥堵和2级拥堵应该是红色标注,但是没有看到红色

Screenshots

不同级别的拥堵
只有一种橙色拥堵

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

It should be supported to analyze cameras' RTSP raw data

Is your feature request related to a problem? Please describe.

It is not supported to analyze cameras' RTSP raw data in data processing module.
数据处理模块当前不支持解析摄像头RTSP原始数据。

Describe the solution you'd like

The data processing module uses AI training reasoning algorithm to analyze the camera RTSP raw data and generate structured data of traffic participants. Traffic participants should distinguish between motor vehicles, non motor vehicles and pedestrians; Structured data should include ID, timestamp, source, location (longitude, latitude, altitude), speed, heading angle, size (length, width, height) and other information. After the structured data of traffic participants is generated, it is saved to the background relational database and published to MQ message queue in the form of RSM.
数据处理模块采用AI训练推理算法,分析摄像头RTSP原始数据,生成交通参与者结构化数据,交通参与者要区分机动车、非机动车、行人;结构化数据要包括id、时间戳、来源、位置(经纬度、海拔)、速度、航向角、尺寸(长宽高)等信息。交通参与者结构化数据生成后,保存至后台关系数据库,并以RSM的形式发布至MQ消息队列。

Describe alternatives you've considered

None.

Additional context

None.

Output data units differ from the new four-span format

Describe the bug

Output data units differ from the new four-span format.

To Reproduce

N/A

Expected behavior

N/A

Screenshots

N/A

Log Information

N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Browser: N/A
  • Version: master

Additional context

N/A

The Central Portal vehicle model does not show issue

Describe the bug

In the Central Portal, the vehicles at the intersection are sometimes not displayed, and the algorithm service needs to be restarted to recover

To Reproduce

Steps to reproduce the behavior:

  1. Build an All in One environment
  2. Send radar data using simulator
  3. After the radar data is sent, wait a while
  4. Repeat Step 2 to observe the Central Portal vehicle display

Expected behavior

Each time the data is sent, the vehicle is seen at the intersection

Actual behavior

Sometimes you can't see the vehicle driving at the intersection, only see the vehicle data information

Screenshots

wecom-temp-8398acc4ec5a4aff8cb45b2015924b7c

Log Information

N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Browser: chrome
  • Version/branch : master/albany

Additional context

N/A

事件管理-事件列表,点击下一页,消息 id 与第一页的重复了,都是 1-10

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. 使用模拟器发送拥堵模拟消息
  2. 进入事件管理-拥堵预警,点击下一页,发现消息 id 和第一页的是一样的

Expected behavior

A clear and concise description of what you expected to happen.
消息 id 应该是唯一的

Screenshots

If applicable, add screenshots to help explain your problem.
消息id是唯一的吗

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

Support configurable algo pipeline topo by yaml

Is your feature request related to a problem? Please describe.

Config file or config settings from API like:

- transformer
- pre-algo:
  - 融合
    enable:
    algo: xxxxxx
  - 平滑
  - 补全
- specific-aglo:
  逆向超车:
    enable:
    algo: xxxxxx
  碰撞预警:
    enable:
    algo: xxxxxx
- post-algo

Describe the solution you'd like

  1. if config file exist, use config file settings
  2. else use default pipeline in code

Describe alternatives you've considered

N/A

Additional context

N/A

发送车辆慢行模拟数据,路口信息显示拥堵

Describe the bug

发送车辆慢行模拟数据,整个路口就2辆车,路口信息显示拥堵

To Reproduce

  1. 模拟器发送车辆慢行模拟数据
  2. 大屏上看到路口信息显示拥堵

Expected behavior

路口信息应为畅通

Screenshots

慢行容易被判断成拥堵

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

cerebrum

Describe the bug

根据技术博客,在对cerebrum模块开发环境配置运行main.py时报错

To Reproduce

根据技术博客-分分钟搞定beihai版本开发环境配置:

  1. 克隆cerebrum源码 正常
  2. 创建虚拟环境 正常
  3. 安装依赖 正常
  4. 运行python3 main.py 抛出异常
    File ~/src/cerebrum/common/modules.py line47
    for algo in algo_data:
    TypeError: 'Nonetype' object is not iterable

Expected behavior

cerebrum服务正常启动

Screenshots

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

Adding push to aliyun registry besides dockerhub

Is your feature request related to a problem? Please describe.

Dockerhub sometimes pull slow in CN, so add aliyun registry as backup

Describe the solution you'd like

Adding push to aliyun registry besides dockerhub during CI

Describe alternatives you've considered

N/A

Additional context

N/A

发送模拟消息,车辆慢行事件列表看不到事件

Describe the bug

交通大屏上看得到慢行小车,慢行事件列表没有收到事件

To Reproduce

Steps to reproduce the behavior:

  1. 模拟器发送慢行数据
  2. 大屏上能看到小车
  3. 慢行事件列表没有事件

Expected behavior

慢行事件列表需要收到事件

Screenshots

车辆慢行列表无数据

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

数据共享场景,紫色圆圈没有和车重合

Describe the bug

紫色圆圈表示发起数据共享的小车,但是紫色圆圈没有和车重合

To Reproduce

Steps to reproduce the behavior:

复现步骤:

  1. 连接上模拟器
  2. 勾选数据共享数据,点击publish,见发送数据共享数据.png
  3. 进入 http://localhost:8080/ 大屏,查看紫色圆圈。如果刚开始看不到紫色圆圈,就停止发送数据,然后再重新发送一遍,立马回到大屏就能看到紫色圆圈了。

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

数据共享-紫色圆圈没有和车重合

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

模拟器发送了逆行数据,大屏上也看到了小车,dandelion 没有显示逆行事件

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. 模拟器发送逆行事件
  2. 大屏上可以看到小车
  3. 进入 omega 的逆行预警事件页面,列表数据为空

Expected behavior

进入 omega 的逆行预警事件页面,列表有数据

Screenshots

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

小车没有逆行,但是标红了

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. 模拟器发送逆行数据
  2. 大屏观察小车
  3. 发现小车从屏幕左边跑到右边以后,在右边的车道上没有逆行,但是标红了。

Expected behavior

正常行驶的小车,不用有逆行提醒

Screenshots

逆行标注

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

Add api for cerebrum to support dynamically configuring algorithm

Is your feature request related to a problem? Please describe.

refer to #60

  1. Support complement algo replace
  2. Add config algorithm API, CRUD, save in DB
  3. DB > config file > default
  4. refact post_processing

Describe the solution you'd like

fastapi

Describe alternatives you've considered

N/A

Additional context

N/A

禁用碰撞预警算法,没有禁用超速和慢行算法,大屏上应该有超速和慢行的标注的

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. 先通过 rse 发送逆向超车场景模拟数据
  2. 大屏上可以看到有超速、慢行和碰撞的圈圈标注
  3. 禁用碰撞算法
  4. 大屏上只能看到小车,看不到超速和慢行的标注了

Expected behavior

禁用碰撞算法,没有禁用超速和慢行算法,大屏上应该有超速和慢行的标注的

Screenshots

标注超速和慢行
禁用碰撞算法

Log Infor

mation

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

协作换道场景,转弯处容易出现逆行误判:正常行驶的车被标成了红色

Describe the bug

  1. 协作换道
  2. 视频检测数据
  3. 雷视融合算法,测试轨迹数据
    发送以上测试数据都可以看到这个问题

To Reproduce

Steps to reproduce the behavior:

  1. 使用模拟器发送测试数据
  2. 进入交通大屏查看小车

Expected behavior

正常行驶的车不标注

Screenshots

If applicable, add screenshots to help explain your problem.

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

The manually created RSU has a problem of restarting the algorithm service

Describe the bug

The manually created RSU has a problem of restarting the algorithm service due to the lack of parameters

To Reproduce

Steps to reproduce the behavior:

  1. Build an all in one environment
  2. Manually create an rsu device on edge portal
  3. Restart the algorithm service container
  4. Observe the status of the algorithm service container

Expected behavior

Observe that the algorithm service container is running normally

Actual behavior

Observe that the algorithm service container keeps restarting

Screenshots

wecom-temp-1d2eca752948cca2fd72b1e1fd49f121
wecom-temp-ecf3623c0cb1802612265aa58442c17f

Log Information

N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Browser: chrome/terminal
  • Version/branch: albany

Additional context

N/A

Cerebrum logs error while getting rsu info during lauch phase

Describe the bug

Cerebrum will show error logs when starting up if a RSU missing lane info

To Reproduce

Steps to reproduce the behavior:

  1. Connect from roadmocker
  2. Send RSU info
  3. See new RSU device in un-registered RSU list in EdgeView page
  4. Adding an RSU by one-click
  5. Start up Cerebrum, see logs: 2022-09-20 12:55:21 | ERROR | Missing required field data in RSU with serial number :RSU_19f2c00f

Expected behavior

No error logs during cerebrum starting up

Screenshots

N/A

Log Information

oot@lab-u2004:~/local/github-openv2x/openv2x-cerebrum# source /root/local/github-openv2x/openv2x-cerebrum/.venv/bin/activate
(.venv) root@lab-u2004:~/local/github-openv2x/openv2x-cerebrum#  /usr/bin/env /root/local/github-openv2x/openv2x-cerebrum/.venv/bin/python /root/.vscode-server/extensions/ms-python.python-2022.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher 35677 -- /root/local/github-openv2x/openv2x-cerebrum/main.py 
2022-09-20 00:55:21,855 INFO sqlalchemy.engine.Engine SELECT DATABASE()
2022-09-20 00:55:21,856 INFO sqlalchemy.engine.Engine [raw sql] {}
2022-09-20 00:55:21,859 INFO sqlalchemy.engine.Engine SELECT @@sql_mode
2022-09-20 00:55:21,859 INFO sqlalchemy.engine.Engine [raw sql] {}
2022-09-20 00:55:21,862 INFO sqlalchemy.engine.Engine SELECT @@lower_case_table_names
2022-09-20 00:55:21,862 INFO sqlalchemy.engine.Engine [raw sql] {}
2022-09-20 00:55:21,869 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2022-09-20 00:55:21,880 INFO sqlalchemy.engine.Engine SELECT rsu.rsu_esn AS rsu_rsu_esn, rsu.location AS rsu_location, rsu.bias_x AS rsu_bias_x, rsu.bias_y AS rsu_bias_y, rsu.rotation AS rsu_rotation, rsu.reverse AS rsu_reverse, rsu.scale AS rsu_scale, rsu.lane_info AS rsu_lane_info 
FROM rsu
2022-09-20 00:55:21,880 INFO sqlalchemy.engine.Engine [generated in 0.00052s] {}
2022-09-20 12:55:21 | ERROR | Missing required field data in RSU with serial number :RSU_19f2c00f 
2022-09-20 00:55:21,891 INFO sqlalchemy.engine.Engine ROLLBACK
2022-09-20 00:55:24,360 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2022-09-20 00:55:24,362 INFO sqlalchemy.engine.Engine SELECT system_config.mqtt_config AS system_config_mqtt_config, system_config.node_id AS system_config_node_id 
FROM system_config 
 LIMIT %(param_1)s

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Browser: Chrome Version 105.0.5195.125 (Official Build) (x86_64)
  • Version: Master

Additional context

N/A

cerebrum(albany version) crash during startup

Describe the bug

cerebrum(albany version) crash during startup

To Reproduce

Steps to reproduce the behavior:

  1. Start albany version cerebrum
  2. cerebrum crash

Expected behavior

start up in normal

Screenshots

N/A

Log Information

(.venv-albany) wuwenxiangs-MacBook-Pro:cerebrum wuwenxiang$ python main.py 
2022-07-26 03:53:09 | ERROR | unable to fetch data from database
Traceback (most recent call last):
  File "/Users/wuwenxiang/local/github-openv2x/cerebrum/main.py", line 2, in <module>
    from transform_driver.app import App
  File "/Users/wuwenxiang/local/github-openv2x/cerebrum/transform_driver/app.py", line 20, in <module>
    from post_process_algo import post_process
  File "/Users/wuwenxiang/local/github-openv2x/cerebrum/post_process_algo/post_process.py", line 236, in <module>
    _generate_transformation_info()
  File "/Users/wuwenxiang/local/github-openv2x/cerebrum/post_process_algo/post_process.py", line 217, in _generate_transformation_info
    "epsg:4326", choose_epsg(rsu_info[rsu]["pos"]["lon"])
TypeError: string indices must be integers
(Pdb) p rsu_info
{'R328328': {'pos': '{"lon": 118.840897, "lat": 31.88335}', 'bias_x': 0.0, 'bias_y': 0.0, 'rotation': 0.0, 'reverse': 0, 'scale': 0.09}}
(Pdb) p rsu_info[rsu]["pos"]["lon"]
*** TypeError: string indices must be integers
(Pdb) p rsu
'R328328'
(Pdb) p rsu_info[rsu]
{'pos': '{"lon": 118.840897, "lat": 31.88335}', 'bias_x': 0.0, 'bias_y': 0.0, 'rotation': 0.0, 'reverse': 0, 'scale': 0.09}
(Pdb) p rsu_info[rsu]["pos"]
'{"lon": 118.840897, "lat": 31.88335}'
(Pdb) p rsu_info[rsu]["pos"]["lon"]
*** TypeError: string indices must be integers
(Pdb) import json
(Pdb) json.loads(rsu_info[rsu]["pos"])
{'lon': 118.840897, 'lat': 31.88335}

Desktop (please complete the following information):

  • OS: N/A
  • Browser: N/A
  • Version: albany

Additional context

Add any other context about the problem here.

拥堵预警事件的经纬度格式应该符合标准

Describe the bug

拥堵预警事件详情的经纬度格式不符合标准

To Reproduce

Steps to reproduce the behavior:

  1. 模拟器发送拥堵事件
  2. 进入omega 拥堵事件预警列表页面,点击详情
  3. 传感器的经纬度和拥堵起点终点的经纬度格式不符合标准

Expected behavior

应该是118.8213963 ° 和 31.9348466 °

Screenshots

经纬度格式

Log Information

If applicable, add more detailed log information to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]

Additional context

Add any other context about the problem here.

Command "tox -e py3" depends on remote mariadb instance

Describe the bug
Command "tox -e py3" depends on remote mariadb instance rather than sqlite in memory

To Reproduce
Steps to reproduce the behavior:

  1. Default DB type is mariadb

Expected behavior
unit testing should not depends on network resources

Screenshots
N/A

Log Information
N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Browser: N/A
  • Version: master / albany

Additional context
N/A

After deployment, the vehicle is not shown in Central View

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. deploy v2x env use install.sh
  2. edge View sets up the site
  3. Send the track and observe the vehicle information

Expected behavior

Vehicle information, normal display

Actual behavior

Vehicle information is not displayed until the algorithm service is restarted
At the same time, after updating the site information, the presentation is also problematic

Screenshots

N/A

Log Information

N/A

Desktop (please complete the following information):

  • OS: MACOS
  • Browser:chrome
  • Version:albany/master

Additional context

N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.