樂高積木中文論壇 首頁 樂高積木中文論壇
來將樂高(LEGO)積木的討論發揮到極致吧~
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

(求教)電腦鼠


 
發表新主題   回覆主題   printer-friendly view    樂高積木中文論壇 首頁 -> Technic & Mindstorms
上一篇主題 :: 下一篇主題  
發表人 內容
av8dgo
新會員/潛水大隊


註冊時間: 2005-08-16
文章: 8
來自: taipe
0 發文獎賞
0 T幣

發表發表於: 星期四 十二月 15, 2005 6:50 pm    文章主題: (求教)電腦鼠 引言回覆

十二月底在東南技術學院有個比賽,其中一項是電腦鼠走迷宮\r規則,場地如下:
http://www.csie.tnit.edu.tw/mysite/94%B9q%B8%A3%A4%C6%B9B%B0%CA%C4v%C1%C9/PDF/94%B9q%B8%A3%B9%AB%A8%AB%B0g%AEc%A4%F1%C1%C9%B3W%ABh.pdf

不知道要如何走才能正確快速的走到終點
p.s過程中,不得碰撞牆壁超過五次,且不得使用機械式的接觸檯面\r
本來是想說用三個光源感應器裝在前、左、右三方。
但這個場地有陷阱。就是有些路是死路。
so....i don't know how to overcome
回頂端
檢視會員個人資料 發送私人訊息
renchiou
★★★★★


註冊時間: 2005-03-29
文章: 236
來自: 他里霧
123 發文獎賞
0 T幣

發表發表於: 星期二 十二月 20, 2005 1:26 pm    文章主題: 使用RCX嗎? 引言回覆

如果只能碰壁五次,真是嚴酷,因為使用樂高輪胎走直線,嗯....有點難!
看來只有用踹踹看(TRY and Error),把死路記憶起來,避免重複走入死路。大概可以這樣做吧?
(以下為閒聊)
1. 迷宮鼠需要可以保證直走,直角轉彎,180度迴轉(或倒退)的機構
(或許可以參考毛毛老師網站的設計)
2. 裝置四顆SENSOR(前後左右),除非能原地迴轉,那麼就只要三顆SENSOR
3. 程式:可以記憶路徑的程式,或是判別路徑的程式
4. 耐心(容忍試驗及失敗),決心(必勝)及愛心(增加別人的獲勝機會)
最後就效能而言,使用RCX可能無法跟單晶片比較。但是那是很有趣的挑戰!加油!
_________________
---------------------------------------
培養專業以外的能力!不論是你或是你的孩子!
探奇自然科學教室:科技的知識,人性的慧智
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
av8dgo
新會員/潛水大隊


註冊時間: 2005-08-16
文章: 8
來自: taipe
0 發文獎賞
0 T幣

發表發表於: 星期四 十二月 29, 2005 9:30 am    文章主題: 引言回覆

非常感謝你的回應!!
請問一下把"死路記憶起來",這大概要如何使用?使用那個程式可以做到如此呢?
也謝謝你提供毛毛老師的做法,基本上,解決了轉彎時,光源的變化這個大變數。
「可以記憶路徑的程式,或是判別路徑的程式」這個是我最頭痛的地方\r可以多談一些記憶路徑嗎?或是哪裡有資料可以參考?
非常感謝啦!
回頂端
檢視會員個人資料 發送私人訊息
RM
樂高狂


註冊時間: 2005-11-12
文章: 1260
來自: Taipei
420 發文獎賞
0 T幣

發表發表於: 星期四 十二月 29, 2005 9:56 am    文章主題: 引言回覆

av8dgo 寫到:
非常感謝你的回應!!
請問一下把"死路記憶起來",這大概要如何使用?使用那個程式可以做到如此呢?
也謝謝你提供毛毛老師的做法,基本上,解決了轉彎時,光源的變化這個大變數。
「可以記憶路徑的程式,或是判別路徑的程式」這個是我最頭痛的地方\r可以多談一些記憶路徑嗎?或是哪裡有資料可以參考?
非常感謝啦!


所謂記憶路徑..就是..
他不是有提供小地圖嗎?假設解出小地圖的路徑是X,那麼實際的MAP大小應該存在一個Gain..
所以你只要知道實際地圖的尺寸,不就是X*Gain囉!
另外又怕碰到牆,所以有個修正係數,也就是:
Path=X*Gain-Err*a
當然Err還有一個Case指令,也就是快撞牆時你要怎麼走..
a就是修正Err的總Gain..
這樣應該非常非常清楚了吧.. Very Happy
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
av8dgo
新會員/潛水大隊


註冊時間: 2005-08-16
文章: 8
來自: taipe
0 發文獎賞
0 T幣

發表發表於: 星期四 十二月 29, 2005 10:29 am    文章主題: 引言回覆

也謝謝RM大哥的回答!
根據RM大哥的回應,似乎是針對某個場地來寫程式
但這樣可以適用不同的迷宮場地嗎
因為比賽的時候,迷地才公佈
小弟不才!

Ouch
回頂端
檢視會員個人資料 發送私人訊息
RM
樂高狂


註冊時間: 2005-11-12
文章: 1260
來自: Taipei
420 發文獎賞
0 T幣

發表發表於: 星期四 十二月 29, 2005 12:34 pm    文章主題: 引言回覆

av8dgo 寫到:
也謝謝RM大哥的回答!
根據RM大哥的回應,似乎是針對某個場地來寫程式
但這樣可以適用不同的迷宮場地嗎
因為比賽的時候,迷地才公佈
小弟不才!

Ouch


