在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino機(jī)器人面向服務(wù)的架構(gòu)

Arduino機(jī)器人面向服務(wù)的架構(gòu)

2023-01-03 | zip | 0.04 MB | 次下載 | 免費(fèi)

資料介紹

描述

系列介紹

本系列文章的重點(diǎn)是基于可在所有機(jī)器人中重復(fù)使用的服務(wù)創(chuàng)建可擴(kuò)展的面向?qū)ο蟮哪K化軟件架構(gòu),而無需在每次創(chuàng)建新機(jī)器人時(shí)都從頭開始。

也許開始使用機(jī)器人技術(shù)的最具成本效益的方法是使用您可以在任何電子商務(wù)(全球速賣通、banggood等)上購(gòu)買的智能機(jī)器人汽車。但當(dāng)然,購(gòu)買它是最簡(jiǎn)單的部分......您不需要專門購(gòu)買,即使有了智能機(jī)器人汽車的描述,您也會(huì)發(fā)現(xiàn)許多不同的變體。我將為您使用此套件獲得的所有最常見模塊創(chuàng)建“服務(wù)”,因此您可以選擇您需要的服務(wù),并將它們一起使用來創(chuàng)建您自己的智能機(jī)器人,而無需從頭開始對(duì)每個(gè)機(jī)器人進(jìn)行操作你做。

指數(shù)

這是我將要?jiǎng)?chuàng)建的泰博機(jī)器人服務(wù)系列或文章的索引

關(guān)于硬件

為了能夠閱讀本文,您可能至少需要對(duì)面向?qū)ο蠓独兴私猓绻赡艿脑挘褂?C++但我對(duì) C++ 了解不多,但仍然這樣做,所以我認(rèn)為你也能做到。

我將以您可以從任何電子商務(wù)獲得的廉價(jià)硬件為基礎(chǔ)提供服務(wù)。你會(huì)看到我提到了 Arduino 智能機(jī)器人汽車。不過,我現(xiàn)在不使用該機(jī)器人進(jìn)行測(cè)試(我將來可能會(huì)),但 RoboSoul TK-100 更堅(jiān)固一些,但另一方面,當(dāng)它撞到某物時(shí),結(jié)果更破壞性的。

該軟件被認(rèn)為是盡可能可擴(kuò)展的,這就是為什么您應(yīng)該能夠使用任何可用的硬件。對(duì)于其中一些,您會(huì)在這里找到可以重用的服務(wù),而對(duì)于其他一些,您可能需要為您的特定硬件實(shí)現(xiàn)特定服務(wù)。這將非常容易,如果您決定在那之后更改硬件,您需要對(duì)機(jī)器人的主要代碼進(jìn)行的更改將是最小的。

關(guān)于架構(gòu)

我會(huì)盡量用最新的類圖更新這篇文章,因此它可以作為代碼中每個(gè)可用服務(wù)的參考。您會(huì)發(fā)現(xiàn)它附在本文中。

創(chuàng)建基礎(chǔ)服務(wù)

由于主要思想是基于相同的面向?qū)ο蠹軜?gòu)創(chuàng)建許多服務(wù),因此我們首先需要定義該架構(gòu)是什么。

“服務(wù)”基類

首先,我們要記住,我們希望能夠?yàn)槟砑拥巾?xiàng)目中的每個(gè)硬件模塊添加一個(gè)服務(wù)。那么,什么是一個(gè)好的服務(wù)主類?我們希望能夠:

  • 啟用/禁用任何服務(wù)
  • 使其冗長(zhǎng)(以了解其中發(fā)生了什么以進(jìn)行調(diào)試)
  • 允許服務(wù)做一些設(shè)置
  • 允許服務(wù)在每次循環(huán)迭代時(shí)運(yùn)行一些更新代碼

現(xiàn)在,僅此而已。將根據(jù)我們正在構(gòu)建的服務(wù)類型添加更多詳細(xì)信息所以基礎(chǔ)服務(wù)類的頭文件(Service.h)將是這樣的:

#pragma once   
#include "arduino.h" 
namespace Taibot 
{ 
	class Service 
	{ 
	public: 
		// isEnabled: Enables/Disables the Service   
		// isVerbose: Activates the logging output to Serial   
		Service(bool isEnabled, bool isVerbose); 
		// Use this method to know if the driver is enabled or not 
		bool IsEnabled(); 
		// Use this method to know if the logging is is enabled or not before writing logs 
		bool IsVerbose(); 
		// Enables/Disables the driver 
		void SetEnabled(bool isEnabled); 
		// Enables/Disables the logging 
		void SetVerbose(bool isVerbose); 
		// Needs to be implemented by every service, so we keep a convention 
		virtual void Setup() = 0; 
		// Needs to be implemented by every service, so we keep a convention 
		virtual void Update() = 0; 
	private: 
		// Enable/Disable the service   
		bool _isEnabled = false; 
		// Enable/Disable serial output for debugging  
		bool _isVerbose = false; 
	}; 
}; 

它的實(shí)現(xiàn)(Service.cpp)是這樣的:

