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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具