想自己设计机器人 ?
用 Yobotics Simulation Construction Set吧
相信不少人都跟我一样 , 小时侯就喜欢摆弄变形金刚,对机器人更是充满了好奇,总希望自己也能做一个出来。有很多次我都付诸了行动,先设计,然后买材料,动手做,然而毕竟业余,所谓的设计也不过是详细一些的设想,结果往往费钱费时费力也没能做出几件成功的作品,积极性免不了受到较大打击,再说现在学习工作都忙,很难抽出那么多时间与金钱亲自动手尝试一个新奇的设想,那就只有放弃了吗?当然不是,在我们的字典里没有"放弃",真的做不了我们就做"假"的,工具就是今天的主角-- Yobotics Simulation Construction Set。
Yobotics Simulation Construction Set是一套能让你简单快捷的对机械设备、仿生机械系统及机器人进行仿真的软件包,它具有以下特点:
1、能精确快捷的对刚性系统进行物理仿真;
2、能获取所有联接(Joint)的位置、速率及扭矩;
3、能自定义地形模型;
4、实时的显示变量变化图表;
5、重放仿真过程;
6、保存仿真数据;
7、3D可视化仿真,并能导入3DS及 vrml 文件;
8、运行仿真时也能改变系统参数;
9、能将仿真过程输出为JPG图片文件或QuickTime影像文件;
更吸引人的是它是 100%纯Java编写,使我们能很方便的利用API扩展功能并在不同系统中运行。
好了 ,说了那么多废话,让我们开始 Yobotics 的奇妙旅程吧。
首先到http://yobotics.com/simulation/simulation.htm下载软件包(价格不菲),不过它提供试用,填完一份表格后会收到一条注册码,使用该 注册码便能 无功能限制的免费使用一个月左右。
安装过程跟其它软件差不多 ,这就不多说了,安装完成后运行安装目录下的 setup.bat 文件使 JBuilder 能使用 Yobotics 开发包, Yobotics 默认用户使用的是JBuilder8且安装在C:JBuilder8文件夹下,我用的也是JBuilder8,不过是安装在D:JBuilder8目录下的,因此需要编辑 setup.bat 文件,将默认的C:JBuilder8改为 JBuilder 实际安装目录,比如D:JBuilder8,然后再执行 setup.bat ,如果运用有问题,则可以直接用记事本打开 setup.bat ,根据里面的命令手动复制各个文件。
上面的步骤都完成了吗 ?是的话就让我们开始体验 Yobotics 的乐趣吧!
一、运行一个仿真
在自己动手设计机器人之前 ,先让我们欣赏欣赏别人的作品吧,点击"开始——〉程序——〉 Yobotics ——〉 SpringFlamingoDemo 。可别小看它,这可是由鼎鼎大名的MIT(麻省理工学院)Leg laboratory开发的双足步行机器人的原型。
先熟悉熟悉程序的界面 ,最上端是菜单条,下面是仿真的三维可视窗口,再往下就是功能按钮栏以及数据面板。如图一所示:

