<<

2008 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy

An Embedded Computing Platform for Robot

Ching-Han Chen Sz-Ting Liou Department of and Department of Computer Science and Information Engineering, National Central Information Engineering, National Central University University [email protected] [email protected]

Abstract and behavior-based robots that bring an upsurge of the study in robot and evolve into some topics of As the robotic industry is growing boomingly, the intelligent robot research [1]-[4]. functionalities and 's architecture of robots are The robotic system is growing extensively in recent more and more complex. The development of robotic years. Many kinds of robot (e.g., Humanoid Robot, application system becomes a -consuming and Security Guard Robot, Home Robot, Entertainment difficult task. In this paper, we propose an embedded Robot, etc.) are manufactured rapidly into the market. computing platform for intelligent robot, and then The development cycle must be very short, and letting design a reliable real-time (RTOS) the robot into market on time become available; on the platform for rapid developing intelligent robotic however, the complexity of applications for robotic applications. The proposed embedded computing system is increasing day by day. In order to create a platform includes a reconfigurable 8-bits processor High-Performance and Low-Cost robotic system in fast core and some robot-dedicated hardware intellectual and flexible way, it is becoming necessary to develop a property (IP) which can be generated and robotic development platform with hardware and reconfigured easily. Based on the embedded processor IP in a hurry. Therefore, in order to core, a real-time OS, uC/OS-II, is ported to this coordinate different hardware and software for robot platform. The RTOS is adjusted and optimized due to (especially for intelligent robot), an embedded the robot-specific requirements and the hardware computing platform plays a very important role in the resources constrains. Finally, a simple example is development of robotic system. applied to demonstrate the software/hardware Many researches [4]-[7] indicate that a layered (SW/HW) co-design flow based on the proposed approach is gradually becoming a trend in the design platform. of robotic platform. The benefits of this design method include high-level behavior control, task dispatching Keywords: Intelligent robot, Embedded Computing and flexible design that can the control structure Platform, RTOS, Reconfigurable, SW/HW co-design of robotic platform more clearly and the operation of robot more efficiently. Consequently, we propose a 1. Introduction layered platform which is composed of application, operating system, processor and device (from top layer The research of robotics is originated in 1970’s. The to bottom layer). On the basis of layered approach, we purpose of robot’s utilization is to manpower build an embedded computing platform for robot. efficiently, and increase the factory’s manufacture Rest of this paper: Section 2 reviews related work ability. Its purpose was using the efficiency of robot to and Section 3 presents an overall embedded computing take the place of manpower and increase factory platform for robots. Section 4 demonstrates an output. With the advancement of science and experimental example based on the proposed platform. technology, robots have been moving out from Conclusions and future works are summarized in laboratory and existed in our daily life. Furthermore, Section 5. researchers, biologist, mechanical engineer and scientist of robotics, cooperate together to do the robotic research with the perspective of biomimetic 2. Related work approach. The research involves creating biomimetic

