Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 色老头综合免费视频,美女一级毛片视频,国内精品久久影院

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          如何用pix飛控來玩車

          如何用pix飛控來玩車

          . 用pix玩車非常簡單,復雜度遠遠低于無人機;

          2. 不管是ardupilot,還是px4固件都是原生支持無人車,不需要做任何代碼改動的二次開發,需要做的就是參數修改和傳感器校準;

          3. ardupilot需要刷成ardurover固件,這個固件同時也支持船。

          a. 輸出1通道接舵機是車輛轉向

          b. 輸出3通道接電調,控制油門動力

          4. px4固件沒有特定的固件,只需要改改機架到對應的車輛即可(SYS_AUTOSTART=50000)

          a. 輸出2通道接轉向舵機

          b. 輸出4通道接無刷電調

          5. 陀螺儀,羅盤校準,這些和無人沒有差別。

          6. 解鎖電機,默認手動模式,可以設置多個模式 比如返航,自動等;


          給飛控用串口接上帶攝像頭的樹莓派,這樣一個智能車就跑起來了,還帶圖傳和數傳, 如果再給樹莓派接一個帶sim卡的usb無線網卡 ,這樣一個帶4G的智能小車了。

          參考文檔:

          https://docs.px4.io/main/en/frames_rover/traxxas_stampede.html
          https://ardupilot.org/rover/docs/gettit.html


          基于單片機的機器視覺人體識別小車

          • 難度系數:4分
          • 工作量:4分
          • 創新點:3分

          1 簡介

          智能小車應用變得越來越重要,它不僅是能夠把代碼與實踐連接起來的簡單實例,而且在即將到來的智能時代,也將是最先廣泛使用的智能產品。
          本項目基于AI視覺和嵌入式小車結合的項目。視覺識別是一個主要內容,是信息輸入的重要方式。因此,AI視覺和機器小車的互相配合加持對實際生產生活具有很大的意義。

          實現了控制小車行進,并實時檢測人體目標。

          2 主要器件

          • 樹莓派3B+
          • 四個直流電機
          • 一個小車底盤+四個車輪
          • L298N驅動模塊(介于樹莓派與馬達之間的橋梁)
          • 充電寶一個(用于給樹莓派供電)
          • 18650鋰電池兩節
          • 杜邦線
          • 面包板
          • .蜂鳴器




          3 線路連接


          圖片是用fritzing這個軟件畫的,也是今天第一次用,畫的有點丑,湊合看吧。我沒有找到L298N這個模塊,就用圖中紅色的這個代替一下吧。

          我的馬達控制邏輯比較簡單,小車左右兩側的馬達為一組同時控制,小車左邊兩個馬達正負極分別連在out1、out2接口上,右邊兩個馬達正負極分別連在out3、out4上,通過給out1和out2,out3和out4輸出相反的電平實現馬達的轉動,采用BOARD編碼格式,使用35、33、31、29四個GPIO接口分別連接到L298N驅動模塊上的in1、in2、in3、in4接口,同時將32、36、38、40分別連接到四個使能端接口,通過python編程設置gpio接口輸出高電平和低電平實現相應的控制,蜂鳴器連接到gpio的11號端口上。

          4 Yolo環境搭建

          根據自己NVIDIA顯卡型號和驅動版本安裝CUDA和CUDNN

          1、官網下載:https://developer.nvidia.com/cuda-90-download-archive

          如下:


          2、安裝依賴庫

          sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

          否則將會報錯:



          3、注意C++\G++版本

          CUDA9.0要求GCC版本是5.x或者6.x,其他版本不可以,需要自己進行配置,通過以下命令才對gcc版本進行修改。

          查看版本:

          g++ --version

          版本安裝:

          sudo apt-get install gcc-5
          sudo apt-get install g++-5

          通過命令替換掉之前的版本:

          sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
          sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

          最后記得再次查看版本是否修改成功。

          4、運行run文件

          sudo sh cuda_9.0.176_384.81_linux.run

          安裝協議可以直接按q跳到最末尾,注意一項:

          Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
          (y)es/(n)o/(q)uit: n                    # 安裝NVIDIA加速圖形驅動程序,這里選擇n

          5、添加環境變量

          進行環境的配置,打開環境變量配置文件

          sudo gedit ~/.bashrc

          在末尾把以下配置寫入并保存:

          #CUDA
          export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
          export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

          最后執行:

          source ~/.bashrc

          5 yolo模型訓練

          本文訓練數據集包括從VOC數據集中提取出6095張人體圖片,以及使用LabelImg工具標注的200張python爬蟲程序獲取的人體圖片作為補充。

          使用labelimg標記圖片



          從VOC數據集里提取出人體圖片

          import os
          import os.path
          import shutil
          
          fileDir_ann="D:\\VOC\\VOCdevkit\\VOC2012\\Annotations"
          fileDir_img="D:\\VOC\\VOCdevkit\\VOC2012\\JPEGImages\\"
          saveDir_img="D:\\VOC\\VOCdevkit\\VOC2012\\JPEGImages_ssd\\"
          
          if not os.path.exists(saveDir_img):
              os.mkdir(saveDir_img)
          
          names=locals()
          
          for files in os.walk(fileDir_ann):
              for file in files[2]:
          
          
          
                  saveDir_ann="D:\\VOC\\VOCdevkit\\VOC2012\\Annotations_ssd\\"
                  if not os.path.exists(saveDir_ann):
                      os.mkdir(saveDir_ann)
          
                  fp=open(fileDir_ann + '\\' + file)
                  saveDir_ann=saveDir_ann + file
                  fp_w=open(saveDir_ann, 'w')
                  classes=['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', '>cat<', 'chair', 'cow',
                             'diningtable', \
                             'dog', 'horse', 'motorbike', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor', 'person']
          
                  lines=fp.readlines()
          
                  ind_start=[]
                  ind_end=[]
                  lines_id_start=lines[:]
                  lines_id_end=lines[:]
          
                  while "\t<object>\n" in lines_id_start:
                      a=lines_id_start.index("\t<object>\n")
                      ind_start.append(a)
                      lines_id_start[a]="delete"
          
                  while "\t</object>\n" in lines_id_end:
                      b=lines_id_end.index("\t</object>\n")
                      ind_end.append(b)
                      lines_id_end[b]="delete"
          
                  i=0
                  for k in range(0, len(ind_start)):
                      for j in range(0, len(classes)):
                          if classes[j] in lines[ind_start[i] + 1]:
                              a=ind_start[i]
                              names['block%d' % k]=[lines[a], lines[a + 1], \
                                                      lines[a + 2], lines[a + 3], lines[a + 4], \
                                                      lines[a + 5], lines[a + 6], lines[a + 7], \
                                                      lines[a + 8], lines[a + 9], lines[a + 10], \
                                                      lines[ind_end[i]]]
                              break
                      i +=1
          
                  classes1='\t\t<name>person</name>\n'
          
          
          
                  string_start=lines[0:ind_start[0]]
                  string_end=[lines[len(lines) - 1]]
          
                  a=0
                  for k in range(0, len(ind_start)):
                      if classes1 in names['block%d' % k]:
                          a +=1
                          string_start +=names['block%d' % k]
          
          
          
                  string_start +=string_end
                  for c in range(0, len(string_start)):
                      fp_w.write(string_start[c])
                  fp_w.close()
          
                  if a==0:
                      os.remove(saveDir_ann)
                  else:
                      name_img=fileDir_img + os.path.splitext(file)[0] + ".jpg"
                      shutil.copy(name_img, saveDir_img)
                  fp.close()
          
          


          修改YOLOv3 tiny 配置文件




          下載預訓練權重開始訓練

          預訓練權重可以減少前期的迭代次數,加速訓練過程。通過繪制訓練過程的loss曲線可知,開始時loss下降較快,之后開始在一水平線上波動。訓練結束得到yolov3-voc_final.weights模型文件。



          模型效果:


          6 模型轉化

          但是模型要想部署在算力微弱的樹莓派上,還需要進行兩次模型轉化才能運行在NCS上進行前向推理。

          模型轉化:
          第一次轉化:(.weight–>.pb)
          這里的模型轉化OpenVINO給出了官方指南https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow.html 但是可能會出現錯誤。

           python3 convert_weights_pb.py \
          --class_names yolov3-tiny-mine.names \
          --weights_file weights/yolov3-tiny-mine_40000.weights \
          --data_format NHWC \
          --tiny \
          --output_graph pbmodels/frozen_yolov3-tiny-mine.pb

          執行完上述代碼,就能得到Tensorflow支持的模型文件。

          第二次轉化:(.pb–>.IR)
          第二次的模型轉化我在windows環境下完成的。

          python "C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\model_optimize



          7 樹莓派環境配置

          1. 下載燒寫工具Pi Imager  
             打開樹莓派官方網站https://www.raspberrypi.org/software/,根據下圖指示下載Pi Imager并安裝  
             ![在這里插入圖片描述](https://img-blog.csdnimg.cn/685e0c975aec4a4ab9dad339c34d0c67.png)

          2.在線燒寫
          ① 將配套SD卡放入讀卡器插入到電腦的USB口;
          ② 打開燒錄軟件Pi Imager,在“operating system”選擇“Raspberry Pi OS(32-bit)”(第一項);


          ③ 在"SD Card"選擇SD卡,然后點擊“write”,然后等待燒寫完成。
          3. 離線燒寫
          ① 下載raspberry系統鏡像
          打開樹莓派官方網站https://www.raspberrypi.org/software/,點擊按鈕“See all download options”


          ② 在“Raspberry Pi OS with desktop and recommended
          software”項點擊“Download”,等待下載完成。


          ③ 燒錄系統:
          在Pi Imager中“Operating System”選擇最后一項“use Custom”,在彈出對話框中選擇剛剛下載的鏡像。后續步驟同在線燒錄。


          4. 啟動樹莓派,驗證系統
          ① 將SD卡插到樹莓派SD卡插槽,如下圖;
          ② 打開供電開關,給系統供電,指示燈點亮并閃爍,電壓表實時顯示電池電壓(當電壓低于6.8V以下,應及時給小車供電);
          ③ 二十多秒后,系統啟動完成。正常啟動完成后,紅燈亮,綠燈閃爍。

          模型部署:
          使用github PINTO0309的OpenVINO-YoloV3工程,應該是個日本的工程師寫的,特別感謝。

          利用工程下的openvino_tiny-yolov3_MultiStick_test.py進行測試,在文件中指定我們轉化好的模型文件。



          運行效果

          image
          盡管速度不快,但最快也能達到7-8幀的樣子。

          本文將訓練好的原始模型經過兩次轉化得到了可以被NCS所支持的模型文件,并搭建好樹莓派所需的運行環境,最終將模型部署在樹莓派上并完成了測試。下篇文章將介紹,樹莓派小車的控制程序以及微信報警程序的實現。



          8 最后

          嵌入式物聯網的學習之路非常漫長,不少人因為學習路線不對或者學習內容不夠專業而錯失高薪offer。不過別擔心,我為大家整理了一份150多G的學習資源,基本上涵蓋了嵌入式物聯網學習的所有內容。點擊下方鏈接,0元領取學習資源,讓你的學習之路更加順暢!記得點贊、關注、收藏、轉發哦!

          點擊這里找小助理0元領?。簰叽a進群領資料

          過《賽車總動員》的朋友應該不會忘了其中的主角——閃電麥昆, 一個手工打造的賽車,可謂是家喻戶曉,而我今天想介紹給大家的麥昆確是另外一個麥昆——DFRobot 麥昆編程小車,是一款很適合創客老爸、碼農老爸帶孩子一起玩的益智玩具。

          組裝篇

          DFRobot 麥昆編程小車采用了紙箱加裝飾紙套的包裝形式,裝飾紙套表面印有麥昆變成小車圖案和其重要功能圖示。主板是作為附件單獨包裝的,另外還有那張熟悉的“什么值得買”的眾測須知。

          小車分成了底盤模塊、電池盒、白色輪轂、黑色輪胎和超聲波探測模塊等組件分別獨立包裝的,以及一張合格證,沒有見到說明書或操作手冊。


          micro: bit主板是麥昆小車的大腦,是一款由英國廣播電視公司(BBC)推出的專為青少年編程教育設計的微型電腦開發板,搭載了藍牙,加速度計,電子羅盤,三個按鈕和5 x 5 LED點陣等模塊。右上角三個零件分別是Micro數據通訊口(用于下載程序)、復位開關(重啟按鍵)和3V電池接口(只能是3V,接上普通3.7V鋰電池必燒)。如果想進一步了解請移步觀看詳細的視頻介紹https://v.qq.com/x/page/w0745j76lk1.html?start=94

          另一面中心是5×5的LED燈矩陣,可以顯示一些表情圖標,數字和英文字符串。兩邊是兩個可編程按鍵:A鍵和B鍵,積木塊編程也是很簡單,一般就是觸發按下A鍵、按下B鍵或者同時按下A+B鍵。

          底盤是一塊較大的線路板,正面頭部中心的黑色零件是紅外信號接收器,兩邊是兩顆紅色LED燈,中心黑色條形插槽是用來插micro: bit主板的,其前方是超聲波模塊插口,其后部白色小插座是電池盒接口,左右還各有一個拓展插槽用來連接其他外接功能模塊。板子中心右側還有一個蜂鳴器,后部兩個白色方塊是預裝好的兩個N20金屬減速電機(最大轉速133轉/分,電機減速比:1:150),尾部IO金屬觸片(所謂的金手指)是可編程控制的IO口,從左到右分別是P0、P1和P2,尾部中心是電源開關。

          底盤背面頭部是一個紡錘形尼龍材料的前輪,前輪后部是兩組紅外探測器,用來檢測行駛線路,不偏離行駛軌跡。四角布有四顆RGB彩色氛圍燈(白色小方塊),黑暗環境閃起來應該很炫酷,底盤中心印有DFRobot的logo 標識。

          超聲波探測模塊有一個線路板和兩個超聲波發生和接收器組成,可插入底盤前部對應插槽中,通過發出和接收超聲波來感知行進前方的障礙物。

          其他零部件還有白色輪轂、黑色輪胎、電池盒和雙面膠等小附件,小車采用了3節7號普通電池供電。

          小車組裝比較簡單,只需安裝說明書提示,裝上車輪——插入電池盒電源插頭——黏貼電池盒——插上micro:bit主板——插入上超聲波探測模塊,幾乎也就幾十秒不到一分鐘的時間就可以組裝完成了。


          外觀篇

          DFRobot 麥昆編程小車外觀獨特,尤其是仿佛兩只大眼睛的超聲波探頭看起十分搶眼,活脫脫一個科技小怪獸的形象,雖說外形有點怪,但卻是萌萌的挺招人喜歡。外形尺寸僅為85*81*44mm,不足成人半個手掌大小。不含電池重量僅為75.55g左右,即使是加上電池也不過115g,很輕巧。

          小車沒有外殼裝飾,所有部件如線路板、探測器、開關二極管何電池等電器元件,均毫無掩飾暴露在外,通過下面幾張圖可以看到各部分細節。








          試玩篇

          打開尾部的電源開關,前方的的兩只大燈和底盤以及主板上面的相關閃光部件就會點亮或閃爍起來了。雖說這是一款遙控+編程遙控玩具車,但是因為隨機沒有配遙控器和控制手柄(需另購),暫時我們還無法直接上手開玩,必須要通過編程輸入命令后,它才可以執行動作。麥昆編程小車支持微軟makecode和Scratch兩大最主流的圖形化編程平臺,二者功能相似各有千秋。

          因為二者都帶有圖形模塊化編程,對于沒有接觸過編程的初學者來說,只需要參考網上的教程進行一兩個小時的學習,就可以進行基礎的編程了,比較簡單。但是如果要想完成復雜的程序,就需要進一步深入學習了,你可以無限發揮你的想象力去設計更加復雜的程序。當然你也可以偷懶去下載網友們分享的現成的程序呢!

          DFRobot官網(http://wiki.dfrobot.com.cn/index.php?title=(SKU:ROB0148)_micro:Maqueen(V2.0)%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%B0%8F%E8%BD%A6)提供了極為詳細的介紹和編程指導。初學者可以先自行學習編寫相關程序后,再與官網的標準程序進行對比,以發現自己的編程問題,有利于盡快提高編程水平 。

          在PC端編制完成的小程序可以通過數據線直接下載導入到micro: bit主板內,當然還可以另行搜索下載“micro:bit”手機App編程后通過藍牙傳輸到主板,不過目前只有IOS版的app可以穩定運行,安卓版的app針對部分手機還不夠穩定。

          你可以編制小程序,讓DFRobot 麥昆編程小車按照你的指令進行超聲波避障、巡線行駛、RGB彩色呼吸氛圍燈閃爍、LED車燈閃爍、光控行駛和讀取超聲波距離值等動作,甚至還可編制簡單的樂曲,通過蜂鳴器播放,十分有趣,十分適合初學編程的青少年學習使用。

          為了測試其性能,我還制作了更為復雜的八字形和凹字形線路,測試基本正常,只是在八字形線路上行駛到交叉點是會隨機行駛到左邊或右邊的環線。另外在避障測試中,在長時間行駛時,偶爾會發生斜側撞擊障礙的情況,感覺超聲波檢測似乎還不夠靈敏。



          當然,對于進階高手要想進行更多更復雜的創意玩法,發揮自己的想象,可以結合更多的外掛功能模塊來編制更為復雜的程序去實現更高難度的動作,比如環境監測或自動行走機器人等,DFRobot官網商城提供了超多的功能模塊可供選擇購買。


          總結篇

          優點:

          1. 體積小巧,外形炫酷;
          2. 整合micro:bit主板,功能先進;
          3. 模塊化組裝,可拓展性強;
          4. 圖形化編程,上手簡單;
          5. 百變創意玩法,寓教于樂,鍛煉邏輯思維能力。

          不足:

          1. 采用3節普通7號電池供電,使用成本高;
          2. 超聲波檢測器靈敏度不夠高,偶爾發生撞擊障礙情況;
          3. 基礎版售價298元,豪華版售價597元,價格略高。

          總之,DFRobot 麥昆編程小車是基于micro: bit主板開發的一款入門級編程小車,模塊化組裝,簡單方便,功能較為豐富,可拓展性強,借助主流的圖形化編程平臺,寓教于樂,適合作為青少年編程啟蒙教育的益智機器人玩具。


          主站蜘蛛池模板: 亚洲日本一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨| 中文字幕日韩精品一区二区三区| 中文字幕一区二区三区5566| 色噜噜一区二区三区| 精品无码一区二区三区爱欲九九| 一区二区国产精品| 国产熟女一区二区三区五月婷| 色妞色视频一区二区三区四区| 日韩精品无码视频一区二区蜜桃| 精品视频午夜一区二区| 国产成人高清亚洲一区久久| 精品一区二区三区在线播放视频| 国产AV一区二区三区无码野战| 国产午夜精品一区二区三区嫩草 | 亚洲人成网站18禁止一区| 亚洲AV日韩综合一区尤物| 日韩人妻无码一区二区三区99| 日本一区二区三区在线观看 | 国产精品区AV一区二区| 国产福利一区二区| 亚洲国产一区明星换脸| 免费视频精品一区二区| 一区二区三区在线观看视频| 高清在线一区二区| 久久影院亚洲一区| 亚洲一区二区三区无码中文字幕 | 在线电影一区二区| 国产精品一区二区四区| 国产精品一区二区四区| 日韩有码一区二区| 中文人妻av高清一区二区| 国产婷婷色一区二区三区| 精品国产免费一区二区三区香蕉 | 亚洲欧美日韩一区二区三区在线| 亚洲日韩AV无码一区二区三区人| 丰满爆乳无码一区二区三区| 福利一区二区在线| 人妻少妇精品一区二区三区| 日韩内射美女人妻一区二区三区| 国产美女在线一区二区三区|