中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 测试
MAX: A Java-Based Personal Robot Platform @ JDJ
作者:未知 时间:2005-08-10 22:33 出处:Java频道 责编:chinaitpower
              摘要:MAX: A Java-Based Personal Robot Platform @ JDJ

When you mention the word "robot," most people think of either large industrial bots that do heavy work on factory floors, suicidal bots doing battle on TV, fanciful R&D bots gracing the labs of universities, or simple hobby bots of the LEGO Mindstorms ilk. Don't get me wrong, all such creations are deeply fascinating to me and embody tremendous ingenuity and engineering craftsmanship. However, I want a robot that I can make do a variety of things around the house or place of business, one that won't cost a small fortune and is flexible and evolvable enough that I'm not stuck with a robot constrained to accomplishing a single task. Essentially, I want something that doesn't exist. I want the "Personal Robot."

Despite what may have been perceived as blind fantasy, a few years ago I set about pursuing the construction of a personal robot. I had a formal background in all of the requisite engineering skills including robotics and AI, but they were festering on my brain's vines of unused knowledge. My years spent doing work that actually generates rather than consumes money thrust me into the world of more commercially viable enterprise technologies and products. However, I began to see more and more of a possibility of fusing the commercial-grade work I was doing with my robotics R&D to yield a robotics platform that was cheap yet sophisticated. I wouldn't need to mortgage my house to buy a platform that only the wealthiest of companies or agencies could afford, and I wouldn't be stuck with a constrained hobby bot that could maybe flicker a few lights and fall down the stairs. Instead, I'd commence building a platform that was based on open source and commercial-grade products, be able to integrate with an assortment of underlying useful mechanical hardware components, and provide myself with an open sandbox and playground in which I could develop a wide variety of robotics apps.

I scrambled to give this platform a name and requisite acronym and could only muster the three letters M-A-X. MAX stands for Mobile Autonomous X-Bot. The mobile and autonomous part should be obvious, but the X-Bot represents the fact that the bot would be a generic platform atop of which I could do cool things. X is a variable. Get it? Just plug whatever application you want into the MAX platform and that is what X becomes. Armed with a name and an acronym, I was ready to crank up the R&D a notch and began forming a company around said efforts.

There is a plethora of hardware components on the market useable in robots ranging from the capriciously cheap to the stylishly pricey. To create MAX in such a way that would make it easy to work with this varied hardware, we defined a Java-based abstraction layer to interface with such devices. This was a key design feature since as you create or load different robotics applications into MAX, you may also require different robotics hardware to support your application. Our design thus called for plug-and-playability achieved by either custom configuration of a few generic drivers or by creating drivers specific to the hardware device being utilized.

As a Java zealot, everything I aim to do is in Java. If I could Java-enable my nose-hair trimmer, I'd do it. Blind loyalty to programming languages aside, I naturally think there are genuinely good reasons for using Java to build robotics applications. Apart from its simplicity as well as operating system (OS) and computing hardware independence, the wide range of built-in, commercial, and open source tools readily available make it an attractive and low-cost platform for cranking out robotics apps. Thus, we were hell-bent to try and use a standard J2SE runtime operating on Linux (or any other OS) running on a standard CPU for our underlying platform. In fact, this standard JOC (i.e., Java-OS-CPU) platform is indeed the only platform required by MAX for a wide range of robotics applications.

With a standard JOC platform, MAX communicates with external robotics hardware devices via Java-based interfaces to standard parallel, serial, and USB computer ports. For certain devices like digital cameras, the physical connectivity is easy since most cameras plug directly into a USB port. To interface with certain other sensor and actuator types, such as IR sensors and DC motor-driven wheeled bases, a few extremely simple and low-cost hardware connectors are used to bridge between standard computer ports and external robotics hardware.

For certain sensors and actuators, a more real-time interfacing approach is required; a standard JOC platform won't cut it here. Hence our MAX design required an augmentation to work with a J2ME-based, real-time Java embedded JOC platform. A few reasonably priced platforms on the market exist with some even built around the aJile Java-based processor core executing Java instructions in hardware.

For a certain range of applications, the embedded JOC platform and MAX profile will be all that is needed to perform a variety of basic robot functions. For other applications, a standard JOC platform and MAX profile will be required for more sophisticated applications that perhaps require access to large amounts of persisted data or communication with multiple distributed services, or need to implement more complex planning algorithms. Yet another alternative is to use a standard JOC MAX profile for the more complex data, communication, and planning operations and leverage use of the embedded JOC MAX profile for the sense-actuate functionality inside the same physical bot.

The MAX software and hardware bridges are designed with maximum flexibility for allowing a choice of underlying hardware while providing open and configurable interfaces for building robotics applications that use and drive such hardware. While a growing suite of MAX components is being built and prototyped with a mixture of hardware devices, the real test will come when we start shipping MAX hobbyist and developer's kits. Only then will we all see what sort of community grows to extend MAX and satisfy the "X equals to" equation, making bots and applications that do things we've always dreamed of and have yet to dream of doing for ourselves and organizations in an open, extremely low-cost, and constraintless fashion.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有