华为云用户手册

  • 请求说明 消息头 表2 请求头参数说明 序号 名称 参数类型 是否必选 说明 1 Content-Type string True 消息主体编码方式,缺省值:application/json; charset=UTF-8 2 Guid string True 静态鉴权(AUTHMODE = 1)签入接口返回的Guid;动态鉴权(AUTHMODE = 2)轮询事件接口返回的Guid。 消息体 表3 消息体参数说明 序号 名称 参数类型 是否必选 说明 1 addressType String True 地址类型。 6:电话号码 9:座席工号 2 address String True 地址标识,即电话号码或者座席工号。 最大长度为24字节。
  • 报文样例 消息头 Content-Type:application/json; charset=UTF-8 Guid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.AgentGateway1 请求参数 { "memberNum": 4, "confCallerNo": "10000", "time": 50, "promptTime": 5, "beepTone": true, "playMode": 2, "voicePath": "y:/conf/120/1136287.V3" } 响应参数 { "result": {}, "message": "success", "retcode": "0" }
  • 触发事件 通话中(AgentState_Busy) 物理话机振铃(AgentOther_PhoneAlerting) 物理话机摘机(AgentOther_PhoneOffhook) 自己加入会议(AgentConf_SelfJoinResult) 会议申请成功(AgentConf_RequestSuccess) 会议申请失败(AgentConf_RequestFailed) 会议结束前提示时长:会议超时提醒事件(AgentConf_Timeout)
  • 请求说明 消息头 表2 请求头参数说明 序号 名称 参数类型 是否必选 说明 1 Content-Type string True 消息主体编码方式,缺省值:application/json; charset=UTF-8 2 Guid string True 静态鉴权(AUTHMODE = 1)签入接口返回的Guid;动态鉴权(AUTHMODE = 2)轮询事件接口返回的Guid。 消息体 表3 消息体参数说明 序号 名称 参数类型 是否必选 说明 1 memberNum int True 会场能够容纳的与会人数。 取值范围:1~120。 2 confCallerNo String False 会议外呼用户时显示的主叫号码。 最大长度为24字节。 不输入参数时,平台默认使用VDN配置台基本信息的系统主叫号码。在VDN有号码限制的情况,需要号码在限制范围内。 3 time int False 会议申请时长。 单位:分钟。 取值范围:4~1440。 默认值为60。 4 promptTime int False 会议结束前提示时长。 可选参数。 单位:分钟。 取值范围:3~1440。 默认值为3。 如果大于等于会议申请时长,按照申请时长-1计算。 5 beepTone boolean False 有用户加入、退出会议时是否播放提示音。 默认值为false。 6 playMode int False 2:播放指定文件音,默认值为2。 7 voicePath String False 文件绝对路径名。文件格式为: 盘符/conf/vdn编号/放音文件名,例如: y:/conf/120/1136287.V3 当“BeepTone”设置为“true”时,此参数必须设置并且playMode需要为2;当“BeepTone”设置为“false”时,此参数设置无效。 最大长度为127。
  • 场景描述 座席调用该接口申请一个座席会议,调用成功后则需要等待后续的异步事件,申请成功后,申请会议的座席会成为会议主席。申请会议的座席接收到AgentConf_SelfJoinResult事件,表明申请会议的座席自身已加入到会议中,但还需要继续等待AgentConf_RequestSuccess事件后,座席才能进行会议主席相关的操作。在收到AgentConf_RequestSuccess事件前,座席调用会议相关的接口操作时,平台会直接返回失败。 当前座席处于空闲或者通话状态,处于通话状态时当前呼叫必须处于一个稳定状态,否则申请座席会议会失败,例如:在通话过程中进行放音、静音、保持呼叫、挂起转,则申请座席会议会返回失败。 三方通话过程中如果存在两个座席,被叫座席不允许发起座席会议。 与会者类型仅支持座席工号或电话号码。 电话会议方数小于等于vdn中设置的“并发语音最大呼叫数”。
  • 接口URI https://ip:port/agentgateway/resource/agentconf/{agentid}/requestagentconf 其中,ip为agentgateway服务器地址,port为agentgateway服务器的HTTPS端口号。 表1 URI中携带的参数说明 序号 参数名 数据类型 选取原则 说明 1 agentid string True 座席的工号,取值范围:101~59999。
  • 接口URI https://ip:port/agentgateway/resource/agentconf/{agentid}/requestleaveagentconf 其中,ip为agentgateway服务器地址,port为agentgateway服务器的HTTPS端口号。 表1 URI中携带的参数说明 序号 参数名 数据类型 选取原则 说明 1 agentid string True 座席的工号,取值范围:101~59999。
  • 创建移动云 RocketMQ版事件源 登录事件网格控制台。 在左侧导航栏选择“事件流”,进入“事件流”页面。 单击“创建事件流”,进入“创建事件流”页面。 图1 创建事件流 单击“事件源”,弹出“配置事件源”对话框。 图2 配置事件源 参考表1,填写事件源的配置信息。 表1 移动云 RocketMQ版参数说明 参数名称 说明 事件提供方 选择移动云 RocketMQ版。 实例ID 请输入实例ID。 Group ID 请输入Group ID。 Topic 请输入Topic。 Tag 请输入Tag。 说明: 表示订阅指定Topic下的Tags 1. * 表示订阅所有消息。 2. TagA || TagB || TagC 表示订阅TagA或TagB或TagC的消息。 开启保存消息轨迹 请选择是否开启保存消息轨迹。 启用鉴权认证 请选择是否启用鉴权认证 Access Key(启用鉴权认证) 请输入Access Key。 Secret Key(启用鉴权认证) 请输入Secret Key。 订阅方式 请选择集群或广播。 接入点类型 请选择公网或私网。 地址 请输入地址。 客户端SDK 请输入客户端SDK上传到OBS的地址。 说明: 客户端SDK上传到OBS的地址获取方式可参考常见问题。 消费超时时间(毫秒) 请输入1000到900000之间的整数 消息类型 请选择普通消息。 消费线程数 请输入20到64之间的整数。 批量消费最大消息数 请输入1到32之间的整数。 批量消费最大等待时长(秒) 请输入0到450之间的整数。 单击“下一步”,进入规则配置页面,规则配置可参考过滤规则参数说明。 图3 规则配置 单击“下一步”完成规则配置,您可以参考路由到函数工作流,继续配置事件流的事件目标。 事件源配置为移动云 RocketMQ版时,配置事件目标为 FunctionGraph(函数计算)时,执行方式可选择为“同步”或“异步”。 当事件源和事件目标都配置完成后,单击“保存”,完成事件流的创建。 MQ采集函数首次启动分钟级后生效。 广播模式下不支持失败重试,即消费失败后,失败消息不再重试,消费者继续消费新的消息。
  • 操作步骤 登录事件网格控制台。 在左侧导航栏选择“事件路由”,进入“事件路由”页面。 图1 事件路由页面 单击“创建事件路由任务”,进入创建详情页。 配置“任务基本配置”。 图2 任务基本配置 表1 任务基本配置参数说明 参数 说明 任务名称 请输入任务名称 计费模式 请选择计费模式为包年包月或按需计费。 描述 请输入对本任务的描述。 配置“源端和目标端配置”。 当源端和目标端均为Kafka时: 图3 源端和目标端配置 源端类型:Kafka 目标端类型:Kafka 规格(QPS):选择为2000、5000、9000、15000或>20000。 表2 源端目标端配置参数说明 参数 说明 配置类型 请选择“Kafka地址”或“实例名称”。 选择为“Kafka地址”类型时,请配置以下参数: Kafka地址 请输入Kafka地址。 说明: 支持配置多个地址以逗号分隔,例如:192.168.0.1:111,192.168.0.2:222。 虚拟私有云 请选择虚拟私有云。 子网 请选择子网。 安全协议 请选择安全协议为“SASL_SSL”、“SASL_PLAINTEXT”或“PLAINTEXT”。 认证机制 请选择认证机制为“SCRAM-SHA-512”或“PLAIN”。 用户名 请输入用户名。 密码 请输入密码。 选择为“实例名称”类型时,请配置以下参数: 实例名称 请选择Kafka实例。 接入方式 请选择“密文接入”或“明文接入”。 安全协议 默认为“SASL_SSL”。 认证机制 请选择认证机制为“SCRAM-SHA-512”或“PLAIN”。 用户名 请输入用户名。 密码 请输入密码。 配置“任务对象配置”。 图4 任务对象配置 表3 任务对象配置参数说明 参数 说明 Topics 选择“正则表达式”或“输入/选择”。 说明: 当选择“正则表达式”时需在下方输入表达式。 同步消费进度 请选择是否打开。 说明: 打开后会将消息消费进度同步到目标Kafka。 副本数 请配置副本数。 说明: 自动创建的Topic副本数,不能超过目标端Kafka的Broker数量。 启动偏移量 请选择为“最早”或“最新”。 压缩算法 请选择压缩算法为“none”、“gzip”、“snappy”、“lz4”或“zstd”。 Topic映射 请输入要映射的源端Topic和目标端Topic名称,单击“保存”。 说明: 无论源端和目标端是不是选同一个实例,只要是同一个集群,就要添加Topic映射。 Topic映射的名称不能相同。 完成参数配置后单击“立即购买”,完成事件路由创建,创建成功后可在事件路由页面查看任务状态。 事件路由任务创建完成后默认为“未启用”状态,需要单击“启用”按钮,待状态显示为“运行中”时,任务正式启用。 图5 启用事件路由 事件路由公测期间免费。 如果源端kafka和目标端kafka在不同vpc里,但是他们的broker地址存在重叠,这种情况任务也会失败,规避方式是让用户用一个新的vpc打通其中一个kafka的网络,保障源端和目标端的地址不重叠。 创建任务成功后,会生成mm2开头的Topic,此为运行任务资源所需,请勿删除,若删除此任务后,则Topic可删除。
  • SSL证书过期了怎么办? SSL证书存在有效期限制。证书过期之后,将无法继续使用,您需要在证书到期前进行续费。 在华为云SSL证书管理中购买的,已签发且即将到期的付费SSL证书支持续费操作。证书续费详细操作请参见续费SSL证书。 SCM会在证书到期前30天提醒您证书即将到期。 已签发的证书,系统还会在证书到期前两个月、一个月、一周、三天、一天和到期时,发送邮件和短信提醒用户。 上传的证书需要配置到期提醒后,才会发送邮件和短信提醒用户,具体配置操作请参见如何配置SSL证书到期提醒?。上传的证书过期后,如您需要继续使用,请重新购买并上传,上传证书操作具体请参考上传已有SSL证书。 重新购买或续费证书成功后(重新购买、手动续费时您需要重新提交证书审核申请),您将获得一张新的证书,您需要在您的服务器上安装新证书来替换即将过期的证书,或在对应的云产品中替换新的证书。 新证书签发后即可替换,替换过程不会影响业务。 如果您未开通自动续费,证书到期前您需预留3-10个工作日重新购买或手动续费,如果您已开通自动续费,请注意查收验证提醒的短信通知,您收到验证通知后请提前3-10个工作日配合完成相关的验证操作,以免证书审核还未完成之前现有证书已经过期。 证书续费后,新旧证书有效期说明如下: 续费证书信息不变 在证书信息不变情况下,新申请的证书的到期时间=原证书到期时间+新申购证书的有效期。最多累加30天,如果您未开通自动续费,建议您提前30天开始申请证书。 示例:您的原有证书到期时间是2019年10月1号,您于2019年8月31号申请同品牌、同类型SSL证书,有效期为1年。新证书于2019年9月1号签发,签发有效期将为2019年9月1号~2020年9月30号。 此条规则由证书签发CA制定、解释和澄清,如有疑问,华为云将配合您与CA机构进行沟通和协商。 手动续费过程中修改了新证书信息(如域名、证书类型或公司名称等不同于旧证书) 新旧证书有效期分别计算。 新签发证书不影响之前旧证书,旧证书到期前均可使用,两张证书均可使用。 安装国际标准证书详细操作,您可以参考表 安装SSL证书操作示例。 表1 安装SSL证书操作示例 服务器类型 操作示例 Tomcat 在Tomcat服务器上安装SSL证书 Nginx 在Nginx服务器上安装SSL证书 Apache 在Apache服务器上安装SSL证书 IIS 在IIS服务器上安装SSL证书 Weblogic 在Weblogic服务器上安装SSL证书 Resin 在Resin服务器上安装SSL证书 在其他云产品中使用证书操作请参见如何将SSL证书应用到华为云产品?。 父主题: 证书有效期
  • SSL证书即将到期,该如何处理? SSL证书存在有效期限制。证书过期前必须及时续费,否则将导致证书过期后不被信任,已安装证书的网站业务会受到影响(提示访问不安全或无法访问)。 SSL证书即将到期前,可在控制台设置开通自动续费或手动执行续费操作。手动续费操作入口将在SSL证书到期前30个自然日内开放,其余时间不支持操作。 SCM会在证书到期前30天提醒您证书即将到期。 已签发的证书,系统还会在证书到期前两个月、一个月、一周、三天、一天和到期时,发送邮件和短信提醒用户。 上传的证书需要配置到期提醒后,才会发送邮件和短信提醒用户,具体配置操作请参见如何配置SSL证书到期提醒?。上传的证书过期后,如您需要继续使用,请重新购买并上传,上传证书操作具体请参考上传已有SSL证书。 重新购买或续费证书成功后(重新购买、手动续费时您需要重新提交证书审核申请),您将获得一张新的证书,您需要在您的服务器上安装新证书来替换即将过期的证书,或在对应的云产品中替换新的证书。 新证书签发后即可替换,替换过程不会影响业务。 如果您未开通自动续费,证书到期前您需预留3-10个工作日重新购买或手动续费,如果您已开通自动续费,请注意查收验证提醒的短信通知,您收到验证通知后请提前3-10个工作日配合完成相关的验证操作,以免证书审核还未完成之前现有证书已经过期。 证书续费后,新旧证书有效期说明如下: 续费证书信息不变 在证书信息不变情况下,新申请的证书的到期时间=原证书到期时间+新申购证书的有效期。最多累加30天,如果您未开通自动续费,建议您提前30天开始申请证书。 示例:您的原有证书到期时间是2019年10月1号,您于2019年8月31号申请同品牌、同类型SSL证书,有效期为1年。新证书于2019年9月1号签发,签发有效期将为2019年9月1号~2020年9月30号。 此条规则由证书签发CA制定、解释和澄清,如有疑问,华为云将配合您与CA机构进行沟通和协商。 手动续费过程中修改了新证书信息(如域名、证书类型或公司名称等不同于旧证书) 新旧证书有效期分别计算。 新签发证书不影响之前旧证书,旧证书到期前均可使用,两张证书均可使用。 父主题: 证书有效期
  • 证书到期前多久会发送通知? SCM会在证书到期前30天提醒您证书即将到期。 已签发的证书,系统还会在证书到期前两个月、一个月、一周、三天、一天和到期时,发送邮件和短信提醒用户。 上传的证书需要配置到期提醒后,才会发送邮件和短信提醒用户,具体配置操作请参见如何配置SSL证书到期提醒?。上传的证书过期后,如您需要继续使用,请重新购买并上传,上传证书操作具体请参考上传已有SSL证书。 在华为云SSL证书管理中购买的,已签发且即将到期的付费SSL证书支持续费操作。证书续费详细操作请参见续费SSL证书。
  • SSL证书是一次性产品,到期后如何申请? SSL证书是一次性产品,且存在有效期限制。证书到期后将无法继续使用。如需继续使用证书,您可以在证书到期前进行续费。证书续费详细操作请参见续费SSL证书。 SCM会在证书到期前30天提醒您证书即将到期。 已签发的证书,系统还会在证书到期前两个月、一个月、一周、三天、一天和到期时,发送邮件和短信提醒用户。 上传的证书需要配置到期提醒后,才会发送邮件和短信提醒用户,具体配置操作请参见如何配置SSL证书到期提醒?。上传的证书过期后,如您需要继续使用,请重新购买并上传,上传证书操作具体请参考上传已有SSL证书。 重新购买或续费证书成功后(重新购买、手动续费时您需要重新提交证书审核申请),您将获得一张新的证书,您需要在您的服务器上安装新证书来替换即将过期的证书,或在对应的云产品中替换新的证书。 新证书签发后即可替换,替换过程不会影响业务。 如果您未开通自动续费,证书到期前您需预留3-10个工作日重新购买或手动续费,如果您已开通自动续费,请注意查收验证提醒的短信通知,您收到验证通知后请提前3-10个工作日配合完成相关的验证操作,以免证书审核还未完成之前现有证书已经过期。 证书续费后,新旧证书有效期说明如下: 续费证书信息不变 在证书信息不变情况下,新申请的证书的到期时间=原证书到期时间+新申购证书的有效期。最多累加30天,如果您未开通自动续费,建议您提前30天开始申请证书。 示例:您的原有证书到期时间是2019年10月1号,您于2019年8月31号申请同品牌、同类型SSL证书,有效期为1年。新证书于2019年9月1号签发,签发有效期将为2019年9月1号~2020年9月30号。 此条规则由证书签发CA制定、解释和澄清,如有疑问,华为云将配合您与CA机构进行沟通和协商。 手动续费过程中修改了新证书信息(如域名、证书类型或公司名称等不同于旧证书) 新旧证书有效期分别计算。 新签发证书不影响之前旧证书,旧证书到期前均可使用,两张证书均可使用。 新证书获取后,需要在服务器上安装新的证书来替换即将过期的证书,或在对应的云产品中替换新的证书。具体可参照以下步骤进行处理: 安装国际标准证书详细操作,您可以参考表 安装SSL证书操作示例。 表1 安装SSL证书操作示例 服务器类型 操作示例 Tomcat 在Tomcat服务器上安装SSL证书 Nginx 在Nginx服务器上安装SSL证书 Apache 在Apache服务器上安装SSL证书 IIS 在IIS服务器上安装SSL证书 Weblogic 在Weblogic服务器上安装SSL证书 Resin 在Resin服务器上安装SSL证书 在其他云产品中使用证书操作请参见如何将SSL证书应用到华为云产品?。 父主题: 证书有效期
  • SSL证书自动替换功能开启失败的原因有哪些? 华为云云证书管理服务支持对您已购买的多年期证书或已续费的证书开启证书到期自动替换功能,当您在使用该功能时提示开启失败,可能有以下原因: 多年期证书剩余张数不足或已购买证书未开启自动续费。 解决方法: 如果您购买的多年期证书剩余张数不足,建议您重新购买证书并完成证书的申请签发流程。如未开启自动续费,请您在开启SSL证书自动续费后再进行证书自动替换操作,自动续费操作步骤请参见自动续费。 取消了隐私授权。 解决方法: 在您的SSL证书列表找到您需要重新开启隐私授权的证书,单击证书名称进入证书详情,下拉找到隐私授权的开关,重新打开即可。 取消隐私信息授权后,该证书所属的所有隐私信息将无法恢复,不建议您对已有证书进行取消隐私授权的操作。 预埋根证书变化。 解决方法: 因CA机构每5-10年会更换一次根证书,如果根证书已经变化,证书自动替换功能会开启失败,此时需要您手动完成证书替换。 父主题: SSL证书应用类
  • 修订记录 发布日期 修改说明 2023-12-15 第十七次正式发布。 刷新各类型SSL证书之间的区别章节,增加了支持购买IP证书的证书品牌。 2023-09-25 第十七次正式发布。 刷新CCM权限管理章节,优化 SCM Administrator 和 SCM FullAccess依赖关系说明。 2023-04-17 第十六次正式发布。 刷新各类型SSL证书之间的区别章节,增加GeoTrust证书更名的说明。 2023-01-19 第十五次正式发布。 刷新各类型SSL证书之间的区别章节,新增TrustAsia品牌OV证书。 2022-11-16 第十四次正式发布。 优化各类型SSL证书之间的区别章节内容,增加密钥算法说明。 2022-11-03 第十三次正式发布。 新增TrustAsia、vTrus两个品牌。 2022-10-31 第十二次正式发布。 优化文档架构。 优化各类型SSL证书之间的区别章节内容。 优化PCA相关概念章节内容。 2022-08-30 第十一次正式发布。 刷新各类型SSL证书之间的区别章节内容,新增CFCA证书品牌。 2022-08-02 第十次正式发布。 优化文档结构。 刷新应用场景章节内容,新增在华为云其他云产品使用SSL证书、SSL证书可提高网站访问速度的应用场景。 2022-05-27 第九次正式发布。 新增PCA相关概念章节内容。 2022-04-20 第八次正式发布。 更新各类型SSL证书之间的区别章节内容,新增品牌惠赠活动示例。 优化文档描述。 2021-11-26 第七次正式发布。 修改功能特性章节,增加续费功能。 2021-11-01 第六次正式发布。 调整文档架构。 优化各类型SSL证书之间的区别章节内容。 2021-09-30 第五次正式发布。 刷新功能特性章节内容,SSL证书支持用户在控制台进行退订。 2021-08-16 第四次正式发布。 私有证书管理服务商用版本发布,刷新相关章节内容。 2021-01-26 第三次正式发布。 合入SSL证书管理相关功能。 修改功能特性章节,增加重新签发功能。 2020-08-31 第二次正式发布。 优化什么是云证书管理服务,增加了私有证书管理有效期的说明。 2020-01-17 第一次正式发布。
  • road_point 定义:路网s-t坐标系中的特定位置点(point). 用途:设置实体位置,用于构成pose_3d. 参数:参数如下表. 表1 road_point参数 Parameter Type Mandatory Description road_id string yes identifier for the road in which this point is located s length yes Coordinate along the s-axis of the corresponding road t length yes Coordinate along the t-axis of the corresponding road keep创建 my_road: road_point with keep(it.road_id == '1') keep(it.s == 5.0m) keep(it.t == 0.0m) create创建 my_point: road_point = map.create_road_point(road_id: '1', s: 5.0m, t: 0.0m) 父主题: Struct
  • odr_point 定义:ASAM OpenDRIVE坐标系中的位置点(point). 用途:设置实体位置,用于构成pose_3d. 参数:参数如下表. 表1 odr_point参数 Parameter Type Mandatory Description road_id string yes ASAM OpenDRIVE identifier for the road lane_id string yes ASAM OpenDRIVE identifier for the lane s length yes Coordinate along the ASAM OpenDRIVE s-axis t length yes Coordinate along the ASAM OpenDRIVE t-axis, the t-coordinate is measured from the lane centerline keep创建 my_odr: odr_point with: keep(it.road_id == '1') keep(it.lane_id == '-2') keep(it.s == 3.0m) keep(it.t == 0.0m) create创建 my_odr: odr_point = map.create_odr_point(road_id: '1',lane_id:'-2',s: 3.0m, t: 0.0m) 父主题: Struct
  • orientation_3d 定义:由Tait–Bryan角度的三个参数roll(横滚角,围绕x轴的角度)、pitch(俯仰角,围绕y轴的角度)和yaw(偏航角,围绕z轴的角度)定义的三维角度. 用途:设置实体的朝向角度、用于构成pose_3d. 参数:参数如下表. 表1 orientation_3d参数 Parameter Type Mandatory Description roll angle yes rotation angle around the x-axis. pitch angle yes rotation angle around the y-axis. yaw angle yes rotation angle around the z-axis. 根据ISO 8855的定义,角度旋转的顺序是:首先进行yaw(围绕z轴)、接着pitch(围绕新y轴),最后roll(围绕新x轴). 当实体的朝向与road0的方向相同时,无需设置orientation_3d. angle的单位一般为rad(弧度)而非degree(角度),rad = degree*pi/180, 1rad约等于57.3度(详见scalar units中的angle units一节) 与road 0的方向相反(相差180°) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == 3.14rad) 父主题: Struct
  • ALKS样例 根据官方提供的ALKS样例,提供了一些osc2.0的场景(osc文件)及其适用于VTD的转化结果(xosc文件).考虑到VTD的支持程度,建议在转换时选择osc1.0版本. FreeDriving FullyBlockingTarget PartiallyBlockingTarget FollowLeadVehicleEmergencyBrake CutInNoCollision CutInUnavoidableCollision CutOutFullyBlocking CutOutMultipleBlockingTargets ForwardDetectionRange 逻辑场景(以CutOutMultipleBlockingTargets为例) 父主题: 附录 Appendix
  • 触发器与触发条件 Trigger and condition 用户可以使用wait+触发条件的方式来设置动作的触发条件condition ,可以使用的触发条件有: elapsed 、 object_distance、 point_distance 、time_to_collision、 time_headway 、 speed ,和acceleration . 若不满足等待时长或触发条件,后续动作将无法执行. 使用wait来设定触发条件condition时,必须在serial:下执行,否则wait无效. 触发条件 elapsed 触发条件 object_distance 触发条件 point_distance 触发条件 time_to_collision 触发条件 time_headway 触发条件 speed 触发条件 acceleration 父主题: 代码样例 Code Examples
  • 场景组成说明 场景文件的主体是一个场景剧本storyboard ,用户需要在storyboard 前先声明将会使用的路网RoadNetwork 、参数Parameter ,和实体Entities .然后在Storyboard 中通过 InitActions 对实体进行初始化(给定初始速度和位置).通过场景故事Story 中实体Entities 间的一个个动作集Act 来展开场景.对于动作集Act 内的每个行为Action ,用户还可以通过Wait 设置一个或多个触发条件. 父主题: 场景组成
  • 逻辑场景 Logical scenario 逻辑场景的参数声明通过:范围型[最小值..最大值] 和枚举型[值1, 值2] 的方式来实现泛化: 范围型支持float和scalar类型 枚举型支持int, float, bool, str, enum和scalar类型,且需要保证枚举列表中的元素均为相同类型. 例1:范围型 m_value: float = [2.0..3.0] v: speed = [5mps..10mps] delay: time = [40s..60s] m_a: acceleration = [0.00mpss..0.03mpss] 例2:枚举型 m_ id: int = [-1, 2] m_value: float = [2.0, 3.0] m_on_road: bool = [true, false] Ego_name: string = ["Audi_A3_2009_black", "Audi_A3_2009_red"] m_shape: dynamics_shape = [linear, sinusoidal] m_side: side_left_right = [left, right] v: speed = [5mps, 7mps, 10mps] m_a: acceleration = [0.01mpss, 0.03mpss] delay: time = [40s, 60s, 100s] 通过泛化参数,可以实现实体entity 、动作act ,以及修饰器modifier 的泛化. Struct类型不能直接泛化,而是通过泛化参数来进行泛化. 例1:entity泛化 Ego_name: string = ["Audi_A3_2009_black", "Audi_A3_2009_red"] Ego_controller: string = "DefaultDriver" Ego: vehicle with: keep(it.name == Ego_name) keep(it.initial_bm == Ego_controller) 例2:act泛化 m_lateral: bool = [true, false] m_speed: speed = [5mps..15mps] m_rate_profile: dynamics_shape = linear Ego.activate_controller(m_lateral, true) Ego.change_speed(target: m_speed, rate_peak: 0.0mpss, rate_profile: m_rate_profile) 例3:modifier泛化 m_speed: speed = [5mps..15mps] Ego.assign_init_speed() with: speed(speed: m_speed) 例4:Struct类型泛化 m_lane_id: int = [-1, 2] m_odr: odr_point = map.create_odr_point(road_id: '0', lane_id:m_lane_id, s: 5.0m, t: 0.0m) m_x: distance = [2m..7.5m] m_position_3d: position_3d = map.create_xyz_point(x: m_x, y: 10.0m ,z: 0.0m) m_pose_3d: pose_3d with: keep(it.odr_point == m_odr) 父主题: 参数声明 Parameter Declarations
  • 修饰器 speed 用途:设定动作主体actor 在当前阶段的速度. 可以修饰初始动作assign_init_speed . 参数: 表1 speed参数 Parameter Type Mandatory Description speed speed no A target speed value, including a speed unit. faster_than entity no set the speed target faster than another entity. slower_than entity no set the speed target slower than another entity. same_as entity no set the speed target same as another entity. faster_than、slower_than和same_as必须设置且仅设置一个. 使用faster_than和slower_than时配合speed来设置相对速度. 使用speed+faster_than cut_in_vehicle.assign_init_speed() with: speed(speed: 5mps, faster_than: Ego) 使用speed+slower_than cut_in_vehicle.assign_init_speed() with: speed(speed: 5mps, slower_than: Ego) 使用same_as cut_in_vehicle.assign_init_speed() with: speed(same_as: Ego) 父主题: 修饰器 Modifiers
  • pose_3d 定义:三维空间的复合位置,包含位置点(odr_point或position_3d或road_point)和方向(orientation_3d)两个参数 用途:设置实体的初始位置(assign_init_speed动作)、目标位置(acquire_position动作) 参数:参数如下表. 表1 pose_3d参数 Parameter Type Mandatory Description xyz_point xyz_point no a pose in space specified in Cartesian (XYZ) coordinates. odr_point odr_point no a point expressed in ASAM OpenDRIVE coordinates. road_point road_point no a point on route network specified in S-T coordinates. orientation orientation_3d no three-dimensional orientation xyz_point、odr_point和road_point必须设置且仅设置一个,用以提供位置信息. orientation非必选项,当不设置orientation时,对应roll、pitch、yaw均为0时的方向 使用xyz_point、设置orientation my_xyz: xyz_point = map.create_xyz_point(x: 150.0m, y: 200.0m ,z: 0.0m) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == 1.57rad) my_pose: pose_3d with: keep(it.xyz_point == my_xyz) keep(it.orientation == m_orientation) 使用odr_point、不设置orientation my_odr: odr_point = map.create_odr_point(road_id: '1',lane_id:'-2',s: 3.0m, t: 0.0m) my_pose: pose_3d with: keep(it.odr_point == my_odr) 使用road_point、不设置orientation my_road: road_point with keep(it.road_id == '1') keep(it.s == 5.0m) keep(it.t == 0.0m) my_pose: pose_3d with: keep(it.road_point == my_road) 父主题: Struct
  • 执行顺序 Execution sequence OSC2.0场景剧本StoryBoard 通过执行顺序Execution Sequence 和触发器Trigger 来支持用户 设计各种场景.StoryBoard 中有parallel 和serial 两种执行指令,最外层执行指令之前需要加上do 来 使场景剧本生效.其中: parallel :同步执行下方代码块内的动作action . serial :依次执行下方代码块内的动作act . 例如下方样例中, do parallel: 下的assign_init_speed , assign_init_position 和wait elapsed(10s) 是同步执行的.而serial: 下的lead_vehicle.change_speed 在Ego.activate_controller 完成之后执行. 由于初始动作InitAction内的action同步执行,且InitAction与story之间不涉及顺序 执行,建议场景最外层统一使用parallel. 样例 m_profile: dynamics_shape = linear do parallel: # InitAction Ego.assign_init_speed(15mps) Ego.assign_init_position(position: Ego_InitPosition) # Story serial: # act1 Ego.activate_controller(true, true) lead_vehicle.change_speed(target: 20mps, rate_profile: m_profile, rate_peak: 0.3mpss) serial: # act2 wait elapsed(10s) lead_vehicle.activate_controller(true, true) 父主题: 场景剧本 StoryBoard
  • lane_change_side 用于动作change_lane. lane_change_side list ENUM_LANE_CHANGE_SIDE = ("left", "right", "inside", "outside", "same") left:参考实体左侧的车道 right:参考实体右侧的车道 inside:参考实体内侧的车道 outside:参考实体外侧的车道 same:与参考实体相同的车道 父主题: Enum Lists
  • distance_mode 用于触发条件object_distance和point_distance. distance_mode list ENUM_DISTANCE_MODE = ("reference_points", "bounding_boxes") reference_points:测量参考点之间的距离. bounding_boxes:测量边界框之间的距离. 父主题: Enum Lists
  • 动作 lane_offset 动作主体:车辆vehicle 结束时间:当动作主体actor 到达目标偏移offset 处时,动作结束. 是否支持modifier:否 参数:参数如下表,支持位置参数和关键字参数.参数target 非必选项,不设置target 时采用绝对偏移,设置target 时采用相对偏移. 表1 lane_offset参数 Parameter Type Mandatory Description offset length yes Signed number in meters the vehicle should respect as an offset from the center of the current lane. rate_peak speed yes Target value for the peak lateral velocity that must be achieved during the action. dynamics_shape dynamics_shape yes Geometrical shape of the LaneOffsetAction's dynamics. target entity no Reference entity. offset值不能超出当前所在lane的宽度范围. 绝对偏移 m_shape: dynamics_shape = step Ego.lane_offset(0.8m, 0.5mps, m_shape) 相对偏移 m_shape: dynamics_shape = linear side_vehicle.lane_offset(offset:1.0m, rate_peak: 1.5mps, dynamics_shape:m_shape, target: Ego) 父主题: 动作 Actions
  • road_aids_type 匝道类型,用于静态场景的split场景和merge场景 road_aids_type list ENUM_ROAD_AIDS_TYPE = ("DType-1", "DType-2", "PType") DType-1(直接式1): DType-1(直接式1)是指匝道合入(分流)时直接汇入(离开)主路,并且匝道部分逐渐收缩(扩展)直到合入(离开)主路,如下图所示: DType-2(直接式2): DType-2(直接式2)是指匝道合入(分流)时直接汇入(离开)主路,主路的车道数也随之发生变化,匝道部分不进行收缩(扩展),如下图所示: PType(平行式): PType(平行式)是指匝道合入(分流)时先有一段平行于主路,然后匝道再逐渐收缩(扩展)直到合入(离开)主路,如下图所示: 父主题: Enum Lists
  • junction 简述:地图场景为交叉口.lead_vehicle和主车Ego一前一后分别以LeadVehicle_TargetSpeed_Ve0和Ego_TargetSpeed_Ve0的初始速度向交叉口行驶,Ego设定了目标在右转车道上的目标点Target_position,仿真开始后激活Ego控制器(控制器会影响Ego去往Target_position的寻路算法,但目前SimPro尚不支持寻路动作acquire_position).另一路段上有一辆车vehicle1,也以LeadVehicle_TargetSpeed_Ve0的速度朝交叉口行驶..控制器有时会根据环境车的位置更改主车Ego的速度. 地图文件(odr) scenario Junction: m_scene: scenery lane_num: int = [2, 3, 4] bikeway: bool = false sidewalk: bool = false junction_type: junction_type = ["crossroad", "T-junction"] junction_1: junction with: keep(it.lane_num == lane_num) keep(it.bikeway == bikeway) keep(it.sidewalk == sidewalk) keep(it.junction_type == junction_type) 场景文件(osc) import standard scenario Junction: # map map: map map.set_map_file("./junction.odr") # parameter Ego_TargetSpeed_Ve0: speed = [50kph..60kph] Ego_InitPosition_RoadId: string = '1' Ego_InitPosition_LaneId: string = ['-1', '-2'] Ego_InitPosition_s: length = [0m..100m] Ego_Odr: odr_point = map.create_odr_point(road_id: Ego_InitPosition_RoadId, lane_id: Ego_InitPosition_LaneId, s: Ego_InitPosition_s, t: 0.0m) Ego_InitPosition: pose_3d with: keep(it.odr_point == Ego_Odr) Target_xyz: xyz_point = map.create_xyz_point(x: 225m, y: -100m ,z: 0.0m) Target_position: pose_3d with: keep(it.xyz_point == Target_xyz) LeadVehicle_TargetSpeed_Ve0: speed = 45kph Vehicle1_Odr: odr_point = map.create_odr_point(road_id: '2', lane_id: '2', s: 100.0m, t: 0.0m) m_orientation: orientation_3d with: keep(it.roll == 0.0rad) keep(it.pitch == 0.0rad) keep(it.yaw == -1.57rad) Vehicle1_InitPosition: pose_3d with: keep(it.odr_point == Vehicle1_Odr) keep(it.orientation == m_orientation) m_profile: dynamics_shape = [sinusoidal, linear, step] m_rate_peak: acceleration = [5kmphps, 10kmphps] Duration: time = [100s, 120s] # entity Ego: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") lead_vehicle: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") vehicle1: vehicle with: keep(it.name == "Saimo") keep(it.initial_bm == "默认驾驶员") # storyboard do parallel(duration: Duration): # init Ego.assign_init_position(position: Ego_InitPosition) Ego.assign_init_speed(Ego_TargetSpeed_Ve0) lead_vehicle.assign_init_position() with: lane(same_as: Ego) position(distance: 30.0m, ahead_of: Ego) lead_vehicle.assign_init_speed(LeadVehicle_TargetSpeed_Ve0) vehicle1.assign_init_position(position: Vehicle1_InitPosition) vehicle1.assign_init_speed(LeadVehicle_TargetSpeed_Ve0) Ego.activate_controller(true, true) Ego.acquire_position(target: Target_position) 父主题: 种子地图的逻辑场景样例(SIMPRO)
共100000条