tag:blogger.com,1999:blog-85896951740592044462024-02-07T13:37:24.668+09:00Hibikino-Musashi BlogロボカップサッカーチームHibikino-Musashiの日誌hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.comBlogger167125tag:blogger.com,1999:blog-8589695174059204446.post-17332494614425624102016-12-20T17:43:00.004+09:002016-12-20T17:49:17.233+09:00ホームページへのリンクロボカップサッカー中型リーグHibikino-Musashiの2016年度HP・Blog更新担当者です。<br />
今後の更新は下のHibikino-Musashiをメインに行ってまいります。<br />
今後はHibikino-Musashiを宜しくお願いします。<br />
<br />
<a href="http://www.lsse.kyutech.ac.jp/~robocup/"><strong><span style="font-size: large;">Hibikino-Musashi</span></strong></a>hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-27963164001983751042014-05-06T18:00:00.000+09:002014-05-13T13:14:28.433+09:00RoboCup Japan Open 2014ロボカップジャパンオープン2014(5/4~5/6、中型リーグ:北九州学術研究都市)に参加しました。<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxUbdhHolN3j0NhhZ4rV0UM59GGXix5n5qQunAZ_j6mn0mBIPtXvzBQ4HnZbFW8aG8-Ep3VbQomZVpw9YSLqdQUBJygdBI28jOpFmHB3887dvgFX5tCsGk-Tv0E02RdAD6jW5_OezvvOK2/s1600/DSC_0235.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxUbdhHolN3j0NhhZ4rV0UM59GGXix5n5qQunAZ_j6mn0mBIPtXvzBQ4HnZbFW8aG8-Ep3VbQomZVpw9YSLqdQUBJygdBI28jOpFmHB3887dvgFX5tCsGk-Tv0E02RdAD6jW5_OezvvOK2/s1600/DSC_0235.jpg" height="300" width="400" /></a></div>
<div style="text-align: center;">
<span style="text-align: center;"><span style="font-size: x-small;">左(赤マーカ):Hibikino-Musashi 右(青マーカ): 東京工芸大学 (今年2位)</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
今年も日本文理大学のチーム「NBU Braves」との合同チームとして出場し、試合・テクニカルチャレンジ両方とも1位という結果を得ることが出来ました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2RfZdJDvYruyJ2pnGn8n0QBWi3wniq5-hU95wla1rXx8ZsWCygv-osmy6uq1ad7m1JZdg8O6rCn62bCrPovyH2mGIv7iBDDiN_PRIAWRJK4j_65Lsym_d0IXJS48OEf0d_fCHcvkzhGas/s1600/IMG_0957.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2RfZdJDvYruyJ2pnGn8n0QBWi3wniq5-hU95wla1rXx8ZsWCygv-osmy6uq1ad7m1JZdg8O6rCn62bCrPovyH2mGIv7iBDDiN_PRIAWRJK4j_65Lsym_d0IXJS48OEf0d_fCHcvkzhGas/s1600/IMG_0957.jpeg" height="266" width="400" /></a></div>
<br />
大会7連覇と、本年度もHibikino-Musashiのロボットは大活躍です。<br />
<br />
今回の大会では新しいボール保持機構を搭載した新型機の投入は間に合いませんでしたが、夏に開催される世界大会に向けてこれから調整を進めていきたいと思っております。<br />
<br />
今後も変わらぬご支援、ご声援のほどよろしくお願いします。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0日本, 〒802-0841 福岡県北九州市小倉南区北方4丁目4−2−1 北九州市立大学33.8432722 130.878214299999978.3212377000000011 89.569620299999968 59.365306700000005 172.18680829999997tag:blogger.com,1999:blog-8589695174059204446.post-40719618408633302472013-05-07T12:00:00.000+09:002013-06-02T20:43:54.980+09:00RoboCup Japan Open 2013 Tokyoロボカップジャパンオープン2013大坂(5/4~5/6、玉川大学)に参加しました。<br />
<br />
今年は日本文理大学のチームと合同チームという形で試合に臨みました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdpGDK4O_Yygi9ci7gAiNdYNrDoggbrePlIBdzFm5ZMCyaSqXh0NjwOT7RxXbIpP2725YwmtvUY22sQXX1CsVVx8DfL1BUaO8OJH5y-faQhga7L4bd8CvSYusl2mPia7ii-uZpEuVl3MJY/s1600/DSC01633.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdpGDK4O_Yygi9ci7gAiNdYNrDoggbrePlIBdzFm5ZMCyaSqXh0NjwOT7RxXbIpP2725YwmtvUY22sQXX1CsVVx8DfL1BUaO8OJH5y-faQhga7L4bd8CvSYusl2mPia7ii-uZpEuVl3MJY/s400/DSC01633.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: x-small;">(左:日本文理大のロボット 右: Hibikino-Musashiのロボット)</span></div>
<br />
結果は堂々の優勝、大会6連覇を達成しました。<br />
<br />
テクニカルチャレンジでは、現在制作中の新型ロボットについて発表しましたが、惜しくも入賞には届きませんでした。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaphbgmXOxT50rhoHPj8PCY6BoBYIf45azCrhcdrllB_ffXA64HJMce2S-86Rt-TLLjwik8Uw1qSPdI-kEw-WwyuOPYSY0AHZewTBOQKUCmPgR2l9gEc6cLx2_jCrh4EWwHHMmbJSan9d2/s1600/JO2013_MSL.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaphbgmXOxT50rhoHPj8PCY6BoBYIf45azCrhcdrllB_ffXA64HJMce2S-86Rt-TLLjwik8Uw1qSPdI-kEw-WwyuOPYSY0AHZewTBOQKUCmPgR2l9gEc6cLx2_jCrh4EWwHHMmbJSan9d2/s400/JO2013_MSL.jpg" width="400" /></a></div>
<br />
決勝後のエキシビションマッチでは、町田ゼルビアの皆さんと試合を行いました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwNJJgOjO_EvSWXxOHd0lkbGrkoNjNnjtVpDSaDoMrrYsfCHZLRpkSb014HIMIgxGbYsEApkxaBZHKTV7hT-UmcuXBTBXYfwev6XoPBcN5sMMu1wIFIYq33ivaWCn0afSfUMPw1iBFePYz/s1600/DSC01657.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwNJJgOjO_EvSWXxOHd0lkbGrkoNjNnjtVpDSaDoMrrYsfCHZLRpkSb014HIMIgxGbYsEApkxaBZHKTV7hT-UmcuXBTBXYfwev6XoPBcN5sMMu1wIFIYq33ivaWCn0afSfUMPw1iBFePYz/s400/DSC01657.JPG" width="400" /></a></div>
<br />
オランダで開催される世界大会におきましても良い結果を残せるよう、チーム一同 努力していきます。<br />
<br />
これからも変わらぬご支援の程よろしくお願いいたします。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0日本, 〒194-8610 東京都町田市玉川学園6丁目6−1−1 玉川大学35.5670496 139.4683644000000410.045015099999997 98.159770400000042 61.089084099999994 -179.2230416tag:blogger.com,1999:blog-8589695174059204446.post-35588305522610755382012-08-06T12:28:00.003+09:002012-08-06T12:28:56.075+09:00韓国光州デモこんにちは、旧テクニカルリーダー兼ゴールキーパー担当のtakenakaです。<br />
<br />
韓国光州で開催されているROBOT EXPO KOREA 2012に参加しています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaDit_3PWNTNiG62nK7B8TKt5VgevWAWgWAoyDAxOYKsnNDPjGG3L6iimSY4pg4tgACrGSuIb2LBA9Ffn7_ViCoaZcHj7KXcttcdp-PDtrCe8iuatjHslCR-c_JUeivQEhbnfLSzj_tqvQ/s1600/CIMG4975.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaDit_3PWNTNiG62nK7B8TKt5VgevWAWgWAoyDAxOYKsnNDPjGG3L6iimSY4pg4tgACrGSuIb2LBA9Ffn7_ViCoaZcHj7KXcttcdp-PDtrCe8iuatjHslCR-c_JUeivQEhbnfLSzj_tqvQ/s320/CIMG4975.JPG" width="320" /></a></div>
<br />
英語ではなく、韓国語のデモということで通訳の方を介してデモを行っています。<br />
しかしながら、来場された皆様には楽しんでいただけているようで何よりです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg120CMazAxPoeMAemMwnDB7iIsNaPaCIpPkdHpbJYa31LShThQRSESj2yOInnKvTbrmtU1F8lZ3YhPPv4wlNN5EafaZeevYnpJzql_QF4LX9WuVun9JPQcOKHCXT8JDi98V3V2PNtpSuEn/s1600/CIMG4991.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg120CMazAxPoeMAemMwnDB7iIsNaPaCIpPkdHpbJYa31LShThQRSESj2yOInnKvTbrmtU1F8lZ3YhPPv4wlNN5EafaZeevYnpJzql_QF4LX9WuVun9JPQcOKHCXT8JDi98V3V2PNtpSuEn/s320/CIMG4991.JPG" width="320" /></a></div>
光州市の市長さんも来られまして石井先生がロボットの紹介などを行っていました。<br />
非常に興味深そうにお聞きになられていました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Cs6wHlb_06ZpmosI7lhJ_tr63zrAKNRwScUaxvZ0wuWTPOgbThAFtMiQE_QSup9M6GASPaynOi1OCNDuQPda6hKO_4hZrvls-yocO2KoVPL-lH05JXITH4I4-ufXUJLbtv07F0x82uee/s1600/CIMG5014.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Cs6wHlb_06ZpmosI7lhJ_tr63zrAKNRwScUaxvZ0wuWTPOgbThAFtMiQE_QSup9M6GASPaynOi1OCNDuQPda6hKO_4hZrvls-yocO2KoVPL-lH05JXITH4I4-ufXUJLbtv07F0x82uee/s320/CIMG5014.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlEDqW6Y4NQAZmQGWjFsq3OHohn0rHaJRNJagD1E1K7XUifWPCv_LHM1phDU1PBfyCyQNd3hN0p0W2v4kBDPTtElEqH3wVGFzGJqMlGsgCj-am37LzeFeNrwEvduwEJvRQxInww5cBscrs/s1600/CIMG5027.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlEDqW6Y4NQAZmQGWjFsq3OHohn0rHaJRNJagD1E1K7XUifWPCv_LHM1phDU1PBfyCyQNd3hN0p0W2v4kBDPTtElEqH3wVGFzGJqMlGsgCj-am37LzeFeNrwEvduwEJvRQxInww5cBscrs/s320/CIMG5027.JPG" width="320" /></a></div>hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-79395378239981194442012-07-17T17:52:00.000+09:002012-07-17T17:53:30.225+09:00デモ:大分トリニータ@大分銀行ドームこんにちは、今年で6年に渡るロボカップも最後のtakenakaです。<br />
最近、天気が不安定かつ雨が激しいですね。<br />
<br />
先週末は、3連休でしたが皆さんはいかがお過ごしでしたか?<br />
私たちHibikino-Musashiは15日には大分銀行ドームで開催された<br />
大分トリニータv.s.湘南ベルマーレの試合に<br />
お邪魔させていただきデモンストレーションを行いました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVXY1r8BL7ZKeEKEBWgRrdvRxCNvxdNE27gJ1iRiCzj5wE9ZZx9leprM67Ov6NMmEVXUMU23cro0WUjnLR5do9jheeABOP0Qqhgd-u-8MzRC0h36tPtEIbGqTJilDeON6yzlxtVELLsL_g/s1600/CIMG4909.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVXY1r8BL7ZKeEKEBWgRrdvRxCNvxdNE27gJ1iRiCzj5wE9ZZx9leprM67Ov6NMmEVXUMU23cro0WUjnLR5do9jheeABOP0Qqhgd-u-8MzRC0h36tPtEIbGqTJilDeON6yzlxtVELLsL_g/s320/CIMG4909.JPG" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhrvv4iIro0hNhFaTCdoUj6prfmZ7B06IePmlBL4DCkJuYsClb0LufaEm5jYFhAKegsRBma0ZGjVvxd6Ah1iI0a4giSQEuuIkzVe4rapXvr614pxo_HJHJXhWSHCws_4BFKl61CN4ts5FD/s1600/CIMG4913.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhrvv4iIro0hNhFaTCdoUj6prfmZ7B06IePmlBL4DCkJuYsClb0LufaEm5jYFhAKegsRBma0ZGjVvxd6Ah1iI0a4giSQEuuIkzVe4rapXvr614pxo_HJHJXhWSHCws_4BFKl61CN4ts5FD/s320/CIMG4913.JPG" width="320" /></a></div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
サッカーが大好きな少年少女は自律行動をするサッカーロボットに興味心身で<br />
多くの方に、ロボットとのPK対決を楽しんでもらいました。<br />
<br />
試合としては、残念ながら大分トリニータは、負けてしまったようですが・・・・hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-25099914291949833302012-06-26T00:20:00.000+09:002012-08-24T00:33:44.104+09:00RoboCup 2012 MEXICO<br />
RoboCup世界大会2012メキシコに参加しました。<br />
<br />
場所:メキシコ世界貿易センター<br />
日時:6月18日(火)~6月24日(月)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCKGV_yM_iDVCSzoFYDVEuvy8JAh3vwEqrV3QDaIJeWKqHxUIrNFgXh9iTpN5be-5x0OnvbfJfWaH-fn70B5E3TjdUHfKTmT_tN5-xOLwWV7koH63zOvpVV5HoynPYykCC0pau27GtAtb/s1600/CIMG4189.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCKGV_yM_iDVCSzoFYDVEuvy8JAh3vwEqrV3QDaIJeWKqHxUIrNFgXh9iTpN5be-5x0OnvbfJfWaH-fn70B5E3TjdUHfKTmT_tN5-xOLwWV7koH63zOvpVV5HoynPYykCC0pau27GtAtb/s320/CIMG4189.JPG" width="320" /></a></div>
<br />
試合では参加6チーム中5位、テクニカルチャレンジ部門は5位と入賞には至りませんでしたが、今年はインプレイ中のパスを中心にチーム戦略を大幅に改良したため、特にディフェンス面において世界のチームから高い評価を得ました。<br />
<br />
長かった試合を終え、私たちは現在、来年に向けて新型機の開発に着手しています。<br />
<br />
これからもHibikino-Musashiへのご声援をよろしくお願いします。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-64156070408757892782012-05-07T10:00:00.000+09:002012-05-13T12:56:46.184+09:00RoboCup Japan Open 2012 Osaka<br />
ロボカップジャパンオープン2012大坂(5/3~5/5、大阪工業大学 大宮キャンパス)に参加しました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPwGiEZTDy_IRxCC9DYZY4VTAi7ebCbZsjMCV1uDWoBfJWbZqtYftYlPQo8aD1sQbZwWS1-GWLZXlriuEFbebldM4YTPV2zXv_Ke20oazwScNN9m_-u2wU0QBJ4H5HRv-2qmxVW7KpgX4H/s1600/JapanOpen2012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPwGiEZTDy_IRxCC9DYZY4VTAi7ebCbZsjMCV1uDWoBfJWbZqtYftYlPQo8aD1sQbZwWS1-GWLZXlriuEFbebldM4YTPV2zXv_Ke20oazwScNN9m_-u2wU0QBJ4H5HRv-2qmxVW7KpgX4H/s320/JapanOpen2012.jpg" width="320" /></a></div>
試合では、今年から実装されたインプレイ中のパスを披露し、これまでにない戦略的なプレーを進めていきました。<br />
<br />
結果は7戦全勝でジャパンオープン5連覇を達成しました。<br />
<br />
オランダからの連続出場となり、過密なスケジュールではありましたが、メンバー全員の努力の結果、このような素晴らしい成績を残すことができました。<br />
<br />
現段階では世界大会への参加は未定ですが、世界のチームと渡り合えるよう、チーム一同、努力をしていきたいと思います。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-13467056570094741612012-05-02T02:17:00.002+09:002012-05-13T12:31:04.624+09:00Dutch Open 最終日こんばんは<br />
テクニカルリーダー兼ゴーリー担当のtakenakaです。<br />
<br />
5日間にわたるDutch Openが終わりました。<br />
結果は5チーム中5位と、現状の課題を改めて実感することとなりました。<br />
<br />
しかしながら、新規メンバーが多く、経験が少ない中みんな十分に頑張ってくれていたと思います。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dvpDXPh4UFdsf7_8Z0ecezVG4zr-sTsO2up18nO5GKHKTycyb_KCAkbFihieV_wAM-Kbs1XmZWwRmw4e0UG2ZpkOBIM5M1gCbyKRIl1um_8Q6de1JyRQi7OOEXCeGG-s_DB4HPSmvYqx/s1600/CIMG3136.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dvpDXPh4UFdsf7_8Z0ecezVG4zr-sTsO2up18nO5GKHKTycyb_KCAkbFihieV_wAM-Kbs1XmZWwRmw4e0UG2ZpkOBIM5M1gCbyKRIl1um_8Q6de1JyRQi7OOEXCeGG-s_DB4HPSmvYqx/s320/CIMG3136.JPG" width="320" /></a></div>
<div class="" style="clear: both; text-align: left;">
ビールを飲みながら作業をするフリをするソフト・機械担当者。</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMMMkcnL-9YSax8_EhquUKEKZ0S8rMutgHlAyFLhFJ7XlRB38AhREMosuNBZBdc2wMjTObew5mpWHOXfCb8gRBKfXhdV5koKOcpwtLcXl5r-mcV1s2Ab-p7paUcMorLETmXk30RalEFun/s1600/CIMG3168.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMMMkcnL-9YSax8_EhquUKEKZ0S8rMutgHlAyFLhFJ7XlRB38AhREMosuNBZBdc2wMjTObew5mpWHOXfCb8gRBKfXhdV5koKOcpwtLcXl5r-mcV1s2Ab-p7paUcMorLETmXk30RalEFun/s320/CIMG3168.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
今回も、ソフトリーダーであるShinpukuさんにはお世話になりました。</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijw6BEG-O0lztybVFy4YiAB5ihJlteeUp5OzwQQOf1z5NSeVBd7yXcYrsQhDjFCJhvOVvW_-p6sqPQh1dhsaEQ_YvkWJsv7g-8WrKf6K2ZRAasNMnYOynqG6FIecvAU1_tdFY5k1AEOgsB/s1600/CIMG3145.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijw6BEG-O0lztybVFy4YiAB5ihJlteeUp5OzwQQOf1z5NSeVBd7yXcYrsQhDjFCJhvOVvW_-p6sqPQh1dhsaEQ_YvkWJsv7g-8WrKf6K2ZRAasNMnYOynqG6FIecvAU1_tdFY5k1AEOgsB/s320/CIMG3145.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
専門的なことだけでなく、慣れない海外での生活で</div>
<div style="text-align: left;">
武村先生とアミール先生に助けていただき大変感謝しております。</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs39CyWh7_KXw_FJvFIUz6BHVO1BHvwX42gildMX0et08iZByagtEJBPko9qQq-6D4CZ-U2I_IHFB-rZcw_taB329dfMpInfgx6uoRXp8jh8daVsEuDdG_Tv8TW-lW5n3lRb5k9u_DtGAF/s1600/CIMG3192.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs39CyWh7_KXw_FJvFIUz6BHVO1BHvwX42gildMX0et08iZByagtEJBPko9qQq-6D4CZ-U2I_IHFB-rZcw_taB329dfMpInfgx6uoRXp8jh8daVsEuDdG_Tv8TW-lW5n3lRb5k9u_DtGAF/s320/CIMG3192.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiynZt_l3biOQB5YR2yA-BkuEjaVIx79l3s508szyl6PwRdfzqSZ3xym6U03qKa0Wcm3g6nXx4Go-RGJajhJ0nBvZAXJgTrWup_BqQ8Bh6KxsueTiM5uAe_FTqTM82RjuanYTsLmd_Sciu7/s1600/Dutch+Open%E9%9B%86%E5%90%88%E5%86%99%E7%9C%9F.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiynZt_l3biOQB5YR2yA-BkuEjaVIx79l3s508szyl6PwRdfzqSZ3xym6U03qKa0Wcm3g6nXx4Go-RGJajhJ0nBvZAXJgTrWup_BqQ8Bh6KxsueTiM5uAe_FTqTM82RjuanYTsLmd_Sciu7/s320/Dutch+Open%E9%9B%86%E5%90%88%E5%86%99%E7%9C%9F.JPG" width="320" /></a></div>
<br />
<a href="http://www.robocupdutchopen.org/tournament/midsize-league">Dutch Open 2012結果</a>
<br />
<br />
8戦8敗 2得点33失点<br />
今大会で優勝したTech Unitedとは一戦目は1-13で大敗をきしてしまいましたが、<br />
最後には0-3に押さえるまでロボットの動きを向上させることができました。<br />
<span id="goog_1447715951"></span><span id="goog_1447715952"></span><br />
<br />
明日から開催される日本大会にむけて<br />
今大会で見つけた課題を解決し、よりよい結果が報告できるよう<br />
取り組む所存でございます。<br />
<span style="text-align: center;">それでは、大阪工業大学で開催されるロボカップジャパンオープンでお会いしましょう!</span>
<br />
<span style="text-align: center;">皆様にお会いできる日を心待ちにしております。</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw6YfuAPFUO3i8V43RyodMZax9Yoevjn22jIUHaYVHIyKjf2_A_02Sij4Q8T-PrbCVDNp4skSckuK7E9Z9P1DZjf1BWFJGTHcq4qKSBYow0S5yobImGvPXpakgdK-foMsjZWVVvoJMhcYM/s1600/CIMG3600.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw6YfuAPFUO3i8V43RyodMZax9Yoevjn22jIUHaYVHIyKjf2_A_02Sij4Q8T-PrbCVDNp4skSckuK7E9Z9P1DZjf1BWFJGTHcq4qKSBYow0S5yobImGvPXpakgdK-foMsjZWVVvoJMhcYM/s320/CIMG3600.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
日本に帰り着いて喜ぶメンバーの図</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-68531710060979354102012-04-28T04:11:00.003+09:002012-04-28T04:11:54.251+09:00大会初日 2日目終了オランダからお伝えしております.<br />
アドバイザーのtakemuraです。<br />
現在,大会2日目が終了しました.<br />
<br />
結果は、・・・・残念ながら全敗(6敗)と厳しい戦いをしいられています。<br />
<br />
初日は,いろいろな修正点を見つける事で手一杯でしたが,<br />
2日目からは多少動きも良くなってきています.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCjA8XpVoAPKjdtrJsrp9ylIb9mL9fs0d5nt-be8-59sirAVZPpH_fXKW_1AMNYENnDTis8kb7RlrshAUlRsteiJ2Hp-iy2sib_C3G2Lcdc3cxmnXn5v8MAAPRa2SMHlWMF45IAl2D7sK/s1600/IMAG0247.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixCjA8XpVoAPKjdtrJsrp9ylIb9mL9fs0d5nt-be8-59sirAVZPpH_fXKW_1AMNYENnDTis8kb7RlrshAUlRsteiJ2Hp-iy2sib_C3G2Lcdc3cxmnXn5v8MAAPRa2SMHlWMF45IAl2D7sK/s320/IMAG0247.jpg" width="320" /></a></div>
<br />
しかし,世界の壁は非常に厚くなかなか得点が遠い状況です.<br />
<br />
明日、残り2試合全力でがんばります.<br />
<br />
You stream で大会の様子がありますので,是非ご覧になってみてください.<br />
<br />
<a href="http://www.robocupdutchopen.org/home">http://www.robocupdutchopen.org/home</a><br />
<br />
<br />
それでは,オランダの様子をアップロードしておきます.<br />
残り2試合全力でがんばります!<br />
<br />
ご声援よろしくお願いします。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuiJ0qwAL8XAJ-s1eiNxAwUxFFRgmsWKj_F2v3sHUwYZvRMJRCuzIqGF5F34ZK4tgCn_VMLB0FBGtiS0XczFhJOLeZ-BqFqHcYEDWl7YTeZbYrbOxxr_Rz12oXx6KugzaaKoeDTXd_5b2K/s1600/PaperCamera2012-04-26-19-47-02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuiJ0qwAL8XAJ-s1eiNxAwUxFFRgmsWKj_F2v3sHUwYZvRMJRCuzIqGF5F34ZK4tgCn_VMLB0FBGtiS0XczFhJOLeZ-BqFqHcYEDWl7YTeZbYrbOxxr_Rz12oXx6KugzaaKoeDTXd_5b2K/s320/PaperCamera2012-04-26-19-47-02.jpg" width="320" /></a></div>
<br />
<div>
<br /></div>
<div>
<br /></div>hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-71658150226515319962012-04-24T03:09:00.005+09:002012-04-24T03:10:57.831+09:00DutchOpenまで@0日!<div class="separator" style="clear: both; text-align: left;">
おはようございます。</div>
<div class="separator" style="clear: both; text-align: left;">
テクニカルリーダーのtakenakaです。</div>
<div class="separator" style="clear: both; text-align: left;">
とうとう、オランダに出発する時が着ましたね。</div>
<div class="separator" style="clear: both; text-align: left;">
3:00に集合し、7:00の飛行機でオランダに向かいます。</div>
<div class="separator" style="clear: both; text-align: left;">
今年のメンバーは海外旅行経験者が少ないので心配ですが</div>
<div class="separator" style="clear: both; text-align: left;">
まあ、大丈夫でしょう(適当なのではなく、信頼していると取ってください。</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobXP1oZLMxefubqpOiyF5Nljg1fDcK1oEmk-PeGimogLftMAabClDWSRm9A7XrbB-GTWLxpIzA24ttwIkY5E56AY_pb8d2PyLtAB0bda6Dj1pbRQ5HLqqXzXVsXzhxYgIxA901EwIrLwR/s1600/CIMG3094.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhobXP1oZLMxefubqpOiyF5Nljg1fDcK1oEmk-PeGimogLftMAabClDWSRm9A7XrbB-GTWLxpIzA24ttwIkY5E56AY_pb8d2PyLtAB0bda6Dj1pbRQ5HLqqXzXVsXzhxYgIxA901EwIrLwR/s320/CIMG3094.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ロボット5台と予備部品などは、ダンボールとスーツケースに入れてもって行きます。</div>
<div class="separator" style="clear: both; text-align: left;">
荷物が11個、総重量250kg程度になりました。</div>
<div class="separator" style="clear: both; text-align: left;">
これを運ぶとなると大変です;;</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQIteIaZM45kxxlYrbmY4jLeGLix13NpXsoUcQ0E0y57h460Ll4F7s6kl4TojPs7P0bA7oAMwyIAMlwnBIEzSxjQDhs8qNXItuOGMEpI07OBAmrKAago2808ADY78Y0mTiGQzOYcKNKEI/s1600/CIMG3095.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQIteIaZM45kxxlYrbmY4jLeGLix13NpXsoUcQ0E0y57h460Ll4F7s6kl4TojPs7P0bA7oAMwyIAMlwnBIEzSxjQDhs8qNXItuOGMEpI07OBAmrKAago2808ADY78Y0mTiGQzOYcKNKEI/s320/CIMG3095.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ロボット達が、いないので、倉庫がさびしいですね。</div>
<div class="separator" style="clear: both; text-align: left;">
ちょっと、準備の段階で散らかってしまったので掃除が必要です・・・</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi_11H3hz4tNAUXA9MOuS7suFy10O2Qn1lrM8WFwllkosyHW55Il-NfNeHJjXL2qbYV3nAbwA3RTn5hNjHoGavLTI34HmdT11iPFhLpEFqCXpcLc9DlxpbRdMoKGIuasUIMM089t1p7Inn/s1600/CIMG3092.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi_11H3hz4tNAUXA9MOuS7suFy10O2Qn1lrM8WFwllkosyHW55Il-NfNeHJjXL2qbYV3nAbwA3RTn5hNjHoGavLTI34HmdT11iPFhLpEFqCXpcLc9DlxpbRdMoKGIuasUIMM089t1p7Inn/s320/CIMG3092.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
さて、次に福岡に帰ってくるのは5月7日の日本大会終了後ですね。</div>
<div class="separator" style="clear: both; text-align: left;">
Dutch Open、Japan Openともに良い結果が残せるよう全力でがんばりますので</div>
<div class="separator" style="clear: both; text-align: left;">
何卒、応援のほど宜しくお願いします!</div>
<br />hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-2692241142502603632012-04-22T03:18:00.000+09:002012-04-22T03:18:30.525+09:00DutchOpenまで@2日<div class="separator" style="clear: both; text-align: left;">
こんばんは</div>
<div class="separator" style="clear: both; text-align: left;">
テクニカルリーダーのtakenakaです。今年は、ゴーリーもやっています。</div>
<div class="separator" style="clear: both; text-align: left;">
DutchOpen開催まで、あと2日。</div>
<div class="" style="clear: both; text-align: left;">
ついに、作業終了予定日となりました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
やっと、ゴーリーアームの改修が完了しました。</div>
<div class="" style="clear: both; text-align: left;">
白線認識向上のために、位置を少し後ろに下げただけですが...</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_O83kxpD92xd0d5HxkViP7r3LbuirvdGljTYGHvs174mxBDt6Z3bVTI4S_R-KanRpa7ZfzrmXV6TlLmz86CKMOBl475ZlI021TpRnW4U6PuoCbG0CMo2qHexqAgoArVcnbJ65eRpTZ8E2/s1600/CIMG3039.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_O83kxpD92xd0d5HxkViP7r3LbuirvdGljTYGHvs174mxBDt6Z3bVTI4S_R-KanRpa7ZfzrmXV6TlLmz86CKMOBl475ZlI021TpRnW4U6PuoCbG0CMo2qHexqAgoArVcnbJ65eRpTZ8E2/s320/CIMG3039.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">改修前 ゴーリー</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9CAFw0Yuv6-hE-ra7qZ1mRqGzTauoMDXWb5KKiLkVOz2jpmdlbp9AzoROvdulYFeY1a_Wc-H51Meilyh3VsFiuntY9kAtgzBGpCPiDEITPS9nsnD063OTJw0gNvBdv_Y2vOOWf9A0aje/s1600/CIMG3029.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9CAFw0Yuv6-hE-ra7qZ1mRqGzTauoMDXWb5KKiLkVOz2jpmdlbp9AzoROvdulYFeY1a_Wc-H51Meilyh3VsFiuntY9kAtgzBGpCPiDEITPS9nsnD063OTJw0gNvBdv_Y2vOOWf9A0aje/s320/CIMG3029.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">改修後 ゴーリー</td></tr>
</tbody></table>
<div class="" style="clear: both; text-align: left;">
見栄え的にも、性能的にもよくなりましたね。</div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: left;">
あとは、マザーボードが実に5年ぶりくらいに新しくなりました。</div>
<div style="text-align: left;">
P板で作り直したので、見栄え的にも格好いいですね!</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBvEp80A2q5z4ndGZ7hIT7HbA7zl0Aex3eDA0UFNosxs4EpDd1bWb9BAUt0xX3KmNwC9a5AiIurjOCYDU2p0czhl9OnYWYDUzNj-L9HNEKpFqJctLK1xDBUJor90HsHuaNCNd8RjRIYdg/s1600/CIMG3033.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBvEp80A2q5z4ndGZ7hIT7HbA7zl0Aex3eDA0UFNosxs4EpDd1bWb9BAUt0xX3KmNwC9a5AiIurjOCYDU2p0czhl9OnYWYDUzNj-L9HNEKpFqJctLK1xDBUJor90HsHuaNCNd8RjRIYdg/s320/CIMG3033.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">完成によろこぶ担当者の様子<br />「新型がふえるよ。」<br />「やったね、Hibikino-Musashi!」</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
もちろん、ソフト班の調整にも余念はありません。<br />
今年も<span style="background-color: white; line-height: 18px;">Shinpukuさんの作り上げたプレイヤーたちが、大活躍してくれるでしょう!</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMsIbvHrAjZZs_MYKwMs3aQ-5f6WREkJUWB-6IvvDVNM-KOwJ9wySF84r6afx6QJzcHMbCzyb9OQmAxd6WVTTybuDWw6cAmPt27iEMgfWnN-kkmXCePbyH7z_EQOGXOlWJI8X-Xknn5Y7z/s1600/CIMG3031.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMsIbvHrAjZZs_MYKwMs3aQ-5f6WREkJUWB-6IvvDVNM-KOwJ9wySF84r6afx6QJzcHMbCzyb9OQmAxd6WVTTybuDWw6cAmPt27iEMgfWnN-kkmXCePbyH7z_EQOGXOlWJI8X-Xknn5Y7z/s320/CIMG3031.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDws7gVz7NrEl3twYCmJZoNSq-weR96QG9cbBqUK97L9oK7yi0BVR_VbvyA9Jf1h4476YzuGHOlIF9YQPxMF2JnpFuVDL089WUcgkY9SSkCVHY9xfoWqD5HNBK6yyw_AQtISsCQAEMXHYr/s1600/CIMG3046.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDws7gVz7NrEl3twYCmJZoNSq-weR96QG9cbBqUK97L9oK7yi0BVR_VbvyA9Jf1h4476YzuGHOlIF9YQPxMF2JnpFuVDL089WUcgkY9SSkCVHY9xfoWqD5HNBK6yyw_AQtISsCQAEMXHYr/s320/CIMG3046.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: left;">ハードウェアは、電装系の改修をテーマに信頼性・安定性向上に取り組んでいます。</span>
</div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: left;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi9MXT3lgnXFeFufaoLehCiQIKu-oTpuIM-DWIoGjR-LaV1bkvFLTvIpG7CP2-5x1hKulsia9GL0zwOEka64mwwDIjQHUcaqpQcVj6mJhT8gQqa9R_ZP-ni4CPwHr-gqQHQQD0rOYn_zln/s1600/CIMG3049.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi9MXT3lgnXFeFufaoLehCiQIKu-oTpuIM-DWIoGjR-LaV1bkvFLTvIpG7CP2-5x1hKulsia9GL0zwOEka64mwwDIjQHUcaqpQcVj6mJhT8gQqa9R_ZP-ni4CPwHr-gqQHQQD0rOYn_zln/s320/CIMG3049.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
作業終了予定日である今日は、ロボット全台を使った最終調整を行う予定です。
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
現在、メンバー5名と例年より人数が少ないですが、その分チーム一丸となってよい結果が残せるよう頑張っております。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-14034393145141117022012-04-11T00:59:00.000+09:002012-04-11T00:59:23.111+09:00今年度の大会(予定)お疲れさまです。マネジメント担当Shinpukuです。<br />
<br />
今年度、私たちは2つの大会に出場します。<br />
<br />
まず、4/25(水)~4/29(日)にオランダのアイントホーフェンにて開催されるオランダオープン。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6KhKeXI78QU01WkJlngh-tFTzkM8Z85GHwoOKLi1qfEBteVrOnBSoFKZpUFyliKxw1icFzdNbag3a9Wq8fX0ysVW-x0eLMCDyASXU2iwwbs9afKU_YJGsqIlninRJaxn5RuctC8ISB1Nk/s1600/dutchopen2012_hp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6KhKeXI78QU01WkJlngh-tFTzkM8Z85GHwoOKLi1qfEBteVrOnBSoFKZpUFyliKxw1icFzdNbag3a9Wq8fX0ysVW-x0eLMCDyASXU2iwwbs9afKU_YJGsqIlninRJaxn5RuctC8ISB1Nk/s320/dutchopen2012_hp.jpg" width="320" /></a></div>
<div style="text-align: center;">
<a href="http://www.robocupdutchopen.org/">ロボカップオランダオープン2012公式HP</a></div>
<br />
そして、5/1(木)~5/5(土)に大阪工業大学で開催されるジャパンオープンです。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf9IAQfs90zBZ2na3MTgGCmOXxmUeu42XGwDg-PtMI7sfrrT1K-CatKxpmBd4Kieupml5qlKo2PPqRC25DNrO_OoMspfitiu7XhgQ_2zSgJb9QEMk9eCP3TkjUvWXhaSIFx1_Kd-1fKtJ6/s1600/japanopen2012_hp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf9IAQfs90zBZ2na3MTgGCmOXxmUeu42XGwDg-PtMI7sfrrT1K-CatKxpmBd4Kieupml5qlKo2PPqRC25DNrO_OoMspfitiu7XhgQ_2zSgJb9QEMk9eCP3TkjUvWXhaSIFx1_Kd-1fKtJ6/s320/japanopen2012_hp.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.robocup-japanopen.org/" style="text-align: -webkit-auto;">ロボカップジャパンオープン2012大阪 公式HP</a>
</div>
<br />
チームも新体制となり、試合に向けてロボットの調整を進めています。<br />
<br />
2大会連続出場という今までにないギリギリのスケジュールですが、全力で挑みたいと思います!hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-89347971859860241742012-03-20T18:00:00.000+09:002012-03-21T11:25:59.788+09:00H23年度メンバー送別会今日はお世話になった先輩方の送別会を行いました。<br />
<br />
<br />
卒業される先輩方には、現メンバーより寄せ書きとプレゼントをお送りしました。<br />
<br />
<br />
電気班の真田さん。マザーボードの回路設計や方位センサの実装など、電子回路のプロフェッショナルです。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ma0p9kKD-lVC2VneABEMhlpAFg_GukCBEMd372tFJM9FxQyc1St8wzQuD7efYXyEbO8epiTm_1YT-Qp2VlYnwZP7fTSPQ0_8LQML17JkbBPleeP9Eq2xRXCf_9weIDKjcG9YLHNiQQO9/s1600/DSC01265.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ma0p9kKD-lVC2VneABEMhlpAFg_GukCBEMd372tFJM9FxQyc1St8wzQuD7efYXyEbO8epiTm_1YT-Qp2VlYnwZP7fTSPQ0_8LQML17JkbBPleeP9Eq2xRXCf_9weIDKjcG9YLHNiQQO9/s320/DSC01265.jpg" width="320" /></a></div>
チームマネジメント担当の北住さん。以前は機械班として、モジュールシステムの実装や新型ホイールの設計をされていました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaGJGLLOzleWeBp_hPf5BQBrAn0DozOT-Hjfo9rTeIrWZcUkkfFG5Aq36N5u6zokRTVMhVOIDhCFnx8rGoRk9Boo-KDAH_qYe_8SCndJZ1ouUnQExdPLabzh3t1927ME_L9TN52Qel8zMA/s1600/DSC01272.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaGJGLLOzleWeBp_hPf5BQBrAn0DozOT-Hjfo9rTeIrWZcUkkfFG5Aq36N5u6zokRTVMhVOIDhCFnx8rGoRk9Boo-KDAH_qYe_8SCndJZ1ouUnQExdPLabzh3t1927ME_L9TN52Qel8zMA/s320/DSC01272.jpg" width="320" /></a></div>
機械班の藤本さん。去年から実装されたアクティブフィンガーを設計されました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjch7-4m8W4ynMKk-kF-1Wc6gPBay7ASc72emZFYMyGGPf8dlRjHWSLZ083UY1iRXemFpCRhjDgO9XCjsOVtv-MxAGi5EW2S7WUealfYf9_Q-VFMZAEUlquqk2zbgWGqKY95pFVkAYQqWqX/s1600/DSC01280.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjch7-4m8W4ynMKk-kF-1Wc6gPBay7ASc72emZFYMyGGPf8dlRjHWSLZ083UY1iRXemFpCRhjDgO9XCjsOVtv-MxAGi5EW2S7WUealfYf9_Q-VFMZAEUlquqk2zbgWGqKY95pFVkAYQqWqX/s320/DSC01280.jpg" width="320" /></a></div>
電気班の福田さん。ソレノイドキッカーの回路設計と実装をされました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Gb_bG_QAAyoDxuFs1-vwY49A3mApdirwXbOZyqtDHenOY5bGHnHfGaeaRs0c9O2nkVY3TwfzSKrx6v3C4A5JhYMRKuJtjCqZgvfg20P83jalpt5AURotonPrwZbl7zW6pmfv_H1v1b5j/s1600/DSC01291.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Gb_bG_QAAyoDxuFs1-vwY49A3mApdirwXbOZyqtDHenOY5bGHnHfGaeaRs0c9O2nkVY3TwfzSKrx6v3C4A5JhYMRKuJtjCqZgvfg20P83jalpt5AURotonPrwZbl7zW6pmfv_H1v1b5j/s320/DSC01291.jpg" width="320" /></a></div>
ゴーリー担当の林さん。世界に通じる高いディフェンスを実現しました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7tvObmmGCDHCfuffffcMQkLJE-7a_zuSdykUPJUa2h7PT0IK7aAsTs4ITv_y-zgexP1j5PP4i-IsIJZ-T1H_r9KHGx-JdtEYSQhJ7Fqu2DaEAwd_YFb_Ck5DaV6g4d0PGAnIWyBoEMsyJ/s1600/DSC01286.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7tvObmmGCDHCfuffffcMQkLJE-7a_zuSdykUPJUa2h7PT0IK7aAsTs4ITv_y-zgexP1j5PP4i-IsIJZ-T1H_r9KHGx-JdtEYSQhJ7Fqu2DaEAwd_YFb_Ck5DaV6g4d0PGAnIWyBoEMsyJ/s320/DSC01286.jpg" width="320" /></a></div>
ソフト班の平尾さん。プレイヤーの行動プログラムを担当されました。去年のテクニカルチャレンジでチームを優勝に導いた方です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvBk2e8Yso76zvFyBOFj7faS3pB2Mry7esvn03kXhDjSws-YqwQPuMvJr_LBdo-DO1KjqgEO14kQTyx_kWS1Q6zgWZ4cnT7YmimcHdC8PtFX7jDlg2yuzK9D7esA3azqqcXwc8kxdZd68r/s1600/DSC01294.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvBk2e8Yso76zvFyBOFj7faS3pB2Mry7esvn03kXhDjSws-YqwQPuMvJr_LBdo-DO1KjqgEO14kQTyx_kWS1Q6zgWZ4cnT7YmimcHdC8PtFX7jDlg2yuzK9D7esA3azqqcXwc8kxdZd68r/s320/DSC01294.jpg" width="320" /></a></div>
今まで本当にお世話になりました。これからもお元気でご活躍下さい。<br />
私たちも先輩方に負けぬよう努力します。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-37536706351302966962012-01-19T15:02:00.003+09:002012-04-11T00:10:31.271+09:00新年会こんにちは。<br />
Noguchiです。<br />
<br />
先日、Hibikino_musashiのメンバーで新年会をしました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxJwVGR9nevBe9DVJJRAEFagOurvWJWb82Z60DoQ3y3Bo3_FC1iLx577aLOEe8fgFV4RNGoGuig2S9dMkIImnhcdUxP08vbp0sRU9S7NhboW-7oRen1klbfzjlQa4Jhqvj5IJ6QXT9OzR/s1600/AjWemA5CMAAhaOE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxJwVGR9nevBe9DVJJRAEFagOurvWJWb82Z60DoQ3y3Bo3_FC1iLx577aLOEe8fgFV4RNGoGuig2S9dMkIImnhcdUxP08vbp0sRU9S7NhboW-7oRen1klbfzjlQa4Jhqvj5IJ6QXT9OzR/s320/AjWemA5CMAAhaOE.jpg" width="239" /></a></div>
<br />
コストコで買い物しました。<br />
低価格でこんなに・・・。<br />
さすがアメリカンという感じです。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-79003208512745201212012-01-01T10:00:00.000+09:002012-04-11T00:10:49.341+09:00新年の御挨拶あけましておめでとうございます。<br />
<br />
<br />
昨年3月11日。<br />
日本は未曽有の大災害に見舞われました。<br />
多くの方が被害にあわれ、大変な一年になりました。<br />
今年はそのような悲しい出来事がない素晴らしい一年になればと思っています。<br />
<br />
また本年度のHibikino-Musashiメンバーにおいては、<br />
今からますますの努力が必要になります。<br />
<br />
力不足である我々ですので、<br />
今後とも変わらぬ御厚誼と御指導賜りますようお願いいたします。<br />
<br />
最後になりますが、皆様の御健康と御多幸をお祈りいたします。<br />
<br />
<br />
2011年 元日<br />
Hibikino-Musashi メンバー 一同hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-25201879779820545292011-12-26T10:00:00.000+09:002014-05-13T13:15:48.473+09:00OpenCVで作るビジョンプログラム(5)お疲れさまです。Shinpukuです。<br />
<br />
白線情報を元にした自己位置推定法では、白線をいかに多く検出できるかが鍵となります。<br />
<br />
メジャーなのはスキャンライン(走査線)を使った方法です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSJVqHNGnxBfRVdwXQiJkpZYEkLJDv2HTts9moQsiNTGCFV5E-aHcmWXnRNyxAm7Dy3-zS2b9WVXRXbBjl6JA_tzMfi_2pqf6mS28WLdA4SxF5s-5R56IhU3OG63svu1sR5KX93Mx7YuZq/s1600/linedetect.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSJVqHNGnxBfRVdwXQiJkpZYEkLJDv2HTts9moQsiNTGCFV5E-aHcmWXnRNyxAm7Dy3-zS2b9WVXRXbBjl6JA_tzMfi_2pqf6mS28WLdA4SxF5s-5R56IhU3OG63svu1sR5KX93Mx7YuZq/s200/linedetect.jpg" height="199" width="200" /></a></div>
最新のプログラムでは、スキャンラインは近・中・遠距離の3段構成でそれぞれ32本、64本、128本配置されています。多段構成にすることで、手前の白線だけでなく、その奥の白線も検出することが出来ます。<br />
<br />
では、ソースコードを見ながら白線検出アルゴリズムを説明していきます。<br />
<br />
cvThresholdで白色を抽出し、前回検出したフィールド領域との論理積をとります。白色は輝度が高いのでYに閾値を設定すればすぐに抽出できます。白線以外のものを検出しないようにマスクをかけるとなお良いでしょう。<br />
<br />
スキャンラインの総数は以下の式で求められます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwMiyjt3YEG18i2NVar20mHxwQo-ZKUnMzuV6eLtt-7nfnKHiLMUu5JF43VZZFDHgol4_vkXt5oHa_SvN71pPueM7J-OjKj94n9NzYzvq2mzgVWGkdIlY84S1qo7RizRcx5EgUVCpgCl5/s1600/scanline.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwMiyjt3YEG18i2NVar20mHxwQo-ZKUnMzuV6eLtt-7nfnKHiLMUu5JF43VZZFDHgol4_vkXt5oHa_SvN71pPueM7J-OjKj94n9NzYzvq2mzgVWGkdIlY84S1qo7RizRcx5EgUVCpgCl5/s400/scanline.bmp" height="117" width="400" /></a></div>
コードにするとこんな感じです。<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">const int</span> LAYER_NUM = 3;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">const int</span> LINE_NUM = 32;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">const int</span> TOTAL_LINE_NUM = (LINE_NUM*((1<<LAYER_NUM)-1));</span><br />
<br />
i番目のスキャンラインの開始・終了点は以下の式で求められます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFpZ0kpLgv0PqJNAmXe2eMgVU3LJ7UGRCkGljM8ofmawReXhe6YQ3NPrhwfv5yTocYJN9O63pTUebZeyuM_EuRF5Ke3RyNx28TW6YHTx8TyLLoNG7FSA5JW_WfC_bMAaxCzs0G049vfSqJ/s1600/point_calc.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFpZ0kpLgv0PqJNAmXe2eMgVU3LJ7UGRCkGljM8ofmawReXhe6YQ3NPrhwfv5yTocYJN9O63pTUebZeyuM_EuRF5Ke3RyNx28TW6YHTx8TyLLoNG7FSA5JW_WfC_bMAaxCzs0G049vfSqJ/s320/point_calc.bmp" height="196" width="320" /></a></div>
求めた式を元に、画像の中心からスキャンラインを伸ばし、白線を検出します。<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">void </span>Vision::detectLines(Data &data)</span><br />
<span class="Apple-style-span" style="font-size: x-small;">{</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const int</span> minLen = 35;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const int</span> maxLen = 110;</span><br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// フィールドとの論理積</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvAnd(images.cvWhite, images.cvField, images.cvLines);</span><br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// ここから白線検出</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for</span> (<span class="Apple-style-span" style="color: blue;">int </span>i = 0; i < LAYER_NUM; i++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> // スキャンライン数</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int </span>lineNum = LINE_NUM * (1<<i);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 角度の変化</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">double </span>theta_k = (2.0 * M_PI) / lineNum;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 始点・終点</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int </span>start = (<span class="Apple-style-span" style="color: blue;">int</span>)(minLen + (i+0) * (maxLen - minLen) / LAYER_NUM);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int </span>end = (<span class="Apple-style-span" style="color: blue;">int</span>)(minLen + (i+1) * (maxLen - minLen) / LAYER_NUM);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// スキャンラインを走査</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for </span>(<span class="Apple-style-span" style="color: blue;">int </span>j = 0; j < lineNum; j++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// i層j番目のスキャンライン</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int </span>k = LINE_NUM * ((1<<i)-1) + j;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// スキャンライン角度</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">double </span>theta = -(j * theta_k + M_PI/2.0);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 初期化</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lines[k].distance = -1.0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lines[k].angle = 0.0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 始めから終わりまで</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for </span>(<span class="Apple-style-span" style="color: blue;">int </span>l = start; l < end; l++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvPoint scanline;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> scanline.x = (int)(l * cos(theta) + images.center.x);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> scanline.y = (int)(l * sin(theta) + images.center.y);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> uchar val = CV_IMAGE_ELEM(images.cvLines, uchar, scanline.y, scanline.x);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 白線が見つかった</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (val > 0) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 検出した白線を表示</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lines[k].angle = CV_IMAGE_ELEM(images.cvAngle, <span class="Apple-style-span" style="color: blue;">float</span>, scanline.y, scanline.x);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lines[k].distance = CV_IMAGE_ELEM(images.cvDistance, <span class="Apple-style-span" style="color: blue;">float</span>, scanline.y, scanline.x);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">break</span>;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;">}</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
次回はパーティクルフィルタを用いた自己位置推定アルゴリズムを詳しく解説していこうと思います。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-7307350386548626432011-12-23T10:00:00.000+09:002012-04-11T00:10:59.691+09:00進捗こんにちは、Noguchiです。<br />
<br />
今日は今(12/14現在)の活動内容を簡単に紹介します。<br />
<br />
<br />
まず、ハード班です。<br />
<br />
Shimizuはバッテリー部の改良です。<br />
以前より、バッテリーの故障が目立っていました。<br />
調べていくうちに様々な問題点が浮き彫りになってきており、現在改良中です。<br />
この件については、年明けにでもブログ1回分取って、詳細説明いたします。<br />
<br />
Tsutsumiはロボットカバーの改良とキッカー部分のリフター付けです。<br />
カバーは以前に比べて、取り外しがしやすいものへと変更いたしました。<br />
リフター部に関しては、キッカー部分に付けています。<br />
図の○の箇所になります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxF77upXSqkgwp5iY56GY1NEYEgfwERMebnkvue_2nTMs2AN_xXE-Tad2DuDms3m4XqhxoG_5rW7MhYRhPCkiNK5rP5V25DrUhODpmpraSdB6WvC2iMBefugqmgVxVgEqadQLSMMUborzi/s1600/SH3G00550001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxF77upXSqkgwp5iY56GY1NEYEgfwERMebnkvue_2nTMs2AN_xXE-Tad2DuDms3m4XqhxoG_5rW7MhYRhPCkiNK5rP5V25DrUhODpmpraSdB6WvC2iMBefugqmgVxVgEqadQLSMMUborzi/s200/SH3G00550001.jpg" width="103" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
これを付けることにより、ボールと蹴ったときに浮いたボール、俗に言うループボールを</div>
<div class="separator" style="clear: both; text-align: left;">
放つことが出来るようになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
しかしながらこれを付けたことにより、ドリブル等の別の問題点が発生すると話し合いにより、</div>
<div class="separator" style="clear: both; text-align: left;">
判断し、更なる改良が必要だと考えております。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
次にソフト班です。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
InoueはPKの改良を行いました。</div>
<div class="separator" style="clear: both; text-align: left;">
人間の行うPKとは異なり、ロボットはセンターサークルより動き始め、30秒以内に</div>
<div class="separator" style="clear: both; text-align: left;">
ボールを蹴るというのが、ロボカップサッカー中型リーグにおけるルールです。</div>
<div class="separator" style="clear: both; text-align: left;">
ルールに基づき、プログラムを新しいものへ変更いたしました。</div>
<div class="separator" style="clear: both; text-align: left;">
ゴール確率もある程度期待できるモノになっております。</div>
<div class="separator" style="clear: both; text-align: left;">
今後はインプレイ中のシュート条件の改良を行って行く予定です。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Noguchiは経路計画の再考をしております。</div>
<div class="separator" style="clear: both; text-align: left;">
現在、机上で検討しております。</div>
<div class="separator" style="clear: both; text-align: left;">
検討終了後に、プログラムへ移行する予定です。</div>
<div class="separator" style="clear: both; text-align: left;">
こちらに関しても、詳しい事が言える段階で説明いたします。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Takenakaはゴールキーパーのプログラムを新バージョンへ移植しております。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
--</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
先日の清掃の続きを行いました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
問題の倉庫でしたが、棚や道具の配置替えをし、必要用途や頻度に</div>
<div class="separator" style="clear: both; text-align: left;">
合わせて棚の整理をしただけで、きれいになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
残りは、いろいろな場所に転がっていたネジの分類分けと雑用です。</div>
<div class="separator" style="clear: both; text-align: left;">
地味な作業ではありますが、大事なことです。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
"塵も積もれば山となる"ですね。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.comtag:blogger.com,1999:blog-8589695174059204446.post-6203496461590662252011-12-19T12:00:00.000+09:002014-05-13T13:16:03.646+09:00OpenCVで作るビジョンプログラム(4)こんにちは、Shinpukuです。<br />
<br />
今回はフィールド領域の検出を行います。<br />
<br />
これはフィールド外の物体を誤って検出しないようにするためです。<br />
<br />
それではアルゴリズムを紹介していきます。<br />
<br />
まず、閾値処理により緑色を抽出します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguuqk0RWhrSHApqw9XwErgHcK6wgHkXQpMSfMW-4e4m5NjkyLELvIgjWBXGRumvqRBygjTxtNS_NUSMq317pjqFR7NtlcSKmzfkfJ7mMcFbEU07gpiuJKlokdlFEpgA1trzxPvU6-3McV0/s1600/cvCamera.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguuqk0RWhrSHApqw9XwErgHcK6wgHkXQpMSfMW-4e4m5NjkyLELvIgjWBXGRumvqRBygjTxtNS_NUSMq317pjqFR7NtlcSKmzfkfJ7mMcFbEU07gpiuJKlokdlFEpgA1trzxPvU6-3McV0/s200/cvCamera.bmp" height="200" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYErd827kWA6iGvAQGsekGNE4RhOKbXy9dvaqmnQLImXeUiFFOP5KQzz9p9vUamyHYigu6Kh_674zmvEzs43Q67m_5Oft0e6svqtFnu6CTENQ2v3S4sIAL25RWDG8KoHYVlFEtOk9V8RU/s1600/cvGreen.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZYErd827kWA6iGvAQGsekGNE4RhOKbXy9dvaqmnQLImXeUiFFOP5KQzz9p9vUamyHYigu6Kh_674zmvEzs43Q67m_5Oft0e6svqtFnu6CTENQ2v3S4sIAL25RWDG8KoHYVlFEtOk9V8RU/s200/cvGreen.bmp" height="200" width="200" /></a></div>
次にノイズ除去のため膨張・収縮を行います。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPz6w5-sCYgZf0QG1BpMFYE31jEvWKaJ4GRib35UbC5iiJGly6yWF2MHGwPJ6juXX1ZBenNO2L9Ix-71mdCT2TlvV_kn0NcP0MGzgEJqdjgi-zzGy6H7q3VfmkOjNBuvhDHDCQ94y6Rdyz/s1600/cvGreenMorph.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPz6w5-sCYgZf0QG1BpMFYE31jEvWKaJ4GRib35UbC5iiJGly6yWF2MHGwPJ6juXX1ZBenNO2L9Ix-71mdCT2TlvV_kn0NcP0MGzgEJqdjgi-zzGy6H7q3VfmkOjNBuvhDHDCQ94y6Rdyz/s200/cvGreenMorph.bmp" height="200" width="200" /></a></div>
一番大きい領域のみ残します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4wy35wazAAuYvsHrrvRJ2bCYwJwrMPwgb8ZlJdPYGpyACUtJ5V7kr4tT-vO0-Uk9I-UlYCo3KfLFaWitMRiHk8w0Yy6ekJM5gqhcrs5BTirD-EOaNMd-h3GgwtHZ1RUhg6J4Ahvt11Lve/s1600/cvFieldContour.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4wy35wazAAuYvsHrrvRJ2bCYwJwrMPwgb8ZlJdPYGpyACUtJ5V7kr4tT-vO0-Uk9I-UlYCo3KfLFaWitMRiHk8w0Yy6ekJM5gqhcrs5BTirD-EOaNMd-h3GgwtHZ1RUhg6J4Ahvt11Lve/s200/cvFieldContour.bmp" height="200" width="200" /></a></div>
cvConvexHull2関数を用いて欠けた領域の補間を行います。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGtB7_sNXasle-ECdNxuhEe-lM-34fe7ZYHp2P75qf5wg0chvu04xEkTqIA8RsQwTLoYV5vvxFNqMNLyI7DYh8fZS63iViIEn4Awh0BEb8p18Dh2h0r0LzMv5Jj-FHw53lEhO_Gi-0nCV4/s1600/cvFieldConvex.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGtB7_sNXasle-ECdNxuhEe-lM-34fe7ZYHp2P75qf5wg0chvu04xEkTqIA8RsQwTLoYV5vvxFNqMNLyI7DYh8fZS63iViIEn4Awh0BEb8p18Dh2h0r0LzMv5Jj-FHw53lEhO_Gi-0nCV4/s200/cvFieldConvex.bmp" height="200" width="200" /></a></div>
これでフィールド領域を検出することが出来ました。<br />
<br />
黄色や白色との論理積を取ることでボールや白線を検出することができます。
<br />
<br />
コードは以下の通りです。<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">void </span>Vision::detectField(Data &data)</span><br />
<span class="Apple-style-span" style="font-size: x-small;">{</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">double </span>max = 0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvSeq *contour = NULL, *maxContour = NULL;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvMemStorage *contourStorage = cvCreateMemStorage();</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;"> // 膨張・縮小</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvMorphologyEx(images.cvGreen, images.cvField, NULL, NULL, CV_MOP_CLOSE);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 中心円を描く</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const int</span> radius = MIN(IMAGE_HALF_WIDTH, IMAGE_HALF_HEIGHT) * 0.3;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvCircle(images.cvField, images.center, radius, cvScalarAll(255), -1);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 輪郭を抽出</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvFindContours(images.cvField, contourStorage, &contour, <span class="Apple-style-span" style="color: blue;">sizeof</span>(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 一番大きい領域を求める</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">while </span>(contour) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">double </span>size = fabs(cvContourArea(contour, CV_WHOLE_SEQ));</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (size > max) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> maxContour = contour;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> max = size;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> contour = contour->h_next;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 初期化</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvZero(images.cvField);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 見つかった</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (maxContour) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 凸包を求める</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvSeq *hull = cvConvexHull2(maxContour);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 凸包を構成する点</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvPoint *pts = <span class="Apple-style-span" style="color: blue;">new </span>CvPoint[hull->total];</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for</span>(<span class="Apple-style-span" style="color: blue;">int</span> i = 0; i < hull->total; ++i) pts[i] = **(CvPoint**)cvGetSeqElem(hull, i);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// フィールド領域を描画</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvFillConvexPoly(images.cvField, pts, hull->total, cvScalarAll(255));</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvAnd(images.cvField, images.cvMask, images.cvField);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// メモリ解放</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">delete</span> [] pts;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// メモリ解放</span></span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvReleaseMemStorage(&contourStorage);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">}</span><br />
次回は白線を検出してみようと思います。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-9602385342809281462011-12-14T10:47:00.000+09:002012-04-11T00:10:23.383+09:00御挨拶と年末大掃除お初に目にかかります。<br />
<div>
2012年度ソフト班・HP担当になりましたNoguchiです。</div>
<div>
今後、Hibikino-Musashiの日々の活動や技術的なお話ができればと思っております。</div>
<div>
文章能力に欠ける私でありますが、温かく見守っていただけると幸いです。</div>
<div>
<br /></div>
<div>
--</div>
<div>
<br /></div>
<div>
先代より代替わりが行われ、早2ヶ月が経つでしょうか。</div>
<div>
<br /></div>
<div>
先日、年末ということもあり、部屋の大掃除を行いました。</div>
<div>
<br /></div>
<div>
片付けの最中です ( 掃除前の画像は取り忘れました… )</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQ1Rm7cNmXLcXnC9xROgvVkoEIVWnAtfYPBpXYD87av80QXMZ_upugPNWc7vVeQOmr5pmg6B9EJTTykLyDUafl3eM_XnGfJr8e3-R2IlxEjYkiUgPfms5dUhEEK2Gi1ADxhLu3gcXjaMm/s1600/SH3G0050.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQ1Rm7cNmXLcXnC9xROgvVkoEIVWnAtfYPBpXYD87av80QXMZ_upugPNWc7vVeQOmr5pmg6B9EJTTykLyDUafl3eM_XnGfJr8e3-R2IlxEjYkiUgPfms5dUhEEK2Gi1ADxhLu3gcXjaMm/s320/SH3G0050.JPG" width="320" /></a></div>
</div>
<div>
<br /></div>
<div>
<br />
表だけでこれだけのゴミが出ました。<br />
予想していたよりは意外と少なかったですね。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB8s7GZ91MoXPYlbDv7yq8NcApDhTaSTm5Q41hgRCsTC0E3DYXJFhBDeIjXbThxyq5MmTnqThfxua9GR8WUrlkNFACe2FZldtYwURfHhIeHTn28rMXSzE0RDxiMG3UX4JHTO8ZrYpV8jhX/s1600/SH3G0051.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB8s7GZ91MoXPYlbDv7yq8NcApDhTaSTm5Q41hgRCsTC0E3DYXJFhBDeIjXbThxyq5MmTnqThfxua9GR8WUrlkNFACe2FZldtYwURfHhIeHTn28rMXSzE0RDxiMG3UX4JHTO8ZrYpV8jhX/s1600/SH3G0051.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB8s7GZ91MoXPYlbDv7yq8NcApDhTaSTm5Q41hgRCsTC0E3DYXJFhBDeIjXbThxyq5MmTnqThfxua9GR8WUrlkNFACe2FZldtYwURfHhIeHTn28rMXSzE0RDxiMG3UX4JHTO8ZrYpV8jhX/s1600/SH3G0051.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB8s7GZ91MoXPYlbDv7yq8NcApDhTaSTm5Q41hgRCsTC0E3DYXJFhBDeIjXbThxyq5MmTnqThfxua9GR8WUrlkNFACe2FZldtYwURfHhIeHTn28rMXSzE0RDxiMG3UX4JHTO8ZrYpV8jhX/s1600/SH3G0051.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB8s7GZ91MoXPYlbDv7yq8NcApDhTaSTm5Q41hgRCsTC0E3DYXJFhBDeIjXbThxyq5MmTnqThfxua9GR8WUrlkNFACe2FZldtYwURfHhIeHTn28rMXSzE0RDxiMG3UX4JHTO8ZrYpV8jhX/s320/SH3G0051.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
問題だった工具類の整理も我らがハード班Shimizuのおかげでこんなにきれいになりました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUg_R7y9VzGmy3FljNsYTDM_uYxdCrVvMIYPimNVTLDDqpNEQJyp0gw0g9ENtBvULeZQTx0sBEmwiszeUBAN6QwrtDV7-gEVdLsStm4iQgjf8YEEIxTPLr3QveHDbMvdzYftkWyAUDUU7_/s1600/SH3G0053.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUg_R7y9VzGmy3FljNsYTDM_uYxdCrVvMIYPimNVTLDDqpNEQJyp0gw0g9ENtBvULeZQTx0sBEmwiszeUBAN6QwrtDV7-gEVdLsStm4iQgjf8YEEIxTPLr3QveHDbMvdzYftkWyAUDUU7_/s320/SH3G0053.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
数時間かけ、<span class="Apple-style-span" style="font-size: large; font-weight: bold;">表</span><span class="Apple-style-span">はきれいになりました。<span class="Apple-style-span" style="color: red; font-size: large;"><b>表</b></span>は…。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span">はい、まだ倉庫には手を付けていません。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span">たぶん表とは比べ物にならない大物が待ち構えていると思います。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span class="Apple-style-span">はぁ~、まだまだ先が思いやられます。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.comtag:blogger.com,1999:blog-8589695174059204446.post-57190367335375118072011-12-12T10:00:00.000+09:002014-05-13T13:16:14.467+09:00OpenCVで作るビジョンプログラム(3)こんにちは、Shinpukuです。<br />
<br />
今回は色抽出についてお話しします。<br />
<br />
カメラから得た画像の中には、ボールや白線といった私たちが欲しい情報が含まれています。<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhswWu0fHPeRmVIZzeTRDolj20GR7jabVGUJ-hz9TbatB7MgNP5AbNpqgm84lrEY0SU5cbIviDfKCKEuonm5gvTxRIHfLZHcR7Un6Xmec99bHQbyyucTFg7jLl-GguyU37si5o7iet4Z89A/s1600/cam20111003145926.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhswWu0fHPeRmVIZzeTRDolj20GR7jabVGUJ-hz9TbatB7MgNP5AbNpqgm84lrEY0SU5cbIviDfKCKEuonm5gvTxRIHfLZHcR7Un6Xmec99bHQbyyucTFg7jLl-GguyU37si5o7iet4Z89A/s1600/cam20111003145926.bmp" /></a></div>
具体的には黄色(オレンジ)、緑、白、黒がそれに当たります。<br />
<br />
色抽出の前にカメラ画像の色空間をRGBからYUV(YCbCr)に変換します。<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// RGB->YUV色変換</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvCvtColor(images.cvCamera, images.cvCameraYUV, CV_RGB2Y</span><span class="Apple-style-span" style="font-size: x-small;">Cr</span><span class="Apple-style-span" style="font-size: x-small;">Cb);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvSplit(images.cvCameraYUV, images.cvY, images.cvU, images.cvV, NULL);</span><br />
<br />
YUVは明るさの変化に強く、ロボカップで用いられている色を簡単に表現することができます。<br />
<span class="Apple-style-span" style="font-size: xx-small;">カメラからYUV422で出力されるのですがRGB->HSV変換の名残や僕の勉強不足のせいでこうなっています。</span><br />
<br />
YUVの各チャンネルで閾値を設定して画像を2値化します。<br />
<br />
OpenCVで代表的なものはcvThreshold、cvInRangeS、cvLUTですが、私たちのプログラムでは速度を優先してcvThresholdを用いています。<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 色抽出</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvY, images.cvYellow, thresholds.maxYellowY, 0, CV_THRESH_TOZERO_INV);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvYellow, images.cvYellow, thresholds.minYellowY, 255, CV_THRESH_BINARY);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvU, images.cvBuf, thresholds.maxYellowU, 0, CV_THRESH_TOZERO_INV);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvBuf, images.cvBuf, thresholds.minYellowU, 255, CV_THRESH_BINARY);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvAnd(images.cvYellow, images.cvBuf, images.cvYellow);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvV, images.cvBuf, thresholds.maxYellowV, 0, CV_THRESH_TOZERO_INV);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvThreshold(images.cvBuf, images.cvBuf, thresholds.minYellowV, 255, CV_THRESH_BINARY);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvAnd(images.cvYellow, images.cvBuf, images.cvYellow);</span><br />
<br />
cvLUTは3ch→1chへの変換が出来ず、なぜかcvThresholdよりも遅いため使っていません。<br />
<br />
cvInRangeSを使うと低速ですが、綺麗なコードになります。<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 色抽出</span><br />
<span class="Apple-style-span" style="font-size: x-small;">CvScalar lower = cvScalar(thresholds.minYellowY, thresholds.minYellowU, thresholds.minYellowV);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">CvScalar upper = cvScalar(thresholds.maxYellowY, thresholds.maxYellowU, thresholds.maxYellowV);</span><br />
<span class="Apple-style-span" style="font-size: x-small;">cvInRangeS(images.cvCameraYUV, lower, upper, images.cvYellow);</span><br />
<br />
色抽出の結果は以下のようになります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQmewm_m2Eo73thGGdl6pPTtY_KBQi0BixAJd2fpNZ-xRM5Ga9E3gv_EL3mMfdSsI4MqU4CthPyBD1BpwMxf3SBozZ6PBIJkSU-o2XXqYyDu8alzvqbxFD0B1O5SuHB5djW9U1OhQ8n6J/s1600/extract_yellow.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQmewm_m2Eo73thGGdl6pPTtY_KBQi0BixAJd2fpNZ-xRM5Ga9E3gv_EL3mMfdSsI4MqU4CthPyBD1BpwMxf3SBozZ6PBIJkSU-o2XXqYyDu8alzvqbxFD0B1O5SuHB5djW9U1OhQ8n6J/s320/extract_yellow.bmp" height="158" width="320" /></a></div>
hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-32049153226733390812011-12-05T10:00:00.000+09:002014-05-13T13:15:34.529+09:00OpenCVで作るビジョンプログラム(2)お疲れさまです。Shinpukuです。<br />
<br />
本題に入る前に、私たちのプログラムに用いられている座標系についてお話ししようと思います。<br />
<br />
ロボットの基本的な座標系は、フィールドの中心を原点とした右手座標系です。プログラム中では「絶対座標系」と呼ばれます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFAZ0w6LYeOoLWT6pB8mvWYJ5HK6boq4gB9oZ-TKTXpMV9KKrMqCw5cQKzwwmdgRdEi9pVKq8DAcEOmmAdTp3GEWktitH8x1NcWUJn8wxU72rYrmQQTiahyphenhyphen9BSw8dY_IlWy5j0raJ9UjIq/s1600/absolute.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFAZ0w6LYeOoLWT6pB8mvWYJ5HK6boq4gB9oZ-TKTXpMV9KKrMqCw5cQKzwwmdgRdEi9pVKq8DAcEOmmAdTp3GEWktitH8x1NcWUJn8wxU72rYrmQQTiahyphenhyphen9BSw8dY_IlWy5j0raJ9UjIq/s320/absolute.jpg" height="320" width="227" /></a> </div>
これとは別に、ロボットを原点とした座標系は「相対座標系」と呼ばれます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7sDYq9McXu7OechWcYxOvzNu9cwaUB-jSzPPNTvtvEyQKiOKhJD1xj9lISmbyb963DHKyrf28DFRJPJUjHUSV7Ycgov3XKGONymQWvKDV9PJECFB_M1ae6Kuv1BbDcsxkki4-rLMm89I/s1600/relative.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7sDYq9McXu7OechWcYxOvzNu9cwaUB-jSzPPNTvtvEyQKiOKhJD1xj9lISmbyb963DHKyrf28DFRJPJUjHUSV7Ycgov3XKGONymQWvKDV9PJECFB_M1ae6Kuv1BbDcsxkki4-rLMm89I/s320/relative.jpg" height="188" width="320" /></a></div>
カメラから見える物体の位置は相対座標系となります。画像中の座標から実際の座標に変換するために、私たちは「距離・角度マップ」というものを作っています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ_VM8p_lwqGiGmaFuxk4UYgeeGfrx2JcZosC4M9TMro8uHsYTJAkV5PfblDuUEm8Q57d5e6VhyMml23kA4OKuNjY6RjFOeqtc6JojFW98kwGEcHxZMZLh5RWwjkoeSW2fp5PEYLSnlvlN/s1600/dist.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ_VM8p_lwqGiGmaFuxk4UYgeeGfrx2JcZosC4M9TMro8uHsYTJAkV5PfblDuUEm8Q57d5e6VhyMml23kA4OKuNjY6RjFOeqtc6JojFW98kwGEcHxZMZLh5RWwjkoeSW2fp5PEYLSnlvlN/s200/dist.bmp" height="200" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjXDd1tWRXKD-Aa1EHq-AMYzntSfn4XSbiaW9Y6oAIE84WXvakE5jpWUHmxpRwzP7xXG64yJZAFwUKkVMTyqcvX16kXClBgwjG61JRGFfiQsHZijNAAcnUZUg6C196N6HNfgrow-DG9kW/s1600/angle.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjXDd1tWRXKD-Aa1EHq-AMYzntSfn4XSbiaW9Y6oAIE84WXvakE5jpWUHmxpRwzP7xXG64yJZAFwUKkVMTyqcvX16kXClBgwjG61JRGFfiQsHZijNAAcnUZUg6C196N6HNfgrow-DG9kW/s200/angle.bmp" height="200" width="180" /></a></div>
左の画像は距離、右の画像は角度を表しています。<br />
<br />
距離はExcel等を使って、ピクセル距離から実距離に変換する式を求めます。<br />
角度は簡単で、反時計回りを正として角度(+π~-π)を指定してきます。<br />
<br />
プログラム中では、距離・角度マップはOpenCVで扱いやすいようにIplImageとして保存します。例えば、距離マップは32bitの1チャンネル画像として生成します。<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">#define</span> </span><span class="Apple-style-span" style="font-size: x-small;">IMAGE_HEIGHT 240</span><br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">#define</span> </span><span class="Apple-style-span" style="font-size: x-small;">IMAGE_WIDTH 240</span></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;">CvSize size = cvSize(IMAGE_WIDTH, IMAGE_HEIGHT);</span></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;">IplImage *cvDistance</span><span class="Apple-style-span" style="font-size: x-small;"> = cvCreateImage(size, IPL_DEPTH_32F, 1);</span></div>
<br />
マップの保存は、<br />
<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// ピクセル距離と実距離(サンプル)</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">double </span>pixel[] = {0, 30, 37, 43, 48, 53, 57, 61, 76, 85, 91, 96, 99, 103, 105, 106};</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">double </span>distance[] = {0.0, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0};</span><br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 5次多項式近似で求めた係数</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">double </span>x[] = {-0.000984, 0.058100, -0.003357, 0.000089, -0.000001, 0.000000};</span><br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 画像中心</span><br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;">CvPoint center = cvPoint(</span><span class="Apple-style-span" style="font-size: x-small;">cvDistance->width/2, </span><span class="Apple-style-span" style="font-size: x-small;">cvDistance->height/2</span><span class="Apple-style-span" style="font-size: x-small;">);</span><br />
<div>
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">for</span> (<span class="Apple-style-span" style="color: blue;">int</span> i = 0; i; cvDistance->height; i++) {</span></div>
</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for</span> (<span class="Apple-style-span" style="color: blue;">int</span> j = 0; j; cvDistance->width; j++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">画像中心から(i,j)までの距離</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int r</span> = hypot(i - </span><span class="Apple-style-span" style="font-size: x-small;">center.x, j - center.y</span><span class="Apple-style-span" style="font-size: x-small;">);</span><br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;"> // pixel_distanceを</span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">近似関数に入力したときの距離</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">double </span>dist = </span><span class="Apple-style-span" style="font-size: x-small;">x[5]*pow5(r) + x[4]*pow4(r) + x[3]*pow3(r) + x[2]*pow2(r) + x[1]*r + x[0];</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: #38761d;">// 書き出し</span></span><br />
<div>
<span class="Apple-style-span" style="font-size: x-small;"> fwrite((<span class="Apple-style-span" style="color: blue;">float</span>*)&dist</span><span class="Apple-style-span" style="font-size: x-small;">, <span class="Apple-style-span" style="color: blue;">sizeof</span>(<span class="Apple-style-span" style="color: blue;">float</span>), 1, file);</span></div>
</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;"> }</span></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: x-small;">}</span></div>
<br />
このように、バイナリでもASCIIでもいいので何かのファイルに保存します。<br />
こうすれば毎回計算しなくて済みますね。<br />
<br />
マップを読み込むときは、<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">for</span> (<span class="Apple-style-span" style="color: blue;">int</span> i = 0; i; cvDistance->height; i++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">for</span> (<span class="Apple-style-span" style="color: blue;">int</span> j = 0; j; cvDistance->width; j++) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> fread((<span class="Apple-style-span" style="color: blue;">float</span>*)cvDistance->imageData + i * cvDistance->width + j, <span class="Apple-style-span" style="color: blue;">sizeof</span>(<span class="Apple-style-span" style="color: blue;">float</span>), 1, file);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;">}</span><br />
<br />
IplImage構造体をマップのデータで埋めます。<br />
<br />
結局何がしたいのかというと、画像中で見えている物体をこのように、<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVPpK3O6Ot8TYYcBl33CFc4F3Sb_Zvo_J2V-Y-0yVO7rdWRVEM67HaHgsBJCf-UvOhti1ikNXupoNKnIh4ciLte1fJf8V0yxZ6N91bOaLoaftAyE9CN6jqt9XhBUQKRnd6-eu6R9eIgvo0/s1600/geom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVPpK3O6Ot8TYYcBl33CFc4F3Sb_Zvo_J2V-Y-0yVO7rdWRVEM67HaHgsBJCf-UvOhti1ikNXupoNKnIh4ciLte1fJf8V0yxZ6N91bOaLoaftAyE9CN6jqt9XhBUQKRnd6-eu6R9eIgvo0/s320/geom.jpg" height="317" width="320" /></a></div>
対応する距離と角度を一発でバシッと決めてやりたいのです。<br />
<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 距離・角度</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">double </span>distance = CV_IMAGE_ELEM(cvDistance, <span class="Apple-style-span" style="color: blue;">float</span>, img_y, img_x);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">double </span>angle = CV_IMAGE_ELEM(cvAngle, <span class="Apple-style-span" style="color: blue;">float</span>, img_y, img_x);</span><br />
<br />
CV_IMAGE_ELEMマクロを使えばこんなに簡単!<br />
<br />
前回と同様、ちょっとした工夫ですが、かなり役に立ちます。<br />
<br />
最後に、自己位置情報を用いると、<br />
<br />
<span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 絶対座標系に変換</span><br />
<span class="Apple-style-span" style="font-size: x-small;">pos.x = data.position.x + distance * cos(angle + data.position.angle);</span><br />
<div>
<div>
<span class="Apple-style-span" style="font-size: x-small;">pos.y = data.position.y + distance * sin(angle + data.position.angle);</span></div>
</div>
<div>
<br />
このように相対座標系から絶対座標系へ変換できます。<br />
<br /></div>
次回は色抽出をしてみましょう。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-1365458752724157092011-12-01T10:00:00.000+09:002014-05-13T13:16:23.795+09:00OpenCVで作るビジョンプログラム(1)お久しぶりです。<br />
<br />
Hibikino-MusashiメインプログラマーShinpukuです。<br />
<br />
今年はイランオープンにジャパンオープン、世界大会、秋季大会といろいろあって<strike>大変な</strike>とても充実した一年でした。<br />
<br />
中型リーグの交流会もあり、ロボットのプログラムについて熱心な意見交換が行われていました。このブログを見てプログラムの参考にしているという話も聞き、他のチームの役に立ててもらって僕も嬉しい限りです。<br />
<br />
さて、今回は質問の多かったビジョンについてお話ししようと思います。<br />
<br />
僕たちのロボットには全方位カメラが搭載されてあり、これから画像を取得します。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5qr1994tqHwm2vaNMM7vWYzb1KKmVUVmn8jPREb99oWwziIPoRgg5SNKlWmase_0-D5EDVirq6ry00kDzNGolZY1SmOEaKVJ9dd3y18x_IuP7NdGZpmMLTpmtiOmPAucKj08H-NCoMPi/s1600/2009110201.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5qr1994tqHwm2vaNMM7vWYzb1KKmVUVmn8jPREb99oWwziIPoRgg5SNKlWmase_0-D5EDVirq6ry00kDzNGolZY1SmOEaKVJ9dd3y18x_IuP7NdGZpmMLTpmtiOmPAucKj08H-NCoMPi/s200/2009110201.png" height="200" width="150" /></a></div>
<br />
カメラはSONY製のDFW-VL500です。ドライバは標準のものではなく、CMUのドライバを使っています。<br />
<br />
取得したカメラ画像をビジョンで扱いやすいように加工します。<br />
・BGR→RGB変換<br />
・反転(鏡に映している為)<br />
・カメラの取り付け角度に応じて回転<br />
・240×240にトリミング<br />
<br />
コードはこのようになります。<br />
<br />
<span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="color: blue;">int</span> Camera::getImage(IplImage *image)</span><br />
<span class="Apple-style-span" style="font-size: x-small;">{</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const</span> <span class="Apple-style-span" style="color: blue;">int</span> img_w = image->width, img_h = image->height; </span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const</span> <span class="Apple-style-span" style="color: blue;">int</span> cam_w = CAMERA_WIDTH, cam_h = CAMERA_HEIGHT;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">const</span> <span class="Apple-style-span" style="color: blue;">int</span> tmp_w = MAX(cam_w, cam_h), tmp_h = tmp_w;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 画像取得</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">int</span> camError = theCamera.AcquireImageEx(FALSE, NULL);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="background-color: white; color: #38761d; font-size: x-small;">// カメラの接続チェック</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (camError != CAM_SUCCESS) {</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (camError == CAM_ERROR_NOT_INITIALIZED) printf(<span class="Apple-style-span" style="color: #b45f06;">"Camera is not initialized.\n"</span>);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> printf(<span class="Apple-style-span" style="color: #b45f06;">"Some camera trouble.\n"</span>);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">return</span> 0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> }</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 作業用イメージ</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> IplImage *rawCamera = cvCreateImage(cvSize(cam_w, cam_h), IPL_DEPTH_8U, 3);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> IplImage *tmpCamera = cvCreateImage(cvSize(tmp_w, tmp_h), IPL_DEPTH_8U, 3);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 画像取得</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> theCamera.getRGB((uchar*)rawCamera->imageData, rawCamera->imageSize);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvConvertImage(rawCamera, rawCamera, CV_CVTIMG_SWAP_RB);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// コピー</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvZero(tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvSetImageROI(tmpCamera, cvRect((tmp_w-cam_w)/2, (tmp_h-cam_h)/2, cam_w, cam_h));</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvCopy(rawCamera, tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvResetImageROI(tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvReleaseImage(&rawCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 反転(鏡に映しているため)</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvFlip(tmpCamera, tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// 回転</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> IplImage *clnCamera = cvCloneImage(tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvMat *rotation = cvCreateMat(2, 3, CV_32FC1);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvPoint2D32f center = cvPoint2D32f(tmp_w/2, tmp_h/2);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cv2DRotationMatrix(center, offset.angle, 1.0, rotation);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvWarpAffine(clnCamera, tmpCamera, rotation);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvReleaseMat(&rotation);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvReleaseImage(&clnCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: #38761d; font-size: x-small;">// ROIで切り抜き</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> CvRect ROI = cvRect((tmp_w-img_w)/2 + offset.x, (tmp_h-img_h)/2 + offset.y, img_w, img_h);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (ROI.x < 0) ROI.x = 0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (ROI.y < 0) ROI.y = 0;</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (ROI.x > (tmp_w - img_w)) ROI.x = tmp_w - img_w; </span><br />
<span class="Apple-style-span" style="font-size: x-small;"> <span class="Apple-style-span" style="color: blue;">if</span> (ROI.y > (tmp_h - img_h)) ROI.y = tmp_h - img_h; </span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvSetImageROI(tmpCamera, ROI);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvCopy(tmpCamera, image);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> cvReleaseImage(&tmpCamera);</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> </span><span class="Apple-style-span" style="color: blue; font-size: x-small;">return</span><span class="Apple-style-span" style="font-size: x-small;"> 1;</span><br />
<span class="Apple-style-span" style="font-size: x-small;">}</span><br />
<br />
最終的に出力される画像はこのようになります。画像の上下左右はロボットの前後左右と対応しています。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO-wLxSipH3YLv5N8jEVdeeieyYyPz3z-DZNaly15KDxTJ982K1u3ZiEWcTjMMmpVbrXwYd_18z9vyl0xdKzSYggJ0enAVzJPqCprFSB2TCl5GKB1VYN-O8HA13YdKGCjeCe0_B71B6ftW/s1600/cam.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO-wLxSipH3YLv5N8jEVdeeieyYyPz3z-DZNaly15KDxTJ982K1u3ZiEWcTjMMmpVbrXwYd_18z9vyl0xdKzSYggJ0enAVzJPqCprFSB2TCl5GKB1VYN-O8HA13YdKGCjeCe0_B71B6ftW/s1600/cam.bmp" /></a></div>
面倒なことをしていますが、こうすることでこの後の処理がとてもわかりやすくなります。<br />
<br />
ビジョンではいろいろな処理をしていますが、今回はこの辺で。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-79849028076222485592011-09-25T18:00:00.000+09:002011-09-26T19:19:03.590+09:00イオン若松デモ<br />
今年もイオン若松にてロボットのデモを行いました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsomEzTna-7GRlam13zO6MhRqOHNt9CgDsyOqo-lmngqw6QRJhtWDfxFLR0w3nuqcpbjAt0dp6SG9dSDse1bRHoumZrB8FIL_lwHTVKZbNevWpk741vedGq8n9aK_Y1Av__UhN9Oij1z7p/s1600/DSC01111.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsomEzTna-7GRlam13zO6MhRqOHNt9CgDsyOqo-lmngqw6QRJhtWDfxFLR0w3nuqcpbjAt0dp6SG9dSDse1bRHoumZrB8FIL_lwHTVKZbNevWpk741vedGq8n9aK_Y1Av__UhN9Oij1z7p/s320/DSC01111.JPG" width="320" /></a></div>
ロボットとのPK対決は毎回大人気です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0o1K9ekXs4ouBee7xizuE9vKLSMGUr61yxgxt_rmyNVt-B5Wa5-ZeL5V2Jy2f8QxUW6BLF-btvvAlAGOsd8eUqB9HHHldRh0hjSmR2ftu2NiK7Xu4Kge5uiFgkiWKKWEmMsXOTT5vgqVh/s1600/DSC01112.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0o1K9ekXs4ouBee7xizuE9vKLSMGUr61yxgxt_rmyNVt-B5Wa5-ZeL5V2Jy2f8QxUW6BLF-btvvAlAGOsd8eUqB9HHHldRh0hjSmR2ftu2NiK7Xu4Kge5uiFgkiWKKWEmMsXOTT5vgqVh/s320/DSC01112.JPG" width="320" /></a></div>
11月には「ひびきの祭」が開催されます。<br />
<br />
皆様のご来場を心待ちにしています。<br />
hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com1tag:blogger.com,1999:blog-8589695174059204446.post-60915103894218715182011-09-14T22:00:00.000+09:002011-09-18T12:24:19.507+09:00ロボカップ秋季大会2011<br />
9月14日(水)に福井大学文京キャンパスにおいてロボカップ中型リーグ秋季競技会2011が開催されました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtJgNdmj_vRxuFDjoEaGnyZCCHkJ60Opf04AHEuDHt6Xrl2sve8wqzgRSMGPt8fwwnSMBzuZ7FR4LWhbezvCdhFSw7Zi8bKkXnegcmfMh5nrFak6PdKYRvIv_DHy2xlPBllg3D2hxVQqW3/s1600/400649922.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtJgNdmj_vRxuFDjoEaGnyZCCHkJ60Opf04AHEuDHt6Xrl2sve8wqzgRSMGPt8fwwnSMBzuZ7FR4LWhbezvCdhFSw7Zi8bKkXnegcmfMh5nrFak6PdKYRvIv_DHy2xlPBllg3D2hxVQqW3/s320/400649922.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
結果は堂々の優勝、世界レベルのチームの実力を見せつける形となりました。<br />
<br />
もはや恒例となりつつあるロボカップ懇親会も開かれました。他大学のチームとの親睦を深めるだけでなく、技術的な交流もできました。<br />
<br />
皆様のご声援のおかげもあり、このような結果を残すことができました。<br />
<br />
メンバー 一同感謝しております。<br />
<br />
今後とも変わらぬご指導ご鞭撻の程よろしくお願い申し上げます。hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0tag:blogger.com,1999:blog-8589695174059204446.post-62731336526633985232011-08-11T20:00:00.000+09:002011-09-17T22:23:43.979+09:00OB訪問今日はチームのOBである米村さんがチーム訪問に来て下さいました。<br />
<br />
米村さんは2007年アトランタのテクニカルチャレンジ部門で見事チームを優勝に導いた方です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiws80yPAITVneXeTEaB-BSd5AFKNw2ZD45Sd5fgPEpFWE-npwR-baKMIzVEaN-3D027uSWNGVlABSXViYshyHMKpr1RXleNLF_wZckInuBrHfYtAG0zd82Szb88lbV9SXn1AbcXJcUFFBo/s1600/R1069518.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiws80yPAITVneXeTEaB-BSd5AFKNw2ZD45Sd5fgPEpFWE-npwR-baKMIzVEaN-3D027uSWNGVlABSXViYshyHMKpr1RXleNLF_wZckInuBrHfYtAG0zd82Szb88lbV9SXn1AbcXJcUFFBo/s320/R1069518.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
久々にPlayerのプログラムに触れる米村さん。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
ゴーリーと戯れる米村さん。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7H-PrPgLjptOrV-iBlA1m06cMKl5zJbaP9IPoAFMztjJ7FfpM2Pxiwne6fO8bGckMIdgQQDIYZv9aScy7XMH9IHwk3Vg_QH3lVuzsArhnLNmSTedJISfZact2iVmFWaER6BpiK2atfsBF/s1600/R1069514.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7H-PrPgLjptOrV-iBlA1m06cMKl5zJbaP9IPoAFMztjJ7FfpM2Pxiwne6fO8bGckMIdgQQDIYZv9aScy7XMH9IHwk3Vg_QH3lVuzsArhnLNmSTedJISfZact2iVmFWaER6BpiK2atfsBF/s320/R1069514.JPG" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
当時はアームは可動式ではなかったので、ボールに対して素早く反応するゴーリーアームにとても驚かれていました。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg22kaRFXwDUj_9jN1i5_wTZxiNOmmwIfNv4KJ_8fxnNDhEuept7LFPqjNwZ8GRuflf04D6mQaL0-kUNNy_7HIPQ0uV9lslTfV8e7vr8hOt1meooOzM9NxSHPwKnM-ox9KhqcyarNlC7tko/s1600/R1069557.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg22kaRFXwDUj_9jN1i5_wTZxiNOmmwIfNv4KJ_8fxnNDhEuept7LFPqjNwZ8GRuflf04D6mQaL0-kUNNy_7HIPQ0uV9lslTfV8e7vr8hOt1meooOzM9NxSHPwKnM-ox9KhqcyarNlC7tko/s320/R1069557.JPG" width="240" /></a></div>
当時のメンバーでもある北住さんとも久しぶりに再会され、とても楽しい時間を過ごされたようでした。<br />
<br />
また来て下さいね!hibikino-musashihttp://www.blogger.com/profile/03611484931815357797noreply@blogger.com0