现在的位置: 首页 > 专题 > 机器人 > Robotics Studio > 设计中心 > 文档 > 专题 > 机器人 > 正文

Robotics Studio学习教程:第十九天——相扑机器人

2014年05月06日 Robotics Studio, 文档, 机器人 ⁄ 转载:原文链接 ⁄ 共 1664字 ⁄ 字号 暂无评论 ⁄ 阅读 1,199 次
Robotics Studio学习教程

Robotics Studio学习教程

继之前分享的一篇《Robotics Studio学习教程:第十八天——通过 Web Interface 控制DSS》, 我们将继续分享下一篇《Robotics Studio学习教程:第十九天——相扑机器人》,让我继续开始我们学习Visual Programming Language,以及使用Robotics Studio学习开发机器人应用的道路吧。

 

[Robotics Studio] Sumo - 相扑机器人 -- Day 19

继续鬼混 -- 话说 RDS 安装完毕以后, 有个不错玩的范例 - Sumo (相扑机器人) , 就在安装目录的Samples\Simulation\Competitions\SimulatedSumoServices 下面.

你可以双点击该目录的 SumoCompetition.sln , 就会开启 VS 2008 (or VS 2008 express), 然后将SimulatedSumoReferee 设为预设执行的项目, 你就可以开始执行了,  你应该会看到 Simulated Sumo Referee 的对话框:

clip_image002

下拉 Select a Sumo Player, 点选 "http://schemas.tempuri.org/2007/02/sumoplayer.html" (那个 mysumo1.html 是我自己写的, 等下会介绍如何生出来...), 就会看到 Player 1 生出来了, 再做一次, 就会看到 Player 2 , 还有一个 Start the Match! 按钮:

clip_image004

当然, 此时你的 VSE 画面上就生出两只相扑机器人准备对战了:

clip_image006

按下 Start the Match!, 你的两只机器人就会对打...

clip_image008

然后有三回合, 三个回合以后, 就判出胜负啦:

clip_image010

好玩吧!

那我们要如何自己写一个虚拟相扑机器人的程序代码呢?

首先启动 DSS Command Prompt (在开始程序集, 安装的 MRDS 下面)

clip_image012

然后在命令窗口当中输入 MakeSumoPlayer /name:"mysumo" /force:true

(name 后面的名字你可以自己定, 我用 mysumo 当范例, 如果你自己定义, 记得下面的范例自己替换一下名称就可以)

之后就会输出像这样的:

*   The new sumo player project is in: C:\Users\lane\Microsoft Robotics Dev Studio 2008 Express\samples\simulation\competitions\simulatedsumoservices\mysumo

*   Total time: 0.4 seconds.

然后你可以用新增现有项目, 把刚刚生出来的项目加入原本的 SumoCompetition 方案当中, 然后建置它:

clip_image014

什么?! 三项错误...这不是你的 bug, 也不是我的 bug, 这是微软附上这个范例的 bug...

但是很简单就可以修正 (只是因为 DSSCategory 设错而已):

DSS Category 必须是 URI , 所以你必须到 mysumo.cs 当中修改 DSSCategory:

clip_image016

把 "SumoPlayer" 改为 "http://schemas.microsoft.com/robotics/2007/02/sumo/categories/sumoplayer.html"

就可以解决.

建置完成后, 你需要把 mysumo 改为预设项目, 执行它, 目的是让他去跟系统注册一下 (等到最后会停在 Service Started ..., 之后就可以中断了), 这样待会 SimulatedSumoReferee 才会找到它, 然后再切回 SimulatedSumoReferee 执行.

这次下拉选单你就会看到 mysumo 啰.

clip_image018

你可以拉一个 mysumo 跟 系统原本的 sumoplayer 对战...

(现在当然是一样的 code 拉...)

之后我们再来更改它...

 

让我们继续一下章教程:

《Robotics Studio学习教程:第二十天——开始动手写相扑机器人》

fgx

分享到:

Wopus问答

×