978-0-7695-3158-8/08 $25.00 © 2008 IEEE 445 DOI 10.1109/SUTC.2008.69 There are many robotic development platforms [8], also tend towards complexity to let the control flow of [9] can aid the development of robotic system so far. the device more inextricable. Therefore, a development The followings intend to describe a variety of platform which integrates hardware and software will platforms which are proposed in industry and become an indispensable consideration in the future. academia. The platform must be highly scalable to make the Microsoft Robotics Studio [8] is one of the business development of robot's hardware and software can software platforms; for instance, it is to supply a have the flexible design advantages which include cost, software platform that can be used across a wide- performance and time-to-market. variety of hardware and it is also the first robot- dedicated software announced by Microsoft. The 3. Embedded computing platform for Development Environment of Microsoft Robotics robots Studio includes the following major characteristic: 1. End-to-End Development Platform. The platform Fig. 1 is the architecture of embedded computing enables developers to interact with robots using platform which we propose. Refer to the layered Windows or Web-based interfaces. 2. Lightweight perspective of embedded computing platform in [4]- services-oriented runtime. The platform offers the [7], we describe our robotic embedded computing services which is message-based architecture and make platform with platform view, system view and robot it simple to connect with robot's sensors and actuators view respectively. by using a Web-browser or Windows-based The platform can separate into four layers in application. 3. Scalable and extensible platform. The platform view which composed of application, programming model can be applied for a variety of operating system, processor and device (from top layer robot hardware platforms. Also, third parties can to bottom layer). The system view includes application extend the functionality of Microsoft Robotics Studio layer, management layer, computing layer and physical by providing additional libraries and services. layer separately. iRobot create [9] is one of the business hardware The robot view divides the platform into three platforms and originated from the invention of MIT layers because the robot's behavior mode and the Computer Science and Lab; for driving of device may be altered due to environment instance, it mainly offers a basic hardware situation. The layers comprise robot's intelligent and development platform which facilitates developers to behavior decision in the highest level, the motion program simple operation of the robot without control in the lowest level and transition zone in the considering the low-level hardware architecture. middle which can configure the control flow of Moreover, the additional command module which can hardware and software since environment situation be mounted to the platform and is provided as well. changes. This optional module fulfils advanced developers to construe the automatic application of robot and enables users to stretch the application of robotic functionality by means of adding or combining sensors, digital cameras, computers or other device. Besides, the academic community proposed many layered platform architectures, too. In [4], a layered behavior planning is established for optimizing robot’s behavior that helps to modify the behavior model of intelligent robot in accordance with environmental Fig. 1. Layered architecture of embedded computing characteristics. In [5]-[7], some group numerous platform for robots controllers into master/slave control mode and some divide the system into three layers in roughly which 3.1. Application layer include application layer, OS layer and physical layer. These methods are mainly aimed at robotic system and On the embedded computing platform, the can not only speed up the communication capability of developers can use /C++, high-level languages, to internal system, but also hold the property of develop the applications for robot. Also, we now use reconfiguration and elastic expansion. the off-the-shelf Keil development tools [10] to do the Along with progress of times, the application fields programming task of compilation and simulation. In of robot are increasing extensively and the applications addition, OS in next layer will provides Application- are going to be designed not only for specific purpose programming interface (API) for developing anymore. At the meanwhile, the robot's behavior will applications and drivers for propelling devices that can

446 help developers to create applications easily and speedy without considering the hardware construction in low-level and the driving methods. In the utilization of , there is usually a great amount of input/output (I/O) demand for communicating with external component to carry out the application's intention. Accordingly, the main purpose of API and driver is to encapsulate I/O flow of the system that helpfully let the developers can concentrate on application's developing and high-level management and decision program’s designing without worrying about the I/O control flow. Fig. 2. The software part of embedded computing platform Section 3.2 will discusses API and driver in more for robots detail. 3.3. Processor 3.2. OS Base on the interactive requirement of intelligent By the foundation of robot's attribute, a satisfied OS robot and outer physical environment, robot-dedicated for robotic purpose needs a well management processor must possess a number of reconfigurable IPs mechanism to deal with tasks and devices that can which can progress in a fast integrated development. coordinate various tasks inside the robot to work fine. These IPs should be reusable and thereby depend on As well as offering real-time kernel to let the robot different circumstance can be increased/decreased or react quickly and operate smoothly, the OS kernel substituted. We then can base on the actual need to ought to have IPC methods which are dedicated to the arrange IPs and optimize the hardware design for the convenient of robot's applications developing. embedded computing platform. Fig. 2 presents the structure of OS kernel. API On our platform, we implement a reconfigurable provides the interface between OS and top-level 8051 processor core, MIAT51, which is modified from applications. Driver provides the interface between OS the open source MC8051 IP-core of Oregano and low-level devices (e.g. actuator, sensor, etc.). [12]. Because the robotic applications may often In this paper, we adopt uC/OS-II [11] as an communicate with the interface of external component implementation example of robotic OS. uC/OS-II is a (e.g. I2C and UART) and the controllers for accessing RTOS which is open source and widely used especially RAM or flash memory, we can do a flexible for control system, and it has the advantages of high adjustment for the special function register (SFR) of performance, small footprint, excellent real-time and the processor that lets the processor can easily map to scalable. the interface of new added device. Thus the In our design, inside OS layer which requires API, control and utilization of the device can be more system call, kernel and driver. To meet the requirement convenient. Fig. 3 shows the architecture of our of intelligent robot's behavior control, we rewrite API processor and interface IPs for the platform. and driver. API and driver mainly encapsulate the I/O control flow as mentioned in section 3.1. We implement the more top-level part of the I/O control flow into API and the more low-level part of the I/O control flow into driver since API is the top-level interface, driver is the low-level interface and the coverage of the I/O control flow includes top layer and low layer.

Fig. 3. The hardware part of embedded computing platform for robots