图一 |
点击菜单中 ” Run ” ——〉 ” Simulate ” 或功能按钮栏中
按钮来运行彷真。可以看到视窗中的机器人开始迈开脚步走了起来 ,同时数据面板中的变量及旁边的图表也在不断更新。
运行一段 时间后点击菜单栏中”Run” ——〉”Stop”或功能按钮栏中
按钮,仿真过程将会停止。但仿真所得数据已经记录下来了,这时点击菜单栏中”Run”——〉”Play”或
按钮就可以重放刚刚的仿真过程,这对于机器速度不够的朋友可很有用哦,直接仿真时计算量很大,有时图像会出现严重掉帧现象 ,利用重放功能就能直接读取仿真结果从而流畅观看仿真过程了,这对于直观分析很有效哦。
是不是觉得就从一个角度看机器人很不自在?没关系,先确保”Track”跟”Dolly”复选框处于未被选中状态,Yobotics提供以下几种改变视角的方法:
1、鼠标直接操作。按住鼠标左键不放拖动鼠标就能旋转坐标系;按住鼠标右键拖动则能平移坐标系;要放大或缩小,则按住鼠标中键上下拖动鼠标;按住shift键,鼠标左键点击位置则会被设为视野中央。
2、直接输入坐标。如果想更精确的控制视角,点击”Camera”——〉”Camera Properties…”,在摄像机属性对话框中可以直接输入坐标来控制视野。
现在来看看数据图,注意到图的左端有一根绿色竖线,代表数据引入点,而在右端有一根红色竖线,代表数据结束点,在这两个线之间则有一根黑色竖线,它指示当前数据点,如图二所示:
图二 |
在重放仿真时将在数据引入点跟数据结束点之间循环播放,而黑色竖线则会在绿线跟红线间循环移动。用鼠标左键点击数据图可以设置当前数据点位置,也可以按住鼠标左键拖动,可视窗口中的图像也会随着当前数据点的改变而改变。点击”Graphs”——〉”Zoom in(Zoom out)”或
(
)功能按钮可以放大或缩小数据图以便调节到合适的大小。若数据图大小超出边框,可以在数据图上按住鼠标右键拖动,数据图也会跟着左右移动,这样就能察看完整数据了。
如果觉得直接重放仿真速度太快,则可以使用步 进功能 ,点击”Run”——〉”Setp Forward(Setp Backward)”或
(
)功能按钮重放将以一帧为单位播放,让你能仔细观察仿真过程的每一个细节。
点击”Run”——〉”Goto In Point(Out Point)”或
(
)功能按钮将直接把当前数据点设置为数据引入点(数据结束点)。而”Run”——〉”Set In Point(Out Point)”
或(
)则是将当前数据点设置为数据引入点(数据结束点),试着重新设置In Point和Out Point,并点击”Run”——〉”Play”或
按钮重放仿真,观察重放是如何在新设置的开始结束点之间循环的。不过真正使用时要小心不要无意中按到,不然可能丢失宝贵的仿真数据哦。
在数据面板中找到”q_rh”(右边髋关节的角度)并点击它,你会发现这一行数据被高亮显示,然后用鼠标中间点击数据图中”Click to graph selected variable”区域,数据图中则会新建一个坐标系用来绘制 q_rh”对时间的曲线。每新建一个坐标,前面的坐标将会被压缩的更小一些,每一个数据图支持最多同时显示8个坐标。如果想取消某个数据的图形显示,则可以用鼠标中键点击目标数据名。现在动手试试以上操作吧。
在数据面板中双击某个数据能打开数据属性对话框(见图三),可以看到变量q_rh被设置为AutoScale,这表示当这个数据被图形化显示时,曲线会自动的按比例填满整个纵坐标。在Data Range一行中显示的是改变量的取值范围,用最大最小表示。现在把Scaling改为Manual,这时Manual Settings变为可用状态,你可以手动确定图形显示时坐标的最小最大值,点”OK”后再次运行方针,看看该变量对应的图形是不是已经按照新的坐标范围绘制了。

图三 |
在仿真程序运行过程中,所有方针数据都被存放在数据缓存中,默认的步进时间为20ms,这可以在程序编写过程中修改,默认的数据缓存能保存2048个时间片的数据,这样默认的设置将能记录下40.96s的数据。点击”Data Buffer ——〉”Data Buffer Properties” 打开数据缓存属性对话框(见图四),可以看到Filled Policy一 栏选择 的是Enlarge,这样当数据超出预设的当前缓存大小时,将会自动将数据缓存增加当前大小的25%( 如图四中已达到7379个时间片了直到达到Max Size。而选择Wrap模式,当数据达到Current Size后,新的数据将不断填充缓存前部数据,也就是只保存最新的2048个时间片的数据。

图四 | 
图五 |
如果想保存仿真数据,可以选择 ”File ”——〉”Export Data或点击
按钮打开数据输出选项(如图五),选择分别选择数据方式(状态方式)、二进制(十进制)和是否压缩,根据自己需要进行选择就行了,这里按图示选择,然后点击”Export”按钮,出现熟悉的文件保存对话框,这就不用多说了。要读取以前保存的数据,则选择”File”——〉”Import Data”或点击
按钮就能打开文件选择对话框,选择需要的数据文件点击打开即可 。
要将当前可视化视窗作为图片保存下来点击 ”File”——〉”Export Snapshot”或者点击
按钮将出现文件保存对话框,当前视窗将以jpg格式保存下来。
程序最下端的 数据输入框是用来设置变量的值的,在数据名后的文本框内填入值按回车即可,如果没有想要的变量,则首先在数据面板中选择目标变量,然后用鼠标 点击名为”UNUSED”的 数据输入框就能 将所选数据与该输入框建立联系。觉得变量太多不便查看或超出窗体范围,可以取消暂时不用设置的变量,方式是对在目标输入框的变量名上点击鼠标右键即可。
好了,关于仿真程序的运行暂时就说这么多了,先熟悉一下,下一章要讲的是关于如何创建和编译一个仿真程序。