喔..我以為有公佈地圖..(還在想說哪有那麼簡單..結果..果然不簡單..)
那麼還是有撇步..(這個撇步不是用紅外線遙控器喔..呵呵)
RCX裡面可以儲存5組程式,你可以依場景不同(現場看了就知道),
再決定用哪一組程式!
我的歸納大概如下:
如果一個叉路是2的1次方,兩個叉路的選擇將是2的2次方。
如他附的pdf圖,用"肉眼"看,排除"┤"型的叉路,"┬"型的選擇只要兩次,
就可以用最快時間到達目的!!!
所以,我們將難度自動提高一倍,選擇要4次才能到目的的話,這樣總共有16種選擇沒錯吧?
所以你五個程式碼就這樣設:
左-左-左-右-右-右-左-右-repeat"左-右"
右-右-右-左-左-左-右-左-repeat"右-左"
左-右-右-左...repeat...
右-左-左-右...
repeat:"左-左-右-右"...

如果考慮進"┤"叉路,一樣的道理!不過我建議你們派出兩~四組人馬!
這樣機會比較多!
因為..
電腦鼠身在迷宮中,靠的是運氣比較多!若你用random指令..
那也只是跟玩樂透沒兩樣!
要贏的"快"必須要有撇步..

對了,注意Sensor靈敏度與馬達的速度調整,加油了..
祝好運..
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
RM
樂高狂


註冊時間: 2005-11-12
文章: 1260
來自: Taipei
420 發文獎賞
0 T幣

發表發表於: 星期四 十二月 29, 2005 10:43 pm    文章主題: 引言回覆

突然想到好像有什麼遺傳演算法,螞蟻演算法,最佳化之類的路徑記憶與判斷技巧..
不過由於這類的"種子"都是Random..

另外若真的要完全記憶也不是不可能,
但是這種方式應該是針對另一種比賽,就是:
迷宮是完全密封的,連人都看不到迷宮的內部狀況!
也就是從一端把車子放進去,然後去另一端等車子出來!
這樣的話,
要不是上類的演算法,要就是把路徑慢慢的記憶。
這類的方法是:
1.碰到第一個叉路時,先擇一個方向(您指定)前進,
2.前進到第二個叉路時,倒車,回到第一個叉路,走另一個方向。
3.再來,另一個方向的第一個叉路又回到1的方式。
(死路部分也只是多一個小判斷式罷了)
記得,第一次"選擇"的方向,與重來一次的時候,方向要相反。
如此一來,假設迷宮不大,走了2~4次,應該是可以" 瞭解 + 走完 "全部路徑。
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
av8dgo
新會員/潛水大隊


註冊時間: 2005-08-16
文章: 8
來自: taipe
0 發文獎賞
0 T幣

發表發表於: 星期五 十二月 30, 2005 12:19 am    文章主題: 引言回覆

哎呀!實在感謝你的回應
我對你的五個程式很感興趣。但我還是不太瞭解你的意思。
是否可以示範一組呢?

還有,以下是我今天寫的程式。用三個光源sensor去偵測:
http://www.flickr.com/photo_zoom.gne?id=78946541&size=o
程式中如果遇到有二個以上的路徑選擇就隨機去run
但實際上遇到很多問題
因為車體體積不大,放上迷宮地圖上。左右車身離壁面大約各有三公分

且使用lego最基本的光源感測器。車體放上迷宮路徑上,前與左右兩邊的光源值大約在30~35之間。當某一面愈接近壁面,光源數值就愈高。
問題來啦!我們車體放中間時(此時左右都有壁面),左右兩邊的光源值。和左右某一邊沒有壁面時相差不大。
因此,運最基本的"單一路徑"(只能向左or向右的路)。都花上許多時間在判斷。因為我們的電腦鼠,還在誤以為左右都有路徑,而隨機向左或向右轉了。
還好,我們的光源值,抓得比較緊。讓它不會太容易接觸到壁面。
但就覺得才一個簡單的L形的路徑就走得2266(零零落落)。
只怪....書到用時方恨少....才疏學淺啦\r所以,還蠻想搞懂你給我的忠告
非常感激你!RM大哥!
P.S這迷宮沒有完全密封,因為它說碰到五次就退場。如果密封的話,裁判就看不到有沒有碰到壁面了。[/url]


av8dgo 在 星期五 十二月 30, 2005 10:03 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息
RM
樂高狂


註冊時間: 2005-11-12
文章: 1260
來自: Taipei
420 發文獎賞
0 T幣

發表發表於: 星期五 十二月 30, 2005 1:12 am    文章主題: 引言回覆

拜託!不要用LEGO的Sensor!那個效能很差!你可以自己買紅外線元件搭電路,效果絕對比較好!如果不想自己搭,可以用買的:http://www.techno-stuff.com/DIRPD-T.htm
或這顆,距離稍短:http://www.techno-stuff.com/D-IRPD.htm
這顆保證不會有問題..左右加起來可以偵測30cm的距離!只要前後各一顆,保證不撞壁,愛在迷宮裡待多久就多久..

我是建議自己搭,搭完材料錢不用100元!用買的要4,5千!
至於你說的亂數選擇我是覺得不太好..
你可以用預設的五組程式賭一下..
亂數的重複率太高!怎麼可以把命運交給亂數哩!又不是最佳化的方法!

還有我程式是用Phantom或nqc寫..圖控的我不會用..

總而言之,連直路都走不好,何況玩迷宮?還不會走路就要跑步了..
最後,直路的問題並不在於軟體,是在於硬體!方向不要弄錯了!
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題   printer-friendly view    樂高積木中文論壇 首頁 -> Technic & Mindstorms 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作