Cozmo+Python+ROS+AI會產生什麼樣的奇妙反應呢? (玩Cozmo機器人,學Python程式設計,掌握ROS和AI技術)

zhangrelay發表於2018-11-12

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:


1. https://baijiahao.baidu.com/s?id=1616005214156789940


2. http://www.elecfans.com/jiqiren/730436.html

 

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網站包括邂逅CozmoCozmo SDKCozmo SDK論壇

對於為初學者設計的Cozmo程式設計完全不同的方法,請在https://Calypso.software上嘗試Calypso。

教學資源

機器人技術的十大理念 ; 大學課程 ; K-12和Anki的大學論壇

Cozmo硬體和SDK概念

adb(Android Debug Bridge)、Fire tablet 、 攝像頭 、 充電器 、 顏色和燈光 、 輕巧立方體

Cozmo SDK軟體架構

動作序列

動作組、觸發器和行為

cozmo-tools系列

cozmo-tools GitHub庫中。

simple_cli工具 ; world_viewer工具 ; event_monitor工具 ; genfsm工具

粒子濾波(Particle filter)

有限狀態機

cozmo_fsm功能包

狀態機速記genfsm工具

關鍵類:StateNodeTransitionEvent, StateMachineProgram

OpenCV視覺

安裝OpenCV

在Cozmo中使用OpenCV

影象

Tkinter ; OpenGL

語音控制

語音控制演示

多機器人操作

多機器人相關資源

其他資源

Cozmo程式設計框架(ROS,Scratch等)

演示示例彙總

研究論文和會議報告

數學基礎

座標系 ; 四元數 ; 齊次座標

-----

Fin

-----

相關文章