物聯網以及萬物互聯是智慧城市、智能傢居的基礎和發展方向,借助物聯網、智能硬件和騰訊雲對傳統輪椅進行改造,能夠進一步提升輪椅的智能性和人機交互性能,傳統輪椅存在以下不足:1)輪椅作為老年人、殘障人士的重要出行工具,醫院的輪椅需求量也比較大,但使用時往往需要他人協助來保證安全,在感知、遠程控制、人機交互方面存在不足;2)電動輪椅正在成為主流,智能化趨勢顯現,目前輪椅的研發多集中在中低端市場,對於高端電動輪椅存在研發能力不足、產品缺乏科技含量的問題;3)智能輪椅依靠其在感知、控制和人機交互方面的優勢,還可作為智能代步車供各年齡段人士日常使用。
騰訊物聯網操作系統(TencentOS tiny)是騰訊面向物聯網領域開發的實時操作系統,具有低功耗,低資源占用,模塊化,可裁剪等特性,包括以下優點:1)提供瞭最精簡的 RTOS 內核,內核組件可裁剪可配置;2)提供瞭COAP/MQTT/TLS/DTLS等常用物聯網協議棧及組件,方便用戶快速接入騰訊雲物聯網通信IoT Hub;3)方便各種物聯網設備快速接入騰訊雲,可支撐智慧城市、智能穿戴、車聯網等多種行業應用。
本次比賽官方提供瞭AIoT開發板,它是騰訊 TencentOS 團隊聯合恩智浦半導體、厚德物聯網設計瞭高性能 AIoT 評估板,可用於TencentOS tiny基礎內核和 AIoT 應用功能體驗和評估。因此基於TencentOS tiny AIOT開發板、騰訊雲物聯網開發平臺、騰訊連連小程序和電動輪椅研究瞭智能輪椅的遠程控制和多模感知功能:
1)將開發板與騰訊雲對接,實現瞭輪椅上雲,並設計瞭騰訊連連微信/APP小程序;
2)智能輪椅控制:開發瞭輪椅腳踏板、靠背的升降控制和燈光控制;
3)智能輪椅多模感知:感知自身狀態(姿態、定位、速度信息)和外部環境信息(溫度、濕度、光照亮度)。進而,用戶可以手機控制輪椅腳踏板、座椅靠背的升降,同時也可在小程序上查看輪椅的姿態、定位、速度、溫濕度和光強信息。
下圖為輪椅實物圖,分別為輪椅的側視圖、俯視圖、AIOT開發板及外圍電路、傳感器模組、輪椅正視圖和APP小程序
(a)輪椅側視圖(b)輪椅俯視圖(c)開發板及外圍電路(d)傳感器模組(e)輪椅正視圖6fafd81ce6f5bfb388c99657a495dcf1(f)小程序
項目視頻:智能輪椅 - 雲+社區 - 騰訊雲 (tencent.com)
本項目的開發進一步提升瞭傳統輪椅的交互性能、感知性能和遠程控制能力,相信隨著研究的深入,會擁有廣闊的市場前景,推動輪椅智能化研究的進程。
本次大賽使用的開發板為TencentOS Tiny AIoT開發套件,可應用於物聯網、人工智能等多種領域的開發,內置TencentOS Tiny開源物聯網操作系統,例程等學習資料眾多,對於初學者非常友好。
開發板主要有以下特性:
圖1.1 開發板實物圖
近幾年來,智慧城市、物聯網技術發展迅速,相關的感知硬件也得以快速發展,通過應用攝像頭、毫米波雷達、超聲波雷達、激光雷達等智能硬件,設備也變得更加智能,人機交互性能得到瞭進一步的提高。
圖1.2 智能傳感器及其應用
當前人口老齡化問題日益嚴重,在全球人口中殘疾人患者約占15%,其中約有2.85 億例視力受損或失明患者,輪椅成為瞭滿足其日常出行的必要工具,但傳統輪椅不具備智能控制、物體感知、自主導航等功能,人機交互性能也不足。相比傳統輪椅,智能輪椅上安裝瞭測距、雷達、攝像頭等傳感器,感知性能更強;同時借助雲技術,可以通過手機主動調整輪椅的姿態、運動狀態等功能,是輪椅的未來發展方向。
如下圖為傳統輪椅和智能輪椅:
圖1.3 傳統輪椅和智能輪椅
項目開展瞭輪椅遠程控制、輪椅多模感知、輪椅上雲和微信/APP小程序設計四個方面的研究,以實現以下功能:
為實現上述功能,項目設計瞭如圖2.1所示的架構,主要包括以下幾部分:
(1)遠程端:包括騰訊雲平臺和騰訊連連微信小程序,在小程序上可以控制輪椅腳踏板、靠背的升降和燈光的開關,還可查看輪椅的姿態角、定位、速度信息,以及溫度、濕度和光照強度信息;
(2)主控層,采用AIOT開發套件,用於向LED燈珠和2個電機驅動板發送控制指令、獲取傳感器采集的感知數據,另外板載瞭WIFI模塊,用於對接騰訊雲;
(3)收發層,搭建傳感器與主控制板的通信鏈路;
(4)感知層,采集姿態角、定位、速度、溫度、濕度和光照強度數據;
(5)驅動層:包括電機驅動模塊和LED燈珠,用於驅動腳踏板和靠背上的四個電動推桿、控制LED燈珠的亮滅;
另外,系統還配備瞭電源模塊,產生24V電源,為系統供電。
圖2.1 智能輪椅架構
AIOT開發板上板載瞭E53接口,包括IIC、SPI、串口以及普通IO口等,可以外接自己的傳感器,在使用時利用恩智浦的MCUXpresso IDE生成對應的驅動程序即可進行開發。輪椅的控制和感知采用瞭E53接口,結構如圖2.2所示,其中E53引出的GPIO1-4用於控制驅動板和LED燈珠;E53的串口外接瞭數據采集板,數據采集板獲取到姿態角、定位、速度和溫濕度信息後通過串口發送到AIOT開發板;E53的IIC接口用於采集BH1750光照傳感器的亮度信息。
fd0dab4588d593f7a15218be086ec81d圖2.2 E53接口
本作品的研究主要有以下創新點:
(1)項目結合TencentOS tinyAIOT開發板、騰訊雲平臺和騰訊連連小程序,創新研究瞭輪椅的遠程控制、多模感知和人機交互技術,實現瞭物聯網輪椅的設計,是對傳統輪椅的智能化提升;
(2)現有輪椅的腳踏板和靠背控制多采用遙控器,需要隨身攜帶,通過本作品,僅需一個手機即可完成控制和輪椅狀態監控工作。
(1)研發角度:
從傳統輪椅企業發展的情況來看,當前輪椅的研究多數聚焦於中低端輪椅市場,在高端電動輪椅、運動輪椅以及智能輪椅上的研發能力不足,產品缺乏科技含量。
另外本項目來源於國傢重點研發計劃項目,相關研究是對中高端輪椅市場的補充,有助於推動智能輪椅的發展。
(2)老年人、殘障使用者角度:
輪椅可作為老年人、殘障人士日常生活的重要工具,但輪椅市場的需求還遠遠未得到滿足。根據國傢輔具研究中心的數據顯示,我國輪椅的實際適配比例僅為10%左右。
另外,老人的需求也在加快升級,傳統輪椅在功能和設計上也存在許多痛點,難以跟上用戶日漸升級的需求,伴隨著新一代智能代步車的出現,傳統輪椅將迎來一場巨大的變局。輪椅市場面臨重塑,技術的升級則打開瞭輪椅的想象空間。
圖2.3 輪椅需求量(資料來源:中國老齡協會IBISWord前瞻產業研究院)
(3)醫院輪椅需求大:
醫院對智能輪椅的需求,隨著人口老齡化程度的加深以及我國康復醫學的發展,結合中國醫療衛生機構康復醫學科門急診人次10.2%的復合增長速度,預計醫院對輪椅的需求也將保持10%的復合增長速度。預計到2026年,我國醫院對輪椅的需求量將達到136.4萬輛左右。
圖2.4 醫院輪椅需求量(資料來源:中國老齡協會IBISWord前瞻產業研究院)
輪椅控制部分包括輪椅腳踏板、靠背和LED的控制,采用AIOT開發板的E53接口引出的GPIO1-GPIO4發出控制信號,結構如圖3.1所示,具體包括以下:
(1)開發板的GPIO2輸出高、低電平控制LED燈珠的亮滅;
(2)開發板的GPIO1和GPIO3連接到電機驅動板1,驅動腳踏板部分的兩個電動推桿,以實現腳踏板的升降;
(3)開發板的GPIO2和GPIO4連接到電機驅動板2,驅動靠背部分的兩個電動推桿,以實現靠背的升降;
(4)開發板上雲,接收來自手機小程序的控制指令。
圖3.1 輪椅控制結構
3.2.1 硬件部分
為瞭控制輪椅腳踏板和靠背的升起和降落,在輪椅的兩個腳踏板和靠背處放置瞭4個電動推桿,如下圖所示,電動推桿采用瞭直流有刷電機,提供0-24V電壓即可控制推桿的升起和降落。
如圖3.2為電動推桿和安裝圖。
圖3.2 靠背和腳踏板上的電動推桿
項目采用瞭如下圖所示的單路電機驅動板,對驅動板的IN1和IN2提供提供控制信號可以控制電機正轉、反轉和剎車,對PWM口輸入不同占空比的方波可以控制電機的轉速。另外,在項目開發時,為保證腳踏板和靠背控制的同步性,靠背和兩個腳踏板的電動推桿均連接到同一個電機驅動板。
ecc4f0599ca21c42fd63408b6f980b45圖3.3 電機驅動板接線圖和控制信號
電機驅動板需要提供9-36V的電壓來驅動電動推桿,因此采用瞭24V開關電源,如下圖所示,可輸出24V 4.5A的電壓。
圖3.6 系統電源模塊
為瞭控制推桿電機和靠背電機,采用瞭AIOT開發板板載E53模塊的GPIO1-4實現電機方向的控制,方向控制如下表所示:
表3-1 電平控制信號
IO初始化程序如下:
/* GPIO configuration on GPIO_B1_15 (pin B14) */
gpio_pin_config_t gpio2_pinB14_config = {
.direction = kGPIO_DigitalOutput,
.outputLogic = 0U,
.interruptMode = kGPIO_NoIntmode
};
/* Initialize GPIO functionality on GPIO_B1_15 (pin B14) */
GPIO_PinInit(GPIO2, 31U, &gpio2_pinB14_config);//GPIO2
GPIO_PinInit(GPIO2, 30U, &gpio2_pinB14_config);//GPIO3
GPIO_PinInit(GPIO3, 17U, &gpio2_pinB14_config);//GPIO1
GPIO_PinInit(GPIO3, 4U, &gpio2_pinB14_config);//GPIO4
IOMUXC_SetPinMux(IOMUXC_GPIO_B1_15_GPIO2_IO31, 0U);//GPIO2
IOMUXC_SetPinMux(IOMUXC_GPIO_B1_14_GPIO2_IO30, 0U);//GPIO3
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_05_GPIO3_IO17, 0U);//GPIO1
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_05_GPIO3_IO4, 0U);//GPIO1
開發板接收到微信小程序的控制指令後IO口的輸出程序:
if(cjson_switch != NULL){ //靠背降下
power_switch = cjson_switch->valueint;
if (power_switch == 0) {
GPIO_PinWrite(GPIO2, 31, 0);
} else if (power_switch == 1) {
GPIO_PinWrite(GPIO2, 31, 1);
}
}
else if(cjson_switch_jiao != NULL){ //腳踏板升起
tuigan_jiao_switch = cjson_switch_jiao->valueint;
if (tuigan_jiao_switch == 0) {
GPIO_PinWrite(GPIO2, 30, 0);
} else if (tuigan_jiao_switch == 1) {
GPIO_PinWrite(GPIO2, 30, 1);
}
}
else if(cjson_switch_jiao_down != NULL){ //腳踏板降下
tuigan_jiao_down_switch = cjson_switch_jiao_down->valueint;
if (tuigan_jiao_down_switch == 0) {
GPIO_PinWrite(GPIO3, 17, 0);
} else if (tuigan_jiao_down_switch == 1) {
GPIO_PinWrite(GPIO3, 17, 1);
}
}
else if(cjson_switch_bei != NULL){ //靠背升起
tuigan_bei_switch = cjson_switch_bei->valueint;
if (tuigan_bei_switch == 0) {
GPIO_PinWrite(GPIO3, 4, 0);
} else if (tuigan_bei_switch == 1) {
GPIO_PinWrite(GPIO3, 4, 1);
}
}
下一篇