447 3.4. Device behavior module of subsumption system (refer to Fig. 5(b)). As the design consideration of API and driver which is mentioned in section 3.2. According to the improvement of the robot's functionality and the increasing of the system's complexity, the driving method of the device becomes more difficult. At the moment, using software to achieve the device's control flow is comparatively more complex. Moreover, the robot may work inefficiently because the waste of CPU resources and Bus bandwidth. For example, the PWM signal generation, which is needed for motors, becomes the most serious problem. Consequently, we make a parametric PWM generator which is also a PWM hardware controller [13], [14] and can be synthesized very fast. This PWM hardware controller, which makes the robotic system can be controlled effectively and eases the load of the top-level application, receives the parameter from applications and generates the high efficiency PWM signal automatically. Fig. 5. (a) is the hexapod robot (b) is the subsumption system Fig. 4 is a basic function block in the PWM hardware IP. To describe the complex behavior mode In our platform, the high-level intelligent decisive and control strategy precisely, we will use GRAFCET behavior in subsumption system can be built on the [15] as a discrete-event behavior modeling tool. We application layer of our platform. And we can complete follow a set of automatic synthesis rules which is the robot's behavior design by using the mechanisms of proposed by Chen et al. [16] to synthesize a scheduler and inter-process communication (IPC) customized PWM hardware IP which can be integrated which are the components in OS and can perform as into an automatic system of robot easily. the utility of suppressor node and inhibiter node. According to layer approach design, we may offload most part of the robot’s complex and repeated software control flow into hardware portion by using GRAFCET for modeling and constructing the hardware IPs which can ease the load of processor for computing and enhance the whole system’s performance. To show the effectiveness of this designed platform, the PWM hardware IP introduced in section 3.4 can be used to explain the demonstration. We assume that the Fig. 4. The basic function block of PWM controller robot involves an 8-stage procedure to complete a movement, such as a step to go forward/backward, 4. Experimental system implementation in left/right or turn in place etc. However, there are 6 legs a hexapod robot of the hexapod robot and each leg has 3 motors. In other words, we need to generate 144 PWM signals to This experimental system, which is based on the control the robot’s single movement by either software embedded platform that we propose, implements or hardware. Instead of using software control to subsumption system [17] on a hexapod robot. generate PWM signals for every movement every time, Subsumption system, a behavior-based robot we create a motion table on the top of the PWM programming method, is proposed by Rodney Brooks controller to store the 8-stage procedures’ parameter in 1986. The suppressor node and the inhibiter node value for each basic movement. Once receiving a inside the system can facilitate the layered and modular command instruction from the application, the PWM behavior control design. controller then can determine the movement with the Fig. 5(a) is a hexapod robot used in this instruction and acquire the relative parameter values experimental system which includes all kinds of from the motion table to generate corresponding PWM signals.

