目前,我正在使用蜂窝系统(4G或5G)构建和实现机器人控制系统,.I正在考虑使用实时操作系统来减少服务器上的处理时间。
服务器接收来自机器人的请求并对其作出响应。通过实验,我发现了以下内容。
30~50ms(edge)/70~90ms(cloud)
robot -----> base station -----> edge server
<----- <-----
or
robot -----> base station -----> cloud server
<----- <----kernel
现在,我正在考虑在云/边缘服务器上安装preempt内核。
通过在服务器上安装RTOS,端到端延迟和处理时间是否减少了10 by以上?
发布于 2020-12-10 16:54:15
我目前正在用蜂窝系统(4G或5G)构建和实现机器人控制系统,.I正在考虑使用RTOS来减少服务器上的处理时间。
RTOS并不是要“减少处理时间”,它支持对事件的快速和确定性响应。也就是说,对现实世界外部事件的响应可以用定义良好的最小和最大响应时间来影响。我之所以说“支持”,是因为粗心大意的人有很多方法可以扰乱调度和IPC,并使系统在这方面表现不佳。
减少处理时间是一个处理速度和处理负荷的问题。也就是说,你的处理器有多快,你要它处理什么。在这方面,选择高效的算法和数据结构以及编译器优化是使用RTOS更有效的方法。
服务器接收机器人的请求并对其作出响应。通过实验,我发现了以下内容。
好的,现在我还不清楚你打算在哪里使用实时操作系统。在机器人还是服务器上?如果在服务器上,要获得确定的实时响应端到端,通信通道也必须是实时的--即保证最大响应时间。它能做到吗?
现在,我正在考虑在云/边缘服务器上安装
内核。
preempt rt并不真正制造Linux和RTOS,尽管在这个应用程序中它可能是足够和合适的。它的优点是为COTS PC架构板提供了所有硬件、I/O和网络支持,这是大多数(但绝不是全部)真正的RTOS缺乏的,而且您可能需要第三方组件来提供这些功能--这是对复杂和PC之类的东西的一个很大的要求。
如果它适用于普通Linux,并且需要保证特定的响应时间,那么它是合适的。你只是想让代码运行得更快,这不是方法。基于优先级的抢占式调度器允许您确保特定的代码在它需要时运行,而不是在内核有时间调度它时运行。它可以防止处理中的延迟,而不是加速处理。
是端到端的延迟,通过在服务器上安装RTOS来缩短处理时间超过10 by?
在服务器上运行的软件不能改变通信网络的延迟。如上所述,您实现的是处理中的最小延迟,而不是更快的处理。在这种情况下,如果在通信中没有延迟保证,那么延迟最小化几乎没有什么优势--测量“典型的”响应时间并不能保证。
机器人
除非每个部件--机器人、通信链路、基站和服务器--都具有实时能力,否则整个系统就不会具有实时能力。
https://stackoverflow.com/questions/65163745
复制相似问题