Embedded Systems Design Europe - August/September 2008 - (Page 23) design libraries are used for the inverse kinematics algorithm, which runs continuously. This algorithm, including trigonometric functions and matrix operations, finds suitable joint angles to exactly move the robot along a trajectory within a desired space. The robot’s trajectories can be programmed in 3 different ways: ● They can be taught and played back as a common technique for design and training new or special patterns. ● A 3D CAD software allows the user to visually check the simulated trajectories. The models are then exported as virtual reality files and imported into LabVIEW’s picture controls. Movements are then tuned by comparing the virtual with real model. ● There are continuously calculated trajectories at runtime from an inverse kinematic algorithm. All of these need to be done in parallel for all joint angles of all 6 legs resulting in 24 continuously calculated setpoints for all motors to ensure dynamic motion. These setpoints are transferred to each motor via a serial RS485 network and turned into physical actions by de-central PD (Proportional-Derivative) controllers. Position feedback and temperature readings of all 24 actuators are acquired over the same network. On top of the smart motion and freedom of movement, an intelligent camera and a distance measurement sensor form the “eye” of the spider robot. Objects and substances are localized and tracked by high performance image processing algorithms, for example finding a centroid – or the point where an object coincides with its area of mass - within a region of interest. The ‘eye’ can also be programmed to identify any color within its vicinity. Future versions will include improved image processing, pattern matching and edge detection, taking the Blackfin processor’s computation power and high-speed image acquisition to the next level. The ultra-low power mixed signal target ZMobile is the ‘heart’ of the spider robot. To provide communications on any level with the robot, a permanent Bluetooth communication interface is maintained to the ‘outside world’. This interface monitors channels for the ZMobile’s Fast Debug Mode during development and test, reading critical parameters such as motor status and battery level for system diagnostics and allowing online acquisition of vital algorithm variables for tuning. It enables downloading of new mission data prior to an operation. The LabVIEW/Blackfin target supplied by Schmid Engineering (Münchwilen, Switzerland) integrates sensors, actuators, vision, batteries and wireless communication on a single platform. Nanyang Polytechnic (Singapore), who designed the spider robot, chose the ZMobile platform for three reasons. First, programming the spider in LabVIEW allowed the robot designers to concentrate on the prime functions of the project right from day one. Thanks to the high productivity of graphical programming, the system engineers were able to add more functionality than originally specified during the same development period. Second, an ultra low energy scheme such as the ZMobile dynamic power management was a vital feature for this autonomous robot, since operation time can now be significantly prolonged. The same applies to the ZMobile’s power consumption in the milliWatt range, allowing most of the energy stored in the onboard batteries to power the motors. Third, the scalable process I/O slot makes room for integrating more sensors and actuators in the future. The entire spider robot application software was programmed using the LabVIEW Embedded Module for ADI Blackfin 2.5, extended by the ZBrain board support package for NI LabVIEW from Schmid Engineering. This provided the ideal embedded software platform providing high-level programming, graphical debugging, graphical multitasking and at the same time deterministic real-time behavior. Object oriented design patterns helped to further manage complexity on the graphical level. Main objects such motors or sensors were abstracted by functional global variables, representing classes in LabVIEW. The main application framework consists of several tasks: ● The top level main loop plans for actions and is represented by a classic state machine connecting to the other loops by software queues and synchronisation means such as semaphores. ● The communication task maintains a wireless data connection to the outside world ● The vision task is responsible for the low level image processing and distance reading ● The motion task manages highlevel motion patterns and low level limb control and also monitors the motor’s position and state. ● A housekeeping task acts as a common error handler. Events and errors are detected and logged to removable media along with timestamps for later retrieval. ZMobile features like watchdog, rebooting and shutdown with programmed wake-up are efficient means to restart from scratch if error self correction (e.g. error rollback) doesn’t succeed. These loops run simultaneously as threads in a cooperative multitasking environment. Context switching in the millisecond range as well as microsecond real-time determinism on the driver level ensure smooth and glitch free movements. Future developments to the common mechatronic platform include advancement in vision, a smarter power-management and energy-harvesting scheme, sensor-fusion, fuzzy-logic and GPS data collection. In terms of future products, it is planned to re-use the modular hardware and software system in other mobile, autonomous robot types such as snakes. Pom Yuan Lam is lecturer at Nanyang Polytechnic in Singapore. Marco Schmid, is a director at Schmid Engineering. Anders Frederiksen is GP-DSP industrial marketing manager at Analog Devices. 23 www.embedded.com/europe | embedded systems design europe | AUGUST – SEPTEMBER 2008 022-023_ESDE.indd 23 28/08/08 11:53:17 http://www.embedded.com/europe
Table of Contents Feed for the Digital Edition of Embedded Systems Design Europe - August/September 2008 Embedded Systems Design Europe - August/September 2008 Contents TI Overhauls DSP Lineup, Adds 15 Processors QNX Publishes Source Code for File System Congatec to Take on Proprietary Market Swiss Multicore Project Wins Microsoft Grant OpenCores Bundles Development Tool ARM Compiler Boosts Freescale i.MX31 LabVIEW Updated for Multicore and Wireless Cover Feature: Interactive Tool Supports Multiprocessor SoC Design Wanted: Benchmaking for Embedded VMM Hypervisors Graphical Design Empowers Spider Robots Building a Power Supply for Discontinuous Transmission Wireless Networks RTOS Selection & Best Practices Achieving Cache Coherence in a MIPS32 Multicore Design New Products Advertising Contacts Embedded Systems Design Europe - August/September 2008 Embedded Systems Design Europe - August/September 2008 - Embedded Systems Design Europe - August/September 2008 (Page Cover1) Embedded Systems Design Europe - August/September 2008 - Embedded Systems Design Europe - August/September 2008 (Page Cover2) Embedded Systems Design Europe - August/September 2008 - Contents (Page 3) Embedded Systems Design Europe - August/September 2008 - Contents (Page 4) Embedded Systems Design Europe - August/September 2008 - Contents (Page 5) Embedded Systems Design Europe - August/September 2008 - QNX Publishes Source Code for File System (Page 6) Embedded Systems Design Europe - August/September 2008 - QNX Publishes Source Code for File System (Page 7) Embedded Systems Design Europe - August/September 2008 - OpenCores Bundles Development Tool (Page 8) Embedded Systems Design Europe - August/September 2008 - OpenCores Bundles Development Tool (Page 9) Embedded Systems Design Europe - August/September 2008 - LabVIEW Updated for Multicore and Wireless (Page 10) Embedded Systems Design Europe - August/September 2008 - LabVIEW Updated for Multicore and Wireless (Page 11) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 12) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 13) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 14) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 15) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 16) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 17) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 18) Embedded Systems Design Europe - August/September 2008 - Cover Feature: Interactive Tool Supports Multiprocessor SoC Design (Page 19) Embedded Systems Design Europe - August/September 2008 - Wanted: Benchmaking for Embedded VMM Hypervisors (Page 20) Embedded Systems Design Europe - August/September 2008 - Wanted: Benchmaking for Embedded VMM Hypervisors (Page 21) Embedded Systems Design Europe - August/September 2008 - Graphical Design Empowers Spider Robots (Page 22) Embedded Systems Design Europe - August/September 2008 - Graphical Design Empowers Spider Robots (Page 23) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 24) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 25) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 26) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 27) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 28) Embedded Systems Design Europe - August/September 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 29) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 30) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 31) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 32) Embedded Systems Design Europe - August/September 2008 - RTOS Selection & Best Practices (Page 33) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 34) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 35) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 36) Embedded Systems Design Europe - August/September 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 37) Embedded Systems Design Europe - August/September 2008 - New Products (Page 38) Embedded Systems Design Europe - August/September 2008 - New Products (Page 39) Embedded Systems Design Europe - August/September 2008 - New Products (Page 40) Embedded Systems Design Europe - August/September 2008 - New Products (Page 41) Embedded Systems Design Europe - August/September 2008 - New Products (Page 42) Embedded Systems Design Europe - August/September 2008 - Advertising Contacts (Page 43) Embedded Systems Design Europe - August/September 2008 - Advertising Contacts (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.