首頁 > 公司動態 > 這大概是今年最好的避障模塊—來自一名參賽大學生的自白

這大概是今年最好的避障模塊—來自一名參賽大學生的自白

2019年11月22日

參加過兩次省級機器人大賽,可以說無人車項目見證了我一步步的成長。避障功能作爲比賽時前方路況判斷和預測最主要的功能之一,相信大家並不陌生,下面我會結合比賽過程中的心得,詳細介紹這款超強避障模塊—北醒TFmini Plus激光雷达

激光雷达智能车比赛,激光雷达小车,激光雷达

图一 无人车技术方案结构图


一、

避障模塊原理及性能優勢評估

智能车能通过TFmini Plus及时、快速并且有效的进行识别,并配合转向前进系统实现避障,得益于其測距精度更高,對于室外強光、不同溫度、不同反射率等不同環境下適應性更強,更低功耗,1-1000Hz探測頻率也更加靈活,同時兼容UART和I2C通信接口,可通過指令進行切換。工作原理为TOF(Time of Flight)即飞行时间原理,具体表现为TFmini Plus周期性的向外发出近红外光调制波,调制波遇物体后反射,通过测量调制波往返相位差,得到飞行时间,再计算出产品与被测目标之间的相对距离。


激光雷达智能车比赛,激光雷达小车,激光雷达

图二 飞行时间原理示意图


在整個比賽過程中,最大的優勢在于針對移動物體,能實時返回距離,不會出現卡頓現象,同時在強光環境下數據也十分穩定。通常智能車比賽在體育館內舉行,體育館照明十分充足,甚至存在陽光直射的情況,這種情況下小功率激光可能會出現距離不准的情況。而較爲便宜的US100等超聲波模塊,據說在高頻振動的情況下數據會出現毛刺。不過TFmini Plus用于智能車項目需要盡量避免探測十分光滑的障礙物。


表一 TFmini Plus关键参数表

激光雷达智能车比赛,激光雷达小车,激光雷达


二、

避障模塊實際操作步驟

TFmini Plus采用的是1.25mm的4p自锁插座,用镊子挑开卡扣可以更换线序,方便与PCB主控板连接。比較遺憾的是端子種類有點少,用sm04b、sh1.0的話需要自己剪線、焊線,比較麻煩。通信可以采用USART以及IIC,個人比較喜歡串口的方式,利用DMA+IDLE空閑中斷可以實現單片機資源的最少占用,同時也便于程序移植。


激光雷达智能车比赛,激光雷达小车,激光雷达

图三 TFmini Plus线序示意图


表二 TFmini Plus连接说明

激光雷达智能车比赛,激光雷达小车,激光雷达


表三 数据格式及编码解释

激光雷达智能车比赛,激光雷达小车


一幀數據中最有用的就是第3位和第4位的距離信息了,通過第4位數據*256+第3位數據就可以得到真實距離,也可以第4位數據左移8位再按位或第3位數據。利用STM32單片機的串口空閑中斷對DMA傳入的數據幀進行解析的程序如圖四所示。


激光雷达智能车比赛,激光雷达小车

图四 数据解析示意图


北醒GitHub給出了HAL庫的例程,然而我還不會CubeMX+HAL庫的高端操作,又用標准庫重寫了一遍。至于STM32的DMA和IDLE空閑中斷接收並解析數據幀,CSDN有很詳細的資料,這種方法也是圖像處理模塊和機器人主控通信的方法之一,學著用北醒方法的時候我對串口數據幀的概念有了更深刻的認識以前寫通信總是畏手畏腳,不知道怎麽寫才能穩定通信同時又不占用太多單片機資源。


三、

避障模塊最終應用

前置TFmini Plus避障模块感知前方有無障礙或車輛,當向前的距離小于阈值時,根據左側激光測得的小車到擋板的距離判斷小車在道路左側還是右側,左側則向右側避障,右側則相反。


激光雷达智能车比赛,激光雷达小车

图五 参赛无人车实拍图


有人說這麽簡單的任務超聲波足夠了,的確,如果拿來做項目,超聲波確實可以實現避障功能。但比賽不一樣,比賽追求的是萬無一失,要求傳感器對環境必須有很好的適應性,稍有差池,幾個月甚至小半年的努力就會白白浪費。


賽場很殘酷,比賽現場我遇到了新的問題:之前調試都是在學校的小教室,距離不會超過7m,但賽場是大體育場,當前面沒有任何物體時距離會超量程,返回值爲0。而程序的判斷邏輯是距離小于40執行避障任務,這樣一來小車會出問題。一瞬間我突然想到了北醒技術人員告知我說的跳0的問題,0並不是真實距離,而是表征距離不准的一個標志!我趕快在程序中加上了小于40且大于0的條件,第二輪終于正常了,還算有驚無險。最終項目都拿到了冠軍,總算讓這麽多次的連續失敗畫上了句號,很感謝北醒能做出來這麽好的激光雷達避障模塊!也希望更多參加比賽的同學能有所收獲。


附上參賽視頻片段(避障效果實測



關于北醒


北醒专注于固态激光雷达(智能传感器—TF测距传感器系列、CE30 3D传感器系列)的研发与生产,产品可广泛应用于无人驾驶、無人機、机器人、AGV、智能交通、工业自动化、物聯網等领域。


歡迎咨詢或後台直接留言:

電話:400-880-9610

郵箱:bw@benewake.com

網址:www.benewake.com

北醒公衆號