#include "Service.h" 
using namespace Taibot; 
Service::Service(bool isEnabled, bool isVerbose) 
{ 
	_isEnabled = isEnabled; 
	_isVerbose = isVerbose; 
} 
bool Service::IsEnabled() 
{ 
	return _isEnabled; 
} 
bool Service::IsVerbose() 
{ 
	return _isVerbose; 
} 
void Service::SetEnabled(bool isEnabled) 
{ 
	_isEnabled = isEnabled; 
} 
void Service::SetVerbose(bool isVerbose) 
{ 
	_isVerbose = isVerbose; 
} 

Service 基類的構(gòu)造函數(shù)強(qiáng)制我們?yōu)榉?wù)設(shè)置啟用和詳細(xì)配置:Service(bool isEnabled, bool isVerbose); 然后你可以看到獲取或設(shè)置這兩個(gè)屬性的方法。

方法Setup()Update()在這里沒有實(shí)現(xiàn),因?yàn)樗鼈冃枰衫^承自該基類的服務(wù)實(shí)現(xiàn)。在許多情況下,此方法可能什么都不做,但由于我們的想法是允許服務(wù)在沒有任何外部要求的情況下工作和更新自身,我們應(yīng)該允許每個(gè)服務(wù)執(zhí)行它從 mane 草圖文件中要求的任何事情。

這意味著:

  • 在草圖的 setup() 文件中,您將從您正在使用的服務(wù)中調(diào)用所有 Setup() 方法。
  • 在草圖的 loop() 文件中,您將從您正在使用的服務(wù)中調(diào)用所有 Update() 方法。

一旦我們有自己的實(shí)際服務(wù)實(shí)施工作,我將展示一個(gè)例子。

回到服務(wù)類非常簡(jiǎn)單。如您所見,我們正在使用 Taibot 命名空間,只是為了避免與您可能擁有的其他代碼發(fā)生沖突。

結(jié)論

現(xiàn)在,這段代碼看起來非常簡(jiǎn)單,并沒有多大用處,但如果您按照其余文章進(jìn)行操作,您將能夠讓您的機(jī)器人工作,并且擁有一個(gè)漂亮的、可擴(kuò)展的、先進(jìn)的架構(gòu),這對(duì)我比有無盡的意大利面條代碼。

如果您不理解本文的任何部分、無法使此代碼工作、發(fā)現(xiàn)錯(cuò)誤或有任何建議,請(qǐng)告訴我,我愿意改進(jìn)它并使其成為任何人的干凈代碼庫(kù)想要重用它。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1涂鴉各WiFi模塊原理圖加PCB封裝
  2. 11.75 MB   |  76次下載  |  1 積分
  3. 2錦銳科技CA51F2 SDK開發(fā)包
  4. 24.06 MB   |  29次下載  |  1 積分
  5. 3錦銳CA51F005 SDK開發(fā)包
  6. 19.47 MB   |  3次下載  |  1 積分
  7. 4蘋果iphone 11電路原理圖
  8. 4.98 MB   |  3次下載  |  2 積分
  9. 5基礎(chǔ)模擬電子電路
  10. 3.80 MB   |  3次下載  |  1 積分
  11. 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
  12. 34.89 MB  |  1次下載  |  免費(fèi)
  13. 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
  14. 3.32 MB   |  1次下載  |  免費(fèi)
  15. 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
  16. 0.62 MB   |  次下載  |  5 積分

本月

  1. 1AI智能眼鏡產(chǎn)業(yè)鏈分析
  2. 4.43 MB   |  383次下載  |  免費(fèi)
  3. 2蘇泊爾電磁爐線路的電路原理圖資料合集
  4. 2.02 MB   |  296次下載  |  5 積分
  5. 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
  6. 0.50 MB   |  94次下載  |  1 積分
  7. 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
  8. 0.46 MB   |  91次下載  |  5 積分
  9. 5涂鴉各WiFi模塊原理圖加PCB封裝
  10. 11.75 MB   |  76次下載  |  1 積分
  11. 6錦銳科技CA51F2 SDK開發(fā)包
  12. 24.06 MB   |  29次下載  |  1 積分
  13. 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
  14. 0.11 MB   |  28次下載  |  2 積分
  15. 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
  16. 3.42 MB   |  16次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191388次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 深夜福利一区 | 亚洲成在人线中文字幕 | 黄篇网站在线观看 | 在线视频毛片 | 午夜女同影院 | 美女国产在线观看免费观看 | 很黄的网站在线观看 | 国产精品japanese人妖 | 91福利专区| 久久精品夜色国产 | 黄黄的网站在线观看 | 日韩毛片一级 | 五月欧美激激激综合网色播 | 永久免费看mv网站入口 | 欧美色久| 手机看片久久青草福利盒子 | 国产女乱淫真高清免费视频 | 嫩草影院久久国产精品 | 在线观看亚洲天堂 | 免费在线成人网 | 5151四虎永久在线精品免费 | 四虎精品成人免费观看 | 色麒麟影院 | 手机看片日本 | 欧美视频在线观在线看 | 深夜视频在线播放视频在线观看免费观看 | 一卡二卡三卡四卡无卡在线 | 91av免费观看 | 欧美亚洲另类在线观看 | 久久天天操 | 国产三级跑 | 天天爱夜夜操 | 毛片在线播放网站 | 亚洲一区二区三区影院 | 超级淫小黄文大全很污的那种 | 日本人zzzwww色视频 | 年轻护士3的滋味 | 国产精品网站在线进入 | 五月天婷婷爱 | 久久国产精品夜色 | 欧美18性欧美丶黑吊 |