機(jī)器人在人們的日常生活中幾乎隨處可見,因此機(jī)器人學(xué)也日漸成為非常重要的技術(shù)領(lǐng)域。盡管機(jī)器人學(xué)是一個(gè)復(fù)雜的學(xué)科,但有一些優(yōu)秀的工具可以幫助你設(shè)計(jì)項(xiàng)目,創(chuàng)建出簡單易用的界面接口。
《機(jī)器人系統(tǒng)設(shè)計(jì)與制作:Python語言實(shí)現(xiàn)》詳細(xì)介紹如何從零開始搭建自主移動機(jī)器人,并使用Python進(jìn)行編程。由機(jī)器人的概念開始,然后過渡到機(jī)器人仿真和三維建模,在成功進(jìn)行機(jī)器人仿真之后,將介紹搭建導(dǎo)航機(jī)器人原型所需要的硬件組件。此外,還討論了各種各樣的機(jī)器人軟件框架,以及如何使用Pvthon語言來編程實(shí)現(xiàn)機(jī)器人及其框架的設(shè)計(jì)。而且還介紹了如何創(chuàng)建一個(gè)基于GUI的機(jī)器人控制應(yīng)用程序,可以使用按鈕和幻燈片對機(jī)器人進(jìn)行控制。
郎坦·約瑟夫,電子工程師、機(jī)器人發(fā)燒友、機(jī)器視覺專家、嵌入式程序員,還是印度0botiCS實(shí)驗(yàn)室創(chuàng)始人兼CEO。他在大學(xué)時(shí)曾負(fù)責(zé)一個(gè)項(xiàng)目并制作了一個(gè)可以與人交流的社交機(jī)器人,由此開始對機(jī)器人、圖像處理和Python產(chǎn)生興趣。
畢業(yè)以后,他在一家機(jī)器人和圖像處理的初創(chuàng)公司效力了三年,在這個(gè)過程中學(xué)習(xí)了流行的機(jī)器人軟件平臺(例如機(jī)器人操作系統(tǒng)(ROS)、V-REP和Actin(一個(gè)機(jī)器人仿真工具))和圖像處理庫(例如OpenCV、OpenNl和PCL)。他精通機(jī)器人三維設(shè)計(jì)、Arauino和Stellaris Launchpad的嵌入式編程。
之后,他創(chuàng)立了Qbotics Labs公司,專注于研究如何創(chuàng)造偉大的產(chǎn)品,主要涉及可穿戴技術(shù)、機(jī)器人、機(jī)器視覺、綠色科技以及在線教育等領(lǐng)域。在印度舉辦的PyCon2013會議上,他做了有關(guān)使用Python開發(fā)學(xué)習(xí)機(jī)器人的主題演講。
前言
第1章 機(jī)器人學(xué)概述
1.1 什么是機(jī)器人
1.1.1 術(shù)語機(jī)器人的來歷
1.1.2 現(xiàn)代機(jī)器人定義
1.2 機(jī)器人從哪兒來
1.3 機(jī)器人上都有什么
1.3.1 肢體
1.3.2 傳感器
1.3.3 執(zhí)行器
1.3.4 控制器
1.4 如何制作機(jī)器人
1.4.1 反應(yīng)式控制
1.4.2 分級(協(xié)商)控制
1.4.3 混合控制
1.5 本章小結(jié)
第2章 服務(wù)機(jī)器人的機(jī)械設(shè)計(jì)
2.1 服務(wù)機(jī)器人的設(shè)計(jì)需求
2.2 機(jī)器人的傳動裝置
2.2.1 選擇電機(jī)和輪子
2.2.2 設(shè)計(jì)小結(jié)
2.2.3 機(jī)器人底盤設(shè)計(jì)
2.3 安裝LibreCAD、Blender和Mes
2.3.1 安裝Lib
2.3.2 安裝Bl
2.3.3 安裝Me
2.4 用LibreCAD生成機(jī)器人的二維CAD圖
2.4.1 底座設(shè)計(jì)
2.4.2 底座連接桿設(shè)計(jì)
2.4.3 輪子、電機(jī)和電機(jī)夾具設(shè)計(jì)
2.4.4 腳輪設(shè)計(jì)
2.4.5 中間層設(shè)計(jì)
2.4.6 頂層設(shè)計(jì)
2.5 用Blender制作機(jī)器人的三維模型
2.5.1 Blender中的Python腳本語言
2.5.2 Blender中的Python API介紹
2.5.3 機(jī)器人建模中的Python腳本
2.6 習(xí)題
2.7 本章小結(jié)
第3章 用ROS和Gazebo進(jìn)行機(jī)器人仿真
3.1 什么是機(jī)器人仿真
3.1.1 機(jī)器人數(shù)學(xué)建模
3.1.2 ROS和Gazebo簡介
3.1.3 在Ubuntu 14.04.2下安裝ROS I
3.1.4 在酒店環(huán)境下進(jìn)行ChefBot和TurtleBot仿真
3.2 習(xí)題
3.3 本章小結(jié)
第4章 設(shè)計(jì)ChefBot的硬件部分
4.1 ChefBot硬件的規(guī)格標(biāo)準(zhǔn)
4.2 機(jī)器人的硬件架構(gòu)框圖
4.2.1 電機(jī)和編碼器
4.2.2 電機(jī)驅(qū)動器
4.2.3 嵌入式控制板
4.2.4 超聲傳感器
4.2.5 慣性測量單元
4.2.6 K
4.2.7 中央處理單元
4.2.8 揚(yáng)聲器/麥克風(fēng)
4.2.9 電源/電池
4.3 ChefBot硬件的工作原理
4.4 習(xí)題
4.5 本章小結(jié)
第5章 機(jī)器人執(zhí)行機(jī)構(gòu)與車輪編碼器
5.1 直流減速電機(jī)接入Tiva C開發(fā)板
5.1.1 差速傳動輪式機(jī)器人
5.1.2 安裝Energia集成開發(fā)環(huán)境
5.1.3 電機(jī)接口代碼
5.2 正交編碼器接入Tiva C開發(fā)板
5.2.1 編碼器數(shù)據(jù)的處理
5.2.2 正交編碼器接口代碼
5.3 Dynamixel執(zhí)行機(jī)構(gòu)
5.4 習(xí)題
5.5 本章小結(jié)
第6章 機(jī)器人傳感器
6.1 超聲測距傳感器
6.2 紅外接近傳感器
6.3 慣性測量單元
6.3.1 慣性導(dǎo)航
6.3.2 MPU 6050接入Tiva C開發(fā)板
6.3.3 在Energia中編寫接口代碼
6.4 利用Energia將支持DMP的MPU 6050接入開發(fā)板
6.5 習(xí)題
6.6 本章小結(jié)
第7章 視覺傳感器在Python和ROS中的編程方法
7.1 機(jī)器人視覺傳感器清單和圖像處理庫
7.2 OpenCV、OpenNI和PCL簡介
7.2.1 什么是Op
7.2.2 什么是Op
7.2.3 什么?
7.3 使用ROS、OpenCV和OpenNI進(jìn)行Kinect的Python編程
7.3.1 啟動OpenNI驅(qū)動的方法
7.3.2 OpenCV的ROS接口
7.4 使用Kinect、ROS、OpenNI和PCL處理點(diǎn)云
7.5 將點(diǎn)云轉(zhuǎn)換為激光雷達(dá)數(shù)據(jù)
7.6 使用ROS和Kinect實(shí)現(xiàn)SLAM算法
7.7 習(xí)題
7.8 本章小結(jié)
第8章 使用Python和ROS實(shí)現(xiàn)語音識別及合成
8.1 語音識別技術(shù)
8.1.1 語音識別系統(tǒng)框圖
8.1.2 語音識別庫
8.1.3 Windows語音識別開發(fā)平臺
8.1.4 語音合成
8.1.5 語音合成庫
8.2 在Ubuntu 14.04.2中使用Python實(shí)現(xiàn)語音識別及合成
8.2.1 在Ubuntu 14.04.2中安裝Pocket Sphinx及其Python綁定
8.2.2 在Ubuntu 14.04.2中使用Pocket Sphinx的Python綁定
8.2.3 輸出結(jié)果
8.3 在Ubuntu 14.04.2中使用Pocket Sphinx、GStreamer及Python實(shí)現(xiàn)實(shí)時(shí)語音識別
8.4 在Ubuntu 14.04.2中使用Julius及Python實(shí)現(xiàn)語音識別
8.4.1 Julius語音識別器和Python模塊的安裝
8.4.2 Python-Julius客戶端代碼
8.4.3 在Pocket Sphinx、Julius中提高語音識別的準(zhǔn)確度
8.4.4 在Ubuntu 14.04.2中安裝eSpeak和Fest
8.5 在Windows中使用Python實(shí)現(xiàn)語音識別及合成
8.6 在ROS Indigo中使用Python實(shí)現(xiàn)語音識別
8.7 在ROS Indigo中使用Python實(shí)現(xiàn)語音合成
8.8 習(xí)題
8.9 本章小結(jié)
第9章 使用Python在ChefBot中應(yīng)用人工智能
9.1 ChefBot中的交互系統(tǒng)框圖
9.2 AIML介紹
9.3 PyAIML介紹
9.3.1 在Ubuntu 14.04.2上安裝Py
9.3.2 從源碼中安裝Py
9.4 使用AIML和Python進(jìn)行開發(fā)
9.5 使用A.L.I.C.E AIML文件進(jìn)行開發(fā)
9.5.1 將AIML文件載入內(nèi)存
9.5.2 載入AIML文件并將其存為brain文件
9.5.3 使用Bootsrtap方法載入AIML文件和brain文件
9.6 將PyAIML集成到ROS中
9.6.1 aiml_serve
9.6.2 aiml_clien
9.6.3 aiml_tts_clien
9.6.4 aiml_speech_recog_clien
9.6.5 start_chat.la
9.6.6 start_tts_chat.la
9.6.7 start_speech_chat.la
9.7 習(xí)題
9.8 本章小結(jié)
第10章 對ChefBot硬件進(jìn)行集成并使用Python與ROS對接
10.1 構(gòu)建ChefBot硬件
10.2 ChefBot PC配置及ChefBot ROS開發(fā)包設(shè)置
10.3 將ChefBot傳感器接入Tiva C開發(fā)板
10.4 為ChefBot編寫一個(gè)ROS Python驅(qū)動
10.5 理解ChefBot ROS啟動文件
10.6 使用ChefBot Python節(jié)點(diǎn)和啟動文件
10.6.1 在ROS中使用SLAM構(gòu)建房間地圖
10.6.2 使用ROS實(shí)現(xiàn)定位和導(dǎo)航
10.7 習(xí)題
10.8 本章小結(jié)
第11章 使用Qt和Python設(shè)計(jì)機(jī)器人的圖形用戶界面
11.1 在Ubuntu 14.04.2 LTS中安裝
11.2 在Qt中使用Python綁定進(jìn)行開發(fā)
11.2.1
11.2.2 Py
11.3 使用PyQt和PySide進(jìn)行開發(fā)
11.3.1 Qt設(shè)計(jì)器的介紹
11.3.2 Qt的信號與槽機(jī)制
11.3.3 將UI文件轉(zhuǎn)化為Python代碼
11.3.4 為PyQt代碼添加槽定義
11.3.5 運(yùn)行Hello World GUI應(yīng)用
11.4 使用ChefBot的控制GUI進(jìn)行開發(fā)
11.5 習(xí)題
11.6 本章小結(jié)
第12章 ChefBot的標(biāo)定和測試
12.1 使用ROS標(biāo)定Xbox Ki
12.1.1 標(biāo)定Kinect的RGB相機(jī)
12.1.2 標(biāo)定Kinect IR相機(jī)
12.2 輪式里程計(jì)的標(biāo)定
12.2.1 里程計(jì)誤差分析
12.2.2 誤差校正
12.3 標(biāo)定MPU
12.4 使用GUI測試機(jī)器人
12.5 習(xí)題
12.6 本章小結(jié)
查看全部↓