用开源代码构建机器人需要考虑的问题

news2024/9/29 17:26:08
导读或许你正在考虑(或正在进行)将机器人使用开源软件推向市场。这个机器人是基于 linux 构建的。也许你正在使用机器人操作系统(ROS)或任务导向操作套件(MOOS),或者是另外一个可以帮助你简化开发过程的开源中间件。当开发接近实用化,对回报的期望开始给你带来一些压力。你可能会被问到“我们的产品什么时候可以开始销售?”,这时你将面临重要的抉择。

用开源代码构建机器人需要考虑的问题用开源代码构建机器人需要考虑的问题


你可以做下面两件事之一:

  1. 对现有的产品开始出货
  2. 回过头去,把产品化当做一个全新的问题来解决,并处理新的问题

不需要看很远,就可以找到采用方式(1)的例子。事实上,在物联网设备市场上,到处都是这样的设备。由于急于将设备推向市场,这些可以在设备中找到硬编码证书、开发密钥、各种安全漏洞和没有更新方式的产品并不少见。

想想 Mirai 僵尸网络,通过该僵尸网络发起的流量超过 1Tbps 的分布式拒绝服务攻击(DDos),导致一些互联网上最大的网站停止服务。这个僵尸网络主要由物联网设备组成。这种攻破设备的防御机制进而控制设备所开发的僵尸程序,是采用了超级酷的黑魔法在一个没有窗户的实验室(或地下基地)开发的吗?不是,默认(通常是硬编码)证书而已。这些设备的制造商是否快速反应并发布所有这些设备的更新,以确保设备的安全?不,很多制造商根本没有更新方法。他们召回设备而不是发布更新。

不要急于将产品推向市场,而是退后一步。只要多思考几点,就可以使你自己和你所在公司避免痛苦。

例如,你的软件如何更新?必须能回答这个问题。你的软件不是完美的。只要几个星期你就会发现,当你在加利福尼亚使用自主的高机动性多用途轮式车辆(HMMWV)时,它把小灌木识别为一棵橡树。或者你不小心在软件中包含了你的 SSH 密钥。

基础操作系统如何更新?也许这仍然是你的产品的一部分,也是你回答上一个问题的答案。但也许你使用的操作系统来自于另外一个供应商。你如何从供应商那里得到更新并提供给客户?这就是安全漏洞真正让你头痛的地方:从来不更新的内核,或者严重过时的 openssl。

当你解决了更新问题,在更新过程出现问题时,机器人怎么恢复?我的示例是对前面问题的一个常见解决方案:自动安全更新。对于服务器和台式机以及显然是计算机的东西来说,这是一个很好的做法,因为大多数人意识到有一个可接受的方法来关闭它,而不是按住电源按钮 5 秒钟。机器人系统(以及大多数物联网系统)有一个问题,有时它们根本不被认为是计算机。如果您的机器人表现奇怪,有可能会被强制关闭。如果你的机器人行为奇怪是因为它正在快速安装一个内核更新,那么,现在你就有一个安装了半个内核的机器人镇纸了。你需要能够处理这种情况。

最后,你的工厂流程是什么?你如何安装 Linux,ROS(或者你使用的中间件),以及你要安装在设备上的你自己的东西?小的工厂可能会手工操作,但这种方法不成规模,也容易出错。其他厂商可能会制作一个定制化的初始发行版 ISO,但这是个不小的任务,在更新软件时也不容易维护。还有一些厂商会使用 Chef 或者有陡峭学习曲线的自动化工具,不久你就会意识到,你把大量的工程精力投入到了本来应该很简单的工作中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

007 数据结构_堆——“C”

前言 本文将会向您介绍关于堆Heap的实现 具体步骤 tips:本文具体步骤的顺序并不是源代码的顺序 typedef int HPDataType; typedef struct Heap {HPDataType* _a;int _size;int _capacity; }Heap;初始化 void HeapCreate(Heap* hp, HPDataType* a, int n) {hp-&…

AT32F407裸机工程创建

1、建立工程文件夹 2、找到AT提供DEMO例程,我们需要复制相关的内核文件出来,到我们创建的这个文件夹 1)将库文件拿过来 2)内核文件 3)启动文件 我把F407相关的内核文件都复制过来,然后具体看自己使用哪个型号,工程自己添加对应的文…

避雷!这9本期刊已被剔除!9月SCI/SSCI目录已更新(附2023年WOS历次更新全目录)

2023年9月20日,科睿唯安更新了Web of Science核心期刊目录。 此次更新后SCIE期刊目录共包含9490本期刊,SSCI期刊目录共包含3552本期刊。此次SCIE & SSCI期刊目录更新,与上次更新(2023年8月)相比,共有9本…

共育电商人才,引领行业发展丨知了汇智与协作时代达成战略合作

随着新一轮科技革命和产业革命的深入发展,数字经济正在成为重塑全球经济结构、改变全球竞争格局的关键力量,数字经济与实体经济的深度融合,也将是未来经济发展的重要动力。数字经济的发展正在催生电子商务模式不断创新,新业态下企…

安防监控系统/视频云存储/视频监控平台EasyCVR无法级联上级平台,该如何解决?

安防视频监控系统EasyCVR平台能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也…

《动手学深度学习》(pytorch版+mxnet版)2023最新