448 TABLE I References Impact of different implementation [1] Brooks, R. A., “A Robust Layered Control System for a PWM-signal Software Hardware Mobile Robot”, IEEE Journal of Robotics and generation control control Automation, March 1986, . 2, No. 1, pp. 14–23. Instruction(s) to [2] Arkin, R. C., Behavior-Based Robotics, MIT Press, be sent through 144 1 Cambridge, MA, 1998. bus [3] Joseph L. Jones, Anita M. Flynn, and Bruce A. Seiger, Wasting Mobile Robots: Inspiration to Implementation, AK processor much less Peters, Ltd, 1998. resource [4] Rainer Bischoff, Volker Graefe, “Learning from Nature Extra memory to Build Intelligent Autonomous Robots”, Intelligent space no Robots and Systems, 2006 IEEE/RSJ International requirement Conference on Oct. 2006, pp. 3160–3165. [5] M. Omar Faruque Sarker, ChangHwan Kim, Seungheon Baek, Bum-Jae You, “An IEEE-1394 Based Real-time Even though the PWM controller must requires Robot Control System for Efficient Controlling of extra memory space made on it for the motion table, Humanoids”, Intelligent Robots and Systems, 2006 TableTABLE I shows that the resource requirement IEEE/RSJ International Conference on Oct. 2006, pp. impact of hardware control is less than software 1416–1421. control. And this result also indicates good prospects [6] J. Oh, D. Hanson, W. kim, I. Han, J. Kim, and I. Park, and development advantages: First, without numerous “Design of Android Humanoid Robot Albert iterative software control flow, the saving processor HUBO”, Intelligent Robots and Systems, 2006 resource can devote to some other applications’ IEEE/RSJ International Conference on Oct. 2006, pp. algorithm computing for increasing the efficacy of the 1428–1433. [7] Fumio Kanehiro, Yoichi Ishiwata, Hajime Saito, processor; Secondly, a substantial bandwidth saving on Kazuhiko Akachi, Gou Miyamori, Takakatsu Isozumi, the bus may apply to transfer the sensing data from Kenji Kaneko, Hirohisa Hirukawa, “Distributed Control sensors to applications, especially the demanded System of Humanoid Robots based on Real-time information which is urgent and critical to the system. Ethernet”, Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on Oct. 2006, pp. 5. Conclusions and future works 2471–2477. [8] http://msdn2.microsoft.com/zh-tw/robotics/default.aspx [9] http://www.irobot.com/index.cfm In this paper, we propose an embedded computing [10] http://www.keil.com/ platform of intelligent robot which is layered [11] http://www.micrium.com/ architecture. And the platform can be used to solve the [12] http://www.oregano.at/index2.htm fast growing of complex designing problem of the [13] Stefano Galvan, Debora Botturi, Paolo Fiorini, “FPGA- robotic system. This platform considers the based Controller for Haptic Devices”, Intelligent Robots functionality requirements and resources constrain of and Systems, 2006 IEEE/RSJ International Conference generic robotic system and the tasks of robot's control on Oct. 2006, pp. 971–976. in different abstraction layers. The platform, then, is [14] Narashiman Chakravarthy, Jizhong Xiao, “FPGA-based programmed and designed by the principle of Control System for Miniature Robots”, Intelligent Robots and Systems, 2006 IEEE/RSJ International hierarchical and modular. Conference on Oct. 2006, pp. 3399–3404. The applications of robotic system will tend to have [15] R.David, “Grafcet :A powerful tool for specification of diverse functionality and higher complexity in the logic controllers”, IEEE Trans. on Control Systems future, hence, in the future work we will continue to Technology, 1995, Vol. 3, No. 3, pp. 253-268. optimize the RTOS kernel according to the feature of [16] CHEN, Ching-Han; DAI, Jia_Hong; “Design and high- robot's motion and intend to design an optimum on- level synthesis of discrete-event controller”, National chip RTOS kernel [18]-[21] which is used to Conference of Automatic Control and Mechtronics coordinate the operation of hardware and software. System, 2002, vol.1, pp. 610–615. Besides, we will also design specific robotic multi- [17] Brooks, R. A., “How To Build Complete Creatures Rather Than Isolated Cognitive Simulators”, processor [22], [23] which is depend on the nature of Architectures for Intelligence, K. VanLehn (ed), robotic system's functionality requirements and attempt Erlbaum, Hillsdale, NJ, Fall 1989, pp. 225–239. to make use of the architectonic property of multi- [18] H. Walder and M. Platzner, “Reconfigurable Hardware processor to accelerate the overall robotic system's Operating Systems: From Design Concepts to operating performance. Realizations”, Proceedings of the 3rd International Conference on Engineering of Reconfigurable Systems

449 and Architectures (ERSA), CSREA Press, June 2003, pp. 284–287. [19] C. Steiger, H. Walder, and M. Platzner, “Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-time Tasks”, IEEE Transaction on Computers, November 2004, vol. 53, no. 11, pp. 1392–1407. [20] M. Ullmann, M. Hubne, B. Grimm, and J. Becker, “On- Demand FPGA Run-Time System for Dynamical Reconfiguration with Adaptive Priorities”, Field Programmable Logic and Application: 14th International Conference, FPL, Springer-Verlag Heidelberg, August 2004, pp. 454–463. [21] Theelen B.D.; Verschueren A.C.; Reyes Suarez V.V.; Stevens M.P.J.; Nunez A., “A scalable single-chip multi-processor architecture with on-chip RTOS kernel”, Journal of Systems Architecture, December 2003, Vol. 49, No. 12 , pp. 619–639. [22] Becker, J., “Configurable systems-on-chip: challenges and perspectives for industry and universities”, International Conference on Engineering of Reconfigurable Systems and (ERSA), 2002, pp.109–115. [23] Sun, F., Ravi, S., Raghunathan, A., and Jha, N.K., “Custom-instruction synthesis for extensible-processor platforms”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 23 (2), 2004, pp. 216–228.

450