管理員
統計數據
原文網址 石小川 2020-03-22 15:02:17
近期為了ROS(機器人作業系統)相關專案,於是想起了以前的小玩具 - ROVIO,塵封已久的路威機器人在倉庫找了許久,終於抓到這隻小烏龜了,檢查電池、發現零組件狀況不錯,可見保存很好,這個ROVIO機器人麻雀雖小卻五臟俱全,看看下面硬體規格就知道。分享給有興趣製作機器人的朋友做參考。 Rovio機器人主要特點: 內含麥克風及喇叭可以雙向語音交談 可以遙控攝影機頭上下移動 可以手機和電腦或者Pad遠程網路控制 可以自動充電 雷達偵測障礙 硬體規格: 是以三大電路板結合而成: (1)主ARM 板 Main Processor —科宇KOI-MP802 蓋面 實際為華邦 W99702 內建mpeg壓縮 跑 WEB server ,rtsp , and 主機總控 制 "spook" media streaming server ( [Spook Live Video Streamer] ( http://www.litech.org/spook/ ) ) Clock frequency 200Mhz Main Memory — 8MB RAM USB ttl port 與電腦通訊 (以W99100DG實現,負責isp下載) Audio chip WM8976 Web cam video chip OV7670 SPI FLASH(W25X16) 2MB OS Open-source "eCos" (2)充電電路板:專用NiMH充電管理芯片LS2516,PWM恆流方式, 電流不詳,穩壓二極體用的是1N5822,估計>1A。 (3)驅動板 MCU:4路BJT H電橋,3個輪子用光柵反饋,攝像頭升降用 可變電阻反饋,紅外線訊號和主控板通過串口通訊。 自動導航電路以紅外線感應運算 充電基座會投射出紅外線導航點,車上再以紅外線感應器做幾何 定位.定位程式由專門晶片負責.再送出串口訊號回應給上位機定位訊息
海闊天 2020-03-22 15:42:03
這台夢幻超跑要賣多少錢啊?小川哥!
海闊天 2020-03-22 15:42:32
海闊天 2020-03-22 15:42:44
石小川 2020-03-22 17:31:46
2013年露天買的, 3000多台幣, 拿來解剖研究用! 哈哈!
詹俊英 2020-03-24 20:58:27
原文網址 石小川 2020-03-20 22:24:21
光學神經網路提供了平行處理及巨量連結的可行性方案,而且如果中間的隱藏層(LCD加權值W片)疊加幾十片成為3D空間,無損幾乎光速平行傳輸和及時運算的特性,最重要是無論零組件取得或技術目前皆成為可能,下面為其光學矩陣乘積和式子,至於最關鍵的LCD加權值調變方式牽涉到深度學習演算法及軟硬體電路控制,下回再詳談。 NETj = Σi Wij Xi 其中 NETj : CCD第j行的輸出值(Output Layer) Wij : LCD加權值W片上,第i列、第j行之值(Hidden Layer) Xi : LED 第i列輸入調變光源(Input Layer)
原文網址 石小川 2020-03-01 16:03:28
末日機瘟,倉庫留下一大堆飛機零組件,平常又閒不住就喜歡DIY,只好用這些零件組裝 "小小好奇號",因為要給客戶Demo ROS軟硬體,不能飛就換地上爬,反正原理一樣。動力方面本來要四輪無刷直驅,但手邊沒有這些零件,暫時用皮帶輪減速帶動輪軸,先拍照留下紀錄。
原文網址 石小川 2020-01-12 01:31:09
8耳相位麥克風陣列(Microphone Array) - 輸入音源降噪、語者定位、訊號強化 8耳相位麥克風陣列是我耳蝸(Cochlea)計畫的一部分. 早期我在做語音辨識的時候, 在實驗室明明有九成五以上辨識率, 但拿到外面吵雜環境之後辨識率急遽下滑, 甚至完全不能辨識, 有點洩氣! 其實當時我就是用遞迴類神經網路(RNN)陣列當作辨識引擎, 跟現今Apple及Google 的深度學習語音辨識結構上沒甚麼分別, 歸咎原因其實是少了多維麥克風陣列前置處理這一塊. 現在因緣際會要做機器人的聽覺系統, 剛好曾經有個專案是做主動相位陣列雷達演算法, 與類神經網路單元陣列相似, 我就湊合湊合用現成零組件拼裝成8通道麥克風相位陣列, 不計成本的 以8個核心跑400MHz的DSP模組個別處裡音源訊號, 有機會將語音/影像辨識引擎納入陣列中, 作為獨立機器人腦中的一部分. 圖中的上蓋結構是3DP列印出來的, 趕出來的品質還沒拋光有點醜醜的, 底板是CNC車銑10mm壓克力製作出來的, 其實就是一個相位陣列雷達架構, 感覺好像是宇宙戰艦的砲塔, 在半圓球裡面是裝入DSP陣列PCB電路板. p.s. 會利用在其他章節說明麥克風陣列的演算法原理和實作。
原文網址 石小川 2020-01-04 23:08:58
分享早期做過開源3D掃描器的軟硬體資料給有興趣的朋友們參考,這裡面的掃描演算法就是3D光學雷達的一種,大小掃描器我都製作成功,挺有趣的,過程可學習到軟硬體及光學調校經驗,有實作問題可提出大家討論。
1. 大台3D 掃描器零組件如下(BOM):
(1)鋁擠 640 x 640 x 640mm x 1 (2)雷射頭(5V/5mW) x 2 (3)Logitec C270 Camera x1 (4)42步進馬達驅動的旋轉台 x 1 (5)Arduino UNO + CNC v3 Shield x 1 (6)電源供應器 DC 12V/350W (可拿廢棄電腦電源供應器代替) x 1
因為整個架構是非標準型的Horus CIC Lop, 想要掃描大型物件, 所以軟體部分需要修改Horus 和 Marlin的一些參數, 調校參數也比較花功夫些, 好玩的是Horus是用Python寫的, 可以自行外加一些自行設計的演算法如數位濾波器, 提高掃描影像品質。
2. 小台3D 掃描器零組件如下(BOM):
除了機台需用3D列印外,其餘的與大台零組件相同,如圖。
p.s. 因為檔案豐富有點多,包含安裝說明、Arduino燒寫程式、PC端APP等,容我慢慢上傳!
因臉書限制上傳一些檔案,需要完整程式的朋友請留訊息給我直接用雲端傳。
原文網址 石小川 2019-11-30 20:38:34
接下來預計要推智慧型機台硬體篇以及如何結合人工智慧的應用軟體開發, 希望軟體軸控班畢業的同學們能短時間自組一台三軸機台, 軟硬兼施很快就可累積經驗。 現在我將上課機台零組件規格列出如下給同學參考, 請回家自組機台(常見的零件就不附上網址了), 電源線材方面的規格安培數估算及信號線此次沒來得及po, 有組裝任何問題可mail我, 一有空會盡快回覆問題。 --------------BOM-------------- @機構 - 名稱、規格 A1. 鋁擠: JA4040W _4系列鋁擠型 https://goods.ruten.com.tw/item/show?21707258866136#info A2. 連結器 + 螺絲 + 螺帽 組: JL4040-組(含不鏽鋼螺絲墊片、鍍鎳螺帽 ) https://goods.ruten.com.tw/item/show?21707258866136#info A3. 滾珠螺桿+螺母 螺桿: SFU1605 https://goods.ruten.com.tw/item/show?21710445745909 註規格:直徑16mm, 導程5mm, 長度700mm. 兩端需加工成光軸直徑10mm, 一端長度40mm, 另一端長度20mm. (可訂製 SFU系列滾珠螺桿 螺母 SFU1204 1605 1610 2005 2010 2505等) A4. 滾珠螺桿固定座 EK10 https://goods.ruten.com.tw/item/show?21718087012287 A5. 滾珠螺桿螺母固定座 SFU1605 https://goods.ruten.com.tw/item/show?21710445617288 A6. 光軸: D20mm x L700mm https://goods.ruten.com.tw/item/show?21435061373353 A7. 光軸固定器: SK20 https://goods.ruten.com.tw/item/show?21521489690535 A8. 線性軸承: SC20LUU 加長連座直線軸承 https://goods.ruten.com.tw/item/show?21613315109888 A9. 主軸夾: 80mm /100mm A10. 聯軸器: 梅花聯軸器8mmx10mm D30 L42 @電控 - 名稱、規格 B1. 運動卡: iMC404A 運動卡可連絡我訂購, 推薦用此款, 有4軸、AD/DA及PWM, 方便將來擴充功能 B2. 驅動器: DM542 B3. 57步進馬達: 57BYGH78 B4. 16路繼電器 https://goods.ruten.com.tw/item/show?21309058946108 B5. 電源供應器: 24V/20A https://goods.ruten.com.tw/item/show?21647504008827 B6. 水冷式主軸 : 振宇雕刻机主轴电机(80/100mm)3.2KW金属模具 B7. 變頻器: 主轴BEST变频器1.5KW-7.5KW贝士德变频器调速器 B8. 機殼: LEOPARD 4U工業機殼 (加長版) LE-E4061 F23 https://goods.ruten.com.tw/item/show?21639787647077 https://goods.ruten.com.tw/item/show?21637592560499 B9. 警示燈: 50mm 警示燈 三層 常亮含蜂嗚器 LED燈泡 https://goods.ruten.com.tw/item/show?21819996601798 B10. 坦克鏈: 15x40半封閉內開R48尼龍拖鏈 https://goods.ruten.com.tw/item/show?21805654084878 p.s. 零組件自行選配
原文網址 石小川 2019-11-29 14:25:02
@光騰書齋十二月份第一梯次軸控班課程表 課程: Python 軸控班 課程三小時內容: *軸控平台基本知識 *Python 軸控軟體開發平台建立 *Python 呼叫動態連結庫(DLL)控制步進馬達 及 I/O Port *剖析motion.py 程式實例如何控制雷射機台 此次開課目的是想引導有Python基礎的朋友進入智慧型機器有趣的領域,學習後學員可自行用Python控制運動卡,開發相關應用程式或智慧型機器。 學員學習後對軟硬體方面有問題也可用Messenger或Email 聯繫我, 可線上指導。 此次課程3小時,含講義,酌收費用NT$3500。 日期: 2019/12/7(星期六) A班. 下午 2:00 – 5:00 (適合對智慧型機器軟硬體開發有興趣者) @光騰書齋十二月份第一梯次硬體班課程表 課程: 軸控機電系統硬體班 課程內容: * 認識軸控零組件 * 機台設計 * 電控接線及設定 * 軟體驅動測試 * 機台調校 此次開課目的是 – 想引導對AI智慧型的機器開發有興趣的朋友,進入無人關燈工廠有趣的領域,學習課程結束後可自行設計機台及自組的能力,希望學員回去後可使用自已的平台,用Python軟體驗證成果。 學員學習後對軟硬體方面有問題也可用Messenger或Email 聯繫我, 可線上指導。 此次課程4小時,含講義,酌收費用NT$4000。 日期: 2019/12/8(星期日) B班. 下午 2:00 – 6:00 [註]. 確定要來上課的朋友看您選哪一班次(A/B),並在下面留言A/B, 我會主動用Messenger連絡您再通知匯款,並傳Quantum講義給您。 上課地點: 基隆
吳水豚 2019-12-03 13:16:38
大大強大~~~想報名大大課程...但基礎能力不夠,我應該預先看那些書或者資訊先來增強呢?
原文網址 石小川 2019-11-27 10:57:00
對於想用CNC製作一些零組件的朋友來說,要學會AutoCAD、SolidWork、uG、Fusion360、ARTCAM、PowerMill、 MasterCAM、Mach3等,我相信會嚇跑一票人的熱血。其實CAD/CAM套裝軟體很強但有很多功能幾百年也用不到,只是浪費錢而已,在接工廠自動控制客製化軟體方面絕大部分作動都很單純,我這裡是將所有功能精簡成 : /檔案/機器/刀具/G-Code sender,只要讀檔或在螢幕寫字、繪圖後自動產生G-Code直接送至CNC銑床或雷射加工,盡量能由機器代勞的就盡量隱藏在程式裏面,操作介面就只有一個螢幕面板Panel。
要做到這點須先解析DWG檔案結構,後續追加功能才有辦法走下去,AutoCAD DWG檔案簡直就是一個複雜的巨型圖層資料庫而且每兩年改版一次,建議還是用DXF圖檔相容性較高,有機會再談談DXF檔結構。這裡先分享一下DWG解析方法給有興趣研發的好友參考一 下。
基本上程式要解析其中的資料結構如下,有點長刪減一些函數但原理不變。
讀取DWG檔後打開資料庫取實體EntityName的字串名稱(約50個標籤名稱)一層層解析後繪圖即可原圖重現,看你要加圖、刪圖或送去產生G-Code等,另外如果用不著的功能就略過,沒必要全部實作,有興趣可一起討論,下回再討論G-Code產生器。
p.s. 下列範例是C#版本,有興趣的朋友歡迎自行改成Python版本。
//------------------------------------------------------------------- public void Draw(List<CadParse> cadparselist) { foreach(CadParse cadParse in cadparselist) { switch(cadParse.EntityName) { case "AcDbAlignedDimension": break; case "AcDbArc": break; case "AcDbArcDimension": break; case "AcDbBlockReference": break; case "AcDbBody": break; case "AcDbCircle": DrawCircle(cadParse); break; case "AcDbPoint": break; case "AcDbDiametricDimension": break; case "AcDbViewport": break; case "AcDbEllipse": DrawEllipse (cadParse); break; case "AcDbFace": break; case "AcDbHatch": break; case "AcDbLeader": break; case "AcDbLine": DrawLine(cadParse); break; case "AcDb2LineAngularDimension": break; case "AcDbMInsertBlock": break; case "AcDbMline": break; case "AcDbMText": break; case "AcDbOle2Frame": break; case "AcDbOrdinateDimension": break; case "AcDb3PointAngularDimension": break; case "AcDbPolyFaceMesh": break; case "AcDbPolygonMesh": break; case "AcDbPolyline": DrawPolyLine(cadParse); break; case "AcDb2dPolyline": break; case "AcDb3dPolyline": break; case "AcDbProxyEntity": break; case "AcDbRadialDimension": break; case "AcDbRasterImage": break; case "AcDbRay": break; case "AcDbRegion": break; case "AcDbRotatedDimension": break; case "AcDbShape": break; case "AcDbSolid": break; case "AcDb3dSolid": break; case "AcDbSpline": break; case "AcDbTable": break; case "AcDbTrace": break; case "AcDbWipeout": break; case "AcDbXline": break; case "AcDbPdfReference": break; case "AcDbDwfReference": break; case "AcDbDgnReference": break; } //end switch(cadParse.EntityName) } //end foreach(CadParse cadParse in _cadParseList) } //end public void Draw()
全不選 發文排行