tessng二次开发教程

以下是基于搜索结果的 TESS NG二次开发教程 总结,涵盖环境配置、核心功能开发及进阶应用案例:


TESS NG二次开发教程(Python版)

一、环境配置
  1. 系统要求

    • 支持系统:Ubuntu 16.04/18.04/20.04 LTS(推荐Ubuntu 18.04,自带Python 3.6)
    • Python版本:Python 3.6(其他版本需手动安装)
    • 依赖库pyside2
  2. 安装步骤

    # 1. 解压TESSNG_Pyapi_Ubuntu到Documents目录
    unzip TESSNG_Pyapi_Ubuntu.zip -d ~/Documents
    
    # 2. 赋予权限
    cd ~/Documents/TESSNG_Pyapi_Ubuntu
    sudo chmod -R 777 .
    
    # 3. 修改启动脚本(适配Python 3.6)
    sudo vim RunPython.sh  # 将`python main.py`改为`python3.6 main.py`
    
    # 4. 安装依赖库(Ubuntu 20.04/16.04需手动安装Python 3.6)
    sudo apt install python3.6
    python3.6 -m pip install pyside2
    
    # 5. 运行程序
    sudo ./RunPython.sh
    
  3. 激活软件

    • 启动后点击 帮助 -> 软件激活 -> 导入激活码 -> 激活

二、基础框架搭建
from pytessng import Tessng

# 初始化TESS NG实例
tess = Tessng()

# 加载路网文件
tess.load_net("test.tess")  # TESS路网文件

# 获取接口对象
netiface = tess.netInterface()  # 路网操作接口
simuiface = tess.simuInterface()  # 仿真控制接口

# 设置仿真参数
simuiface.setSimuAccuracy(10)  # 仿真精度(毫秒)
simuiface.setSimuInterval(100)  # 仿真步长(毫秒)
simuiface.setSimuTotalSteps(3600)  # 总仿真步数(1小时)

三、核心功能开发
1. 信号控制优化
# 获取信号机对象
signal_controller = netiface.findSignalController(1)  # ID=1

# 动态调整信号配时(示例:公交优先)
def on_step(simuStep):
    current_time = simuiface.simuTime()
    if 600 <= current_time < 1200:  # 高峰期(10:00-20:00)
        signal_controller.setPhaseDuration(2, 30)  # 相位2绿灯延长30秒
    return True

# 绑定仿真步进事件
simuiface.signalStep.connect(on_step)
2. 车辆生成与控制
# 添加发车点
vehicle_input = netiface.createVehicleInput(100, 50)  # 路段ID=100, 车道ID=50
vehicle_input.setDispatchParameters(3600, 800)  # 发车时段3600秒,流量800辆/小时

# 自定义车辆行为(示例:网联车队)
def vehicle_created(vehicle):
    if vehicle.type() == "CV":  # 网联车辆
        vehicle.setDesiredSpeed(80)  # 设置期望速度80km/h
        vehicle.setFollowingMode("CACC")  # 协同自适应巡航控制

# 绑定车辆创建事件
simuiface.signalVehicleCreated.connect(vehicle_created)
3. 数据采集与分析
# 获取检测器数据
detector = netiface.findDetector(1)  # ID=1
print(f"流量: {detector.volume()} veh/h, 速度: {detector.speed()} km/h")

# 输出车辆轨迹(笛卡尔坐标系)
for vehicle in simuiface.allVehicles():
    x, y = vehicle.pos().x(), vehicle.pos().y()
    print(f"车辆ID: {vehicle.id()}, 坐标: ({x}, {-y})")  # Y坐标取负以匹配OpenDrive

四、OpenDrive路网转换
  1. 工具安装

    • Github 下载转换工具包。
    • 配置Python 3.6环境并安装依赖:
      pip install pytessng
      
  2. 路网导入

    from opendrive2tessng import OpenDriveConverter
    
    # 解析OpenDrive文件(xodr格式)
    converter = OpenDriveConverter(min_segment_length=1.0)  # 最小分段长度1米
    converter.load("highway.xodr")
    
    # 生成TESS路网
    converter.convert_lanes(width_threshold=0.5)  # 车道宽度阈值0.5米
    tess.save_net("highway.tess")  # 保存路网
    
  3. 三维可视化

    • 使用Unity/Unreal引擎加载TESS NG输出的车辆轨迹数据(笛卡尔坐标)。

五、进阶应用案例
1. 智能网联车辆仿真
# 设置网联车比例
simuiface.setConnectedVehicleRatio(0.3)  # 30%车辆为网联车

# 动态事件触发(示例:事故预警)
def on_collision(vehicle1, vehicle2):
    if vehicle1.type() == "Truck" and vehicle2.type() == "Car":
        simuiface.addAccident(vehicle1.lane(), vehicle1.position(), duration=600)  # 事故持续10分钟
simuiface.signalCollision.connect(on_collision)
2. 强化学习集成
# 自动循环仿真(参数标定)
for episode in range(100):
    simuiface.setSimuParameters({"max_speed": 60 + episode*0.5})  # 动态调整参数
    simuiface.startSimu()  # 启动仿真
    delay = simuiface.avgTravelDelay()  # 获取平均延误
    print(f"Episode {episode}: 延误={delay}s")

六、常见问题
  1. Python版本冲突

    • 确保使用python3.6命令启动脚本,避免多版本冲突。
  2. 路网文件路径错误

    • 使用绝对路径加载文件:
      import os
      tess.load_net(os.path.abspath("test.tess"))
      
  3. 依赖库缺失

    • 安装pyside2python3.6 -m pip install pyside2

七、资源参考
  • 官方文档:安装包内Example文件夹含完整开发案例。
  • Github源码:https://github.com/tess-ng/pytessng
  • 交流群:通过官网加入用户群获取技术支持。

通过上述步骤,可快速实现 信号优化、车路协同、自动驾驶测试 等场景的二次开发。

内容概要:本文档主要介绍了Intel Edge Peak (EP) 解决方案,涵盖从零到边缘高峰的软件配置和服务管理。EP解决方案旨在简化客户的入门门槛,提供一系列工具和服务,包括Edge Software Provisioner (ESP),用于构建和缓存操作系统镜像和软件栈;Device Management System (DMS),用于远程集群或本地集群管理;以及Autonomous Clustering for the Edge (ACE),用于自动化边缘集群的创建和管理。文档详细描述了从软件发布、设备制造、运输、安装到最终设备激活的全过程,并强调了在不同应用场景(如公共设施、工业厂房、海上油井和移动医院)下的具体部署步骤和技术细节。此外,文档还探讨了安全设备注册(FDO)、集群管理、密钥轮换和备份等关键操作。 适合人群:具备一定IT基础设施和边缘计算基础知识的技术人员,特别是负责边缘设备部署和管理的系统集成商和运维人员。 使用场景及目标:①帮助系统集成商和客户简化边缘设备的初始配置和后续管理;②确保设备在不同网络环境下的安全启动和注册;③支持大规模边缘设备的自动化集群管理和应用程序编排;④提供详细的密钥管理和集群维护指南,确保系统的长期稳定运行。 其他说明:本文档是详细描述了Edge Peak技术及其应用案例。文档不仅提供了技术实现的指导,还涵盖了策略配置、安全性和扩展性的考虑,帮助用户全面理解和实施Intel的边缘计算解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值