人工智慧基礎(高中版)教材補充和資源分享之番外篇 Cozmo+Python+ROS+AI
ROS Melodic的迷失與救贖::https://blog.csdn.net/column/details/28058.html
GitChat::沉迷機器人作業系統的一個理由和四種修仙祕籍
原文連結:https://blog.csdn.net/ZhangRelay/article/details/83789116
Cozmo+Python+ROS+AI會產生什麼樣的奇妙反應呢?
(玩Cozmo機器人,學Python程式設計,掌握ROS和AI技術)
跟隨綠色鐳射點運動?如何實現?
在黃色邊緣線的賽道上行駛?如何實現?
這是一篇輕鬆愉快的博文,簡單聊聊如何從玩機器人,升級為開發和設計機器人的工程師。
關鍵詞::涉及Anki Cozmo機器人/Python程式設計/ROS機器人作業系統/AI人工智慧(TensorFlow)::
本文內容已經完成課程測試,將全部公開。
全部課程開發已經歷經3年,不斷改進與優化,並會持續更新哦(2016-2020)。
課程大綱連結:---- https://blog.csdn.net/ZhangRelay/article/details/83544323 ----
更多相關內容可檢視個人其他博文,歡迎批評,請多指教,下面進入正文::
1 呆萌逗趣的Cozmo
此部分具體教程側重熟悉和通過平板使用Cozmo
這是一款2017年上市的人工智慧玩具機器人,2018年新款換了酷炫一身黑改名為Vector,功能升級,外觀完全一致,如下圖:
有android和ios的APP,也有Windows/Linux/MacOS的開發SDK,並支援ROS indigo/kinetic/melodic,功能十分強大!
官網:Anki:https://www.anki.com/en-us 中文介紹:Anki: |
Anki公司是由卡內基梅隆機器人研究所(Carnegie Mellon Robotics InsTItute)的三名畢業生於2010年創辦的,現已獲得了超過2億美元的風險投資。Anki目前已經售出了150萬臺機器人,並且找到了他們認為是最容易打入家庭市場的道路——玩具(智慧機器人系列)。這個明星產品是一個狂躁的小推土機機器人,名為Cozmo,它可以在桌面上行走,玩簡單的遊戲,它的頂部裝有會亮的立方體。根據一項分析,如果按照收入計算的話,Cozmo是2017年美國、英國和法國的亞馬遜網站上最暢銷的玩具。 Vector是一個略大型的黑色版Cozmo,Cozmo的售價為180美元,Vector定價可能在250美元,並在2018年10月發貨(現在Anki 以200美元的折扣價在Kickstarter上推出了該款機器人。)Vector先進的一點是提升了Cozmo難以做到的自主化程度。對於Cozmo來說,盒子裡藏著一個連線Wi-Fi的智慧手機,裡面執行著一個控制機器人的應用程式。 |
各種軟體和開發工具可以到官網對應處下載,也可以下載打包好的完整版:
https://download.csdn.net/download/zhangrelay/10765987
2 簡單易學的Python程式設計
此部分具體教程側重Linux環境配置和Python程式設計基礎!
需要正確安裝SDK才能使用此功能。確保手機或平板正確連線。
安卓手機:(adb)
蘋果手機:(usbmuxd)
平板:(usbmuxd)
經過測試支援Ubuntu 14.04/16.04/18.04。詳細安裝內容參考(使用SDK):http://cozmosdk.anki.com/docs/
稍後也會在部落格中補充並詳細講解。如果上述步驟一切順利,就可以在電腦端執行Python程式碼控制Cozmo啦!!!
向機器人世界問好 Hello Robotics!
'''Hello World
Make Cozmo say 'Hello World' in this simple Cozmo SDK example program.
'''
import cozmo
def cozmo_program(robot: cozmo.robot.Robot):
robot.say_text("Hi Robotics").wait_for_completed()
cozmo.run_program(cozmo_program)
前進和轉向 drive turn
'''Drive And Turn
Make Cozmo drive forwards and then turn 90 degrees to the left.
'''
import cozmo
from cozmo.util import degrees, distance_mm, speed_mmps
def cozmo_program(robot: cozmo.robot.Robot):
# Drive forwards for 150 millimeters at 50 millimeters-per-second.
robot.drive_straight(distance_mm(150), speed_mmps(50)).wait_for_completed()
# Turn 90 degrees to the left.
# Note: To turn to the right, just use a negative number.
robot.turn_in_place(degrees(90)).wait_for_completed()
cozmo.run_program(cozmo_program)
3 利用ROS,玩具秒變教具
此部分具體教程側重使用ROS進行機器人控制
rviz::(Ubuntu 18.04 + ROS Melodic)
教程包括訊息機制/TF2座標變換/除錯工具使用等,可見攝像頭中3個方塊(左下角),分別對應cube1,cube0,cube2,機器人自身座標和方塊都識別準確。我們換一個視角來看看!
方塊改為三角形排列,rviz如下:
人類視角到機器人視角的完美變換!!!
4 讓Cozmo更智慧tensorflow
此部分具體教程側重人工智慧AI
具體參考:github(cozmo-tensorflow)::https://github.com/whatrocks/cozmo-tensorflow
-----補充資料----
Cozmo的功能是非常豐富的。
1. 支援Scartch這個和手機APP功能重複了(Blockly)。
https://github.com/maxosprojects/cozmo-blockly
2. 語音控制:
https://github.com/rizal72/Cozmo-Voice-Commands
3. Cozmo瀏覽工具:
https://github.com/GrinningHermit/Cozmo-Explorer-Tool
4. 完全版教程
歡迎來到Cozmopedia維基!
Cozmopedia是卡內基梅隆大學David S. Touretzky教授的一個課程專案。
Cozmopedia與Anki沒有任何關聯或授權。Anki的官方Cozmo網站包括邂逅Cozmo,Cozmo SDK和Cozmo SDK論壇。
對於為初學者設計的Cozmo程式設計完全不同的方法,請在https://Calypso.software上嘗試Calypso。
教學資源
機器人技術的十大理念 ; 大學課程 ; K-12和Anki的大學論壇
Cozmo硬體和SDK概念
adb(Android Debug Bridge)、Fire tablet 、 攝像頭 、 充電器 、 顏色和燈光 、 輕巧立方體
cozmo-tools系列
在cozmo-tools GitHub庫中。
simple_cli工具 ; world_viewer工具 ; event_monitor工具 ; genfsm工具
粒子濾波(Particle filter)
有限狀態機
關鍵類:StateNode,Transition,Event, StateMachineProgram
OpenCV視覺
影象
語音控制
多機器人操作
其他資源
Cozmo程式設計框架(ROS,Scratch等)
數學基礎
-----
Fin
-----
相關文章
- 前端基礎之jQuery重要補充前端jQuery
- Golang基礎語法補充Golang
- Ninx 基礎入門補充1
- C#基礎語法補充C#
- Azure Terraform(七)利用Azure DevOps 實現自動化部署基礎資源(補充)ORMdev
- python基礎(補充):python三大器之生成器Python
- python基礎(補充):python三大器之裝飾器Python
- python基礎(補充):遞迴的深度Python遞迴
- Linux命令補充及基礎優化。Linux優化
- Java的一些基礎補充Java
- Flutter基礎(九)資源和圖片Flutter
- Flutter 基礎(九)資源和圖片Flutter
- BGP基礎(簡述)歡迎有問題補充
- 技術資源下載(持續補充更新)
- 『現學現忘』Git基礎 — 14、Git基礎操作的總結與補充Git
- python基礎(補充):正經人誰用遞迴呀Python遞迴
- 基礎補充:使用xlrd模組讀取excel檔案Excel
- ReadFile 和 補充CreateFile
- python基礎(補充):lambda匿名函式,用了的,都說好!Python函式
- 全網最詳bpmn.js教材-基礎篇JS
- 『與善仁』Appium基礎 — 9、補充:C/S架構和B/S架構說明APP架構
- Python基礎之os和資料結構Python資料結構
- 『現學現忘』Git基礎 — 20、Git中忽略檔案補充Git
- 『動善時』JMeter基礎 — 25、JMeter引數化補充練習JMeter
- 如何用matlab畫bode圖——自動控制原理基礎補充(一)Matlab
- 區塊鏈能如何補充開源區塊鏈
- android開發者資源下載地址記錄(轉+補充)Android
- 『現學現忘』Git基礎 — 12、Git使用者簽名(補充)Git
- 大資料之JAVA基礎(一):資料和變數大資料Java變數
- 容器編排系統之Pod資源配置清單基礎
- 人工智慧基礎人工智慧
- Azure AD(三)知識補充-Azure資源的託管標識
- 前端基礎之JavaScriptDOM和BOM前端JavaScript
- 前端基礎之BOM和DOM前端
- 5、基礎篇-資源排程
- Python基礎之集合和資料型別轉換Python資料型別
- CSS基礎分享CSS
- JAVA基礎知識補漏Java