我又来推书了,这次分享的这本书可是重量级,目前已经被55个国家300所大学用于教学,同时受到了学术界与工业界的强烈推荐。 这本书就是李沐、阿斯顿张、立顿、斯莫拉四位大佬联合编写的《动手学深度学习》。本书面向中文读者,能运行…

第二十四章 原理篇:DBB

上班真的好累哦! 理论上应该从RepVGG开始写重参化的,而且上星期就打算写来着! 但是上班真的好累哦完全提不起精神在周末打字看论文! 参考教程: https://arxiv.org/pdf/2103.13425.pdf https://github.com/DingXiaoH/D…

自己实现一个简单的vhost-net

框架 vhost在网络中的位置如图&#xff1a; 要学习具体的框架可以看我之前的文章vhost-net--------深入了解Virtio-networking和vhost-net 接下来&#xff0c;我们自己实现一个vhost. vhost-net代码 在代码中写了详细注释&#xff0c;就直接上代码了 #include <stdio.h…

期权是什么?一分钟带你玩转期权策略!

很多人问我期权是什么&#xff0c;这个问题怎么回答呢&#xff1f;首先期权是一种交易模式&#xff0c;如同股票期货一样&#xff0c;但它又不同于股票和期货&#xff0c;因为它有自己的交易规则和特性&#xff0c;期权更多是一种工具&#xff0c;可以做空大盘对冲下跌风险&…

0018Java程序设计-springboot智慧环卫养管作业平台

文章目录 摘 要目 录系统设计开发环境 摘 要 本智慧环卫养管作业平台就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对环卫养管作业的管理&#xff0c;从而保证环卫养管作业能够高效的进行&#xff0c;可以实现环卫养管作业的在线管理&…

健康云HIS系统源码,满足基层医疗机构业务需求,提供挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等功能

云his系统源码 二级医院HIS系统全套源代码 自主研发&#xff0c;自主版权 一款满足基层医疗机构各类业务需要的健康云HIS系统。该系统能帮助基层医疗机构完成日常各类业务&#xff0c;提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等一…

wabp.m 代码注释(便于算法快速理解)

算法效果: 波峰和起点检测效果: function [r,pk] = wabp(Araw, Offset,Scale, Fs) % r = wabp(Araw,Offset,Scale, Fs); % Input: Araw (125Hz sampled) waveform in wfdb-MIT format, % Offset, Scale % Araw = 血压波形 % Offset=偏移(信号减去或者加上偏移恢复成…

启山智软/O2O商城

文章目录 启山智软介绍一、O2O商业模式是什么二、启山智软O2O商城管理系统1.O2O商城系统2.多种商业形态的O2O商城系统1、类似蜜雪冰城的合作加盟模式2、类似优衣库的连锁直营模式3、类似京东到家的同城/本地服务平台 O2O商城开发具备的特色功能&#xff1a;部分源码分享 启山智…

MTBF、MTTR、MTTA 和 MTTF

了解一些最常见的事件指标 在当今永不停机的世界中&#xff0c;中断和技术事件比以往任何时候都更加重要。故障和停机期间会带来现实后果&#xff0c;错过截止时间、付款逾期、项目延迟。 这就是为什么公司必须量化和跟踪有关正常运行时间、停机期间以及团队解决问题的速度和…

改变latex单张页面宽度的正确做法

https://tex.stackexchange.com/questions/6834/change-paper-size-in-mid-document#comment115838_6838 首先注意&#xff0c;网上所有有关newgeometry的说明都是不可行的&#xff0c;因为 画红圈的地方大家自行阅读&#xff0c;这就是原因。 其次&#xff0c;更改页面宽度的…

一、Vuex相关概念和使用

目录 Vuex的概念核心概念Vuex 的使用场景1、组件之间的数据共享2、复杂状态的管理3、异步操作的处理 Vuex的概念 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化…

数据研发“新人”如何快速落地?

作者&#xff1a;肖迪(墨诩) 一、前言 这个季度主推安全月构筑&夯实稳定性底盘&#xff0c;就组织了组里的同学对核心业务链路进行了稳定性的摸排。在摸排过程中&#xff0c;不断有个声音在问你摸排出来的问题就是全部问题么&#xff1f;你加的监控加全了么&#xff1f;你…

【Git】一个完整的git项目之代码管理

1.版本库初始化 1.1 git clone 这是一种较为简单的初始化方式&#xff0c;当项目已经有了一个远程的Git版本库&#xff0c;只需在本地克隆一份代码。如&#xff1a; git clone http://192.168.x.x/github.com/someone/some_project.git some_project 上面的命令是将 htt…

SpringBoot自动装配原理及分析

一、什么是自动装配 在使用SpringBoot的时候&#xff0c;会自动将Bean装配到IoC容器中。例如我们在使用Redis数据库的时候&#xff0c;会引入依赖spring-boot-starter-data-redis。在引入这个依赖后&#xff0c;服务初始化的时候&#xff0c;会将操作Redis需要的组件注入到IoC…

给你下单前,磨练你无数次的国外客户

前段时间给几个客户做了不少方案设计和报价后都没有下文&#xff0c;给我做项目的设计师都对我没信心了&#xff0c;多少有点抱怨&#xff0c;就说我是雷声大雨点小。再有要做设计的图&#xff0c;就不会像之前那样热心了。 说真的&#xff0c;多少有点受挫。前天那个咨询了无…