Vision SDK for Android教程(二)AR navigation (三)Safety alerts

2024-06-08 04:38

本文主要是介绍Vision SDK for Android教程(二)AR navigation (三)Safety alerts,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AR navigation

Mapbox Vision AR for Android 是在Mapbox Vision SDK for Android基础上的高级框架,Vision AR管理导航路线,转换到核心库,然后在相机上渲染AR导航。

Route line

为了在路上生成轨迹线,首先要产生轨迹线。你可以使用Mapbox Navigation SDK来创建一个对Maobox Directions API来使用导航引擎。如果你想在Android中使用Mapbox Navigation sdk,你需要将其加入到模块中。

下面这个例子在NavigationRoute.Builder类中使用Mapbox Navigation SDK来创建一个Mapbox Directions API。请求是一个NavigationRoute对象,你可以用来在地图上展示轨迹和导航轨迹,通过Route generation guide(https://docs.mapbox.com/android/navigation/overview/route-generation/)来获取 更多信息。

使用VisionArManager's setRoute 方法来在Vision AR View中产生轨迹线。


VisionArManager.setRoute(new Route(getRoutePoints(route),(float) routeProgress.durationRemaining(),"Source street name","Target street name"
));

默认是使用实体蓝线显示轨迹,可以自由定制。用VisionArView.setLaneVisualParams来改变颜色、宽度、线坐标、颜色、氛围颜色。

Safety alerts

开发者可以创建要素用来提醒和警示驾驶者关于道路情况和潜在危害,这是一个增强模块,通过VisionSDK传递的信息进行分析、探测和分类。

Monitor speed limits

开发者可以控制速度限制和其他关键的信号分类,当探测到车辆速度大于上个观测速度,你可以设置报警。

有两方面来展示速度报警:探测速度限制标志和探测当前车速。

Sign detection

VisionSafetyListener来观测速度限制标志来决定用户当前位置的最大限速。决定最大限速是通过探测最大限速标志来更新maxAllowedSpeed的值,直到遇到下一个最大限速值,继续更新。


@Override
public void onRoadRestrictionsUpdated(@NotNull RoadRestrictions roadRestrictions) {maxAllowedSpeed = roadRestrictions.getSpeedLimits().getCar().getMax();
}

然后,你可以用Vision SDK的VehicleLocation类的speed属性来决定速度,再通过一些逻辑来决定用户速度是否超过最大限速并展示报警信息。

// current speed of the car
Float mySpeed = vehicleState.getSpeed();
// display toast with overspeed warning if the car's
// speed is greater than maximum allowed speed
if (mySpeed > maxAllowedSpeed && maxAllowedSpeed > 0) {Toast.makeText(MainActivity.this,"Overspeeding! Current speed : " + mySpeed +", allowed speed : " + maxAllowedSpeed,Toast.LENGTH_LONG).show();
}

可在这个网站:https://docs.mapbox.com/android/vision/examples/speeding-alerts/查看详细信息。

Alert drivers of pedestrians and cyclists

Vision Safety CollisionObject 类用来探测车辆行车路线上物体,并且提供一个预碰撞的范围在0-2之间危险等级CollisionDangerLevel,碰撞检测可以警示驾驶者当行人和骑行者在车辆前进路线。

 

 

这篇关于Vision SDK for Android教程(二)AR navigation (三)Safety alerts的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041220

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级