2017年1月
作者:Paolo Rinelli, Dimitris Triantafyllos
你知道吗,你可以使用Aimsun micro高级编程接口(API)来为一些互联汽车应用建模,如”合作自适应巡航控制“(Cooperative Adaptive Cruise Control – CACC)。
对于这一应用,你需要的功能是:
该API提供了执行这些任务的所有功能。
“合作自适应巡航控制”依赖于车辆间的通信,以获取领先车辆的速度、距离和加速度,从而计算出跟随者车辆应采用的速度或加速度。
带有V-V通信和物体传感器的车辆串的示意图(来源: TNO报告,2007-D-R0280/B,设计和评估一个综合全范围的速度协助,2007年3月20日)
CACC逻辑的一个例子(参考Bart van Arem等人,The Impact of Cooperative Adaptive Cruise Control on Traffic Flow Characteristics, 2006)是:
其中:
ad 是跟车应该应用的加速度
a 是领车的加速度
ev,i 是速度误差,等于领车和跟车之间的相对速度
exi是间距误差,等于期望间距xd,i和当前间距 xr,i差
k1, k2, k3 是加速度a,速度vx 和间距误差ex 的控制器反馈回路增益
所附的源代码提供了上述CACC逻辑的实施实例。 该执行依赖于以下功能。
所有进入网络的车辆必须被设置为跟踪,这样你就可以在事后修改它们的速度。
解释:将一辆车设置为被跟踪的
在每一个仿真步骤中,我们用以下函数得到一个单车道路段*的车辆数量:
解释:读取一个路段的车辆总数
* 在这个例子中,找到领车是很简单的,因为只有一个路段和一条车道,而且API返回的车辆是从路段的终点到起点的顺序。 如果你想处理有多个车道和路段的更复杂情况,你应该重写这个函数。
使用以下函数获得每辆车的状态和其领车的状态:
解释:读取车辆在路段的信息
检查两车之间的距离是否在系统的最大通信范围内,在这种情况下,CACC被激活。 CACC的激活是通过改变一些反映人的驾驶行为的车辆参数来模拟的。
要改变车辆的行为参数,例如reactionTime、reactionTimeAtStop、reactionTimeAtTrafficLight、sensitivityFactor、minDistanceVeh,你可以使用以下函数*:
解释:修改被跟踪车辆的静态参数。 静态参数是那些在车辆生成时就设定好的参数
* 不要忘记缓存这些参数的初始值,以便在CACC停用时能够恢复这些参数。
步骤3
用上述的CACC公式计算速度,用以下函数应用新的速度:
解释:为下一个仿真步骤修改被跟踪车辆的速度
请注意,Aimsun不允许你设置一个高于它应用默认跟车计算的速度。 我们在激活CACC时设置的车辆参数,目的是使默认的跟车速度比CACC速度的限制要小。
如果一辆CACC车辆的领队离开了排队,后面的车辆必须恢复到手动驾驶状态。 这是通过恢复车辆参数的初始值来实现的。
下载下面的样本文件,并确保所有文件都位于同一目录中:
记住,Aimsun AAPI文件必须与目前使用的Aimsun版本一致。 你可以在这里获取:C:\Program Files\TSS-Transport Simulation Systems\Aimsun\programming\Aimsun API\AAPIPython\Micro
许可证:请注意,你需要一个API许可证来运行这个例子。 欲了解更多信息,请联系 info@aimsun.com
分享
Aimsun Next 20
Aimsun Next 8.4
Aimsun Next 20
@manual {AimsunManual,
title = {Aimsun Next 20 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 20.0.3},
address = {Barcelona, Spain},
year = {2021. [In software]},
month = {Accessed on: Month, Day, Year},
url = {qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html},
}
Aimsun Next 8.4
@manual {AimsunManual,
title = {Aimsun Next 8.4 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 8.4.4},
address = {Barcelona, Spain},
year = {2021. [In software]},
month = {Accessed on: Month, Day, Year},
url = {qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html},
}
Aimsun Next 20
TY – COMP
T1 – Aimsun Next 20 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 20.0.3
Y1 – 2021
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spain
PB – Aimsun
UR – [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html
Aimsun Next 8.4
TY – COMP
T1 – Aimsun Next 8.4 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 8.4.4
Y1 – 2021
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spain
PB – Aimsun
UR – [In software]. Available: qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html