Cozmo+Python+ROS+AI會產生什麼樣的奇妙反應呢? (玩Cozmo機器人,學Python程式設計,掌握ROS和AI技術)
Cozmo+Python+ROS+AI會產生什麼樣的奇妙反應呢?
(玩Cozmo機器人,學Python程式設計,掌握ROS和AI技術)
跟隨綠色鐳射點運動?如何實現?
在黃色邊緣線的賽道上行駛?如何實現?
這是一篇輕鬆愉快的博文,簡單聊聊如何從玩機器人,升級為開發和設計機器人的工程師。
關鍵詞::涉及Anki Cozmo機器人/Python程式設計/ROS機器人作業系統/AI人工智慧(TensorFlow)::
本文內容已經完成課程測試,將全部公開。
全部課程開發已經歷經3年,不斷改進與優化,並會持續更新哦(2016-2020)。
課程大綱連結:----
更多相關內容可檢視個人其他博文,歡迎批評,請多指教,下面進入正文::
1 呆萌逗趣的Cozmo
此部分具體教程側重熟悉和通過平板使用Cozmo
這是一款2017年上市的人工智慧玩具機器人,2018年新款換了酷炫一身黑改名為Vector,功能升級,外觀完全一致,如下圖:
有android和ios的APP,也有Windows/Linux/MacOS的開發SDK,並支援ROS indigo/kinetic/melodic
|
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
-----