Developing a Robot Model using System-Level Design

Similar documents
Quick Start Training Guide

Modern techniques bring system-level modeling to the automation industry

Integrating Mechanical Design and Multidomain Simulation with Simscape

Integrating Mechanical Design and Multidomain Simulation with Simscape

MapleSim User's Guide

Getting Started with the MapleSim FMI Connector

Virtuelle Inbetriebnahme und Optimierung von Robotersystemen mit Simscape The MathWorks, Inc. 1

Lesson 1: Introduction to Pro/MECHANICA Motion

TRAINING A ROBOTIC MANIPULATOR

Plant modeling: A First Step to Early Verification of Control Systems

SimWise. 3D Dynamic Motion, and Stress Analysis. integrated with Alibre Design

Using RecurDyn. Contents

SOLIDWORKS SIMULATION

Model Library Mechanics

Physical Modelling with Simscape

INSTITUTE OF AERONAUTICAL ENGINEERING

What Is SimMechanics?

Paul Goossens Product Director

Kinematic Analysis of MTAB Robots and its integration with RoboAnalyzer Software

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1

Modeling of Humanoid Systems Using Deductive Approach

Freely Available for Academic Use!!! March 2012

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Animations in Creo 3.0

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Simulation-Based Design of Robotic Systems

Development of 6 DOF Supernumerary Robotic Fingers Integrated with 3D Animation

Introduction to Robotics

Enhanced Performance of a Slider Mechanism Through Improved Design Using ADAMS

The Mathematical Model and Computer Simulation of a Quadruped Robot

Simulation and Modeling of 6-DOF Robot Manipulator Using Matlab Software

Design & Kinematic Analysis of an Articulated Robotic Manipulator

MDP646: ROBOTICS ENGINEERING. Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt. Prof. Said M.

Sensor Accuracy in Vehicle Safety

OpenSim Tutorial #3 Scaling, Inverse Kinematics, and Inverse Dynamics

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Rotational3D Efficient modelling of 3D effects in rotational mechanics

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Modeling and Simulation of Electromechanical Systems

A MECHATRONIC APPROACH OF THE WINDSHIELD WIPER MECHANISMS

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

Automatic Control Industrial robotics

Torque-Position Transformer for Task Control of Position Controlled Robots

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Developing Algorithms for Robotics and Autonomous Systems

Methodology to Determine Counterweights for Passive Balancing of a 3-R Orientation Sensing Mechanism using Hanging Method

Assignment 3. Position of the center +/- 0.1 inches Orientation +/- 1 degree. Decal, marker Stereo, matching algorithms Pose estimation

1. Introduction 1 2. Mathematical Representation of Robots

SimWise 4D. Integrated Motion and Stress Analysis

Autodesk's VEX Robotics Curriculum. Unit 15: Linkages

N. Gachadoit 1, A. El Hadri 2, A. Benallegue 2, A. Seba 3, B.Vidalie 1

How Simscape Supports Innovation for Cyber-Physical Systems

Autodesk's VEX Robotics Curriculum. Unit 12: Object Manipulation

Master Class: Diseño de Sistemas Mecatrónicos

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

Introduction to Physical Modelling Rory Adams Senior Application Engineer

DARPA Investments in GEO Robotics

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours

Real-Time Execution in LabVIEWTM

Chapter 1: Introduction

Written exams of Robotics 1

The Virtual Prototyping of Robots Dynamics

Design and Analysis of Voice Activated Robotic Arm

Design optimisation of industrial robots using the Modelica multi-physics modeling language

FABRICATION OF A 5 D.O.F ROBOT ARM CONTROLLED BY HAPTIC TECHNOLOGY

A Co-simulation Approach Based on ADAMS-MATLAB for Development of an Industrial Manipulator

Dynamic Simulation of a KUKA KR5 Industrial Robot using MATLAB SimMechanics

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

FUNCTIONAL OPTIMIZATION OF WINDSHIELD WIPER MECHANISMS IN MBS (MULTI-BODY SYSTEM) CONCEPT

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

Virtual Testing Methodology for TPL Lifting Capacity of Agricultural Tractor TPL

Analysis of a 4 Bar Crank-Rocker Mechanism Using COSMOSMotion

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Exam in DD2426 Robotics and Autonomous Systems

Using Algebraic Geometry to Study the Motions of a Robotic Arm

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

What s New. Top 10 Reasons to Upgrade. Parallel Performance. Automatic Parallelism. The Essential Tool for Mathematics and Modeling

Cooperating not-trushting robots

Robot mechanics and kinematics

Robot mechanics and kinematics

Last update: May 6, Robotics. CMSC 421: Chapter 25. CMSC 421: Chapter 25 1

MTRX4700 Experimental Robotics

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Simulink Based Robot Arm Control Workstation. Figure 1-1 High Level Block Diagram

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

Motion Simulation of a Modular Robotic System

Structural Configurations of Manipulators

Industrial Robots : Manipulators, Kinematics, Dynamics

Motion Control of Wearable Walking Support System with Accelerometer Considering Swing Phase Support

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Properties of Hyper-Redundant Manipulators

Getting Started with the MapleSim Connector for JMAG-RT

DESIGN, SIMULATION AND CONTROL OF ISOGLIDE T3R1 PARALLEL ROBOT

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Transcription:

Developing a Robot Model using System-Level Design What was once the stuff of dreams, being secretly developed in high-security government labs for applications in defense and space exploration, is now a pervasive and integral part of our lives. Today, robots assemble products in factories, wash our cars, vacuum our homes, and come in a wide range of sizes, designs and capabilities. No longer confined to top-secret government labs, robots are now being developed by private organizations across the world. These organizations require tools that can not only handle the technical complexities involved in designing and building a robot, but also mitigate the long timescales and high costs often associated with this endeavor. In particular, any tool that will enable them to develop and test virtual prototypes of their robotics systems will not only reduce their development costs, but give them a time-to-market advantage by shortening their project timescales. One such tool is MapleSim, the multidomain system modeling and simulation platform from Maplesoft. This paper uses NAO, the humanoid robot from Aldebaran Systems, to demonstrate how MapleSim can be used to develop a robot model, and how the model can be further analyzed using the symbolic computation engine within Maple. The model of the NAO robot is available for download from the Model Gallery on the Maplesoft website. Figure 1. The NAO Robot 1

Building the Robot Model The NAO robot model consists of 6 different subsystems: head, body, left arm, right arm, left leg and right leg. The topology of the head and limbs is modeled using the DH (Denavit-Hartenberg) convention a commonly used convention for attaching coordinate frames to joints between two links, using four parameters to define the coordinate transformation between joints. The DH computation is modeled as a subsystem, using components from MapleSim s multibody library, and then combined with components from the 1D Mechanical and Signal Blocks libraries, to develop the head and limbs. The diagram below shows how the left arm is modeled. can also represent a body with mass and inertia. When the Enable Inertia option is selected, the values for mass density, mass, inertia, center of mass, and volume associated with the CAD Geometry component are used in the simulation. The joints in the robot model are actuated in two different ways. 1. Motion Drivers 2. Addition of subsystems representing the physics of the actuation mechanism Multibody Analysis The first method of joint actuation uses a Rotational Position Driver component to apply a user-specified angular rotation to each joint, and enables the robot s multibody kinematics and dynamics to be explored in simulation. This type of simulation will enable the user to: 1. Visualize the system motion, given a predefined set of joint signals 2. Measure the joint actuation torque required for given motion 3. Expand with an Inverse Kinematic solution for path planning 4. Examine the robot stability as limbs are moved The complete set of inputs to traverse the motion path is specified by using a Time Lookup Table component to read a dataset from a Microsoft Excel spreadsheet attachment file. Different datasets can then be used to define different motion paths, and the robot s behavior can be observed in simulation. Figure 2. (a) LElbowYaw Parameters (b) Left Arm Subsystem (c) NAO diagram The robot model also includes CAD Visualization components. In addition to providing 3D visualization during simulation playback, each of these components Using the results window in MapleSim, any variable in the system can be plotted over time, and results from different simulation runs can be compared easily. When working with larger models, probes can be added to any connection line or port, making it easier to locate quantities of interest for plotting. For example, placing a probe on the connection line between the ShoulderLeftPitch component and its position driver will enable its angle, speed, acceleration and torque to be measured, since it is a rotational connection. 2

Additionally, attaching a Path Trace component to the end effector of the robot s left hand will display the path along which the arm moves, during animation. Figure 3. Inserting a probe at the shoulder pitch join MapleSim is built on the symbolic technology of Maple, which enables in-depth system analysis using Maple s advanced symbolic computation engine. This is done using any of the pre-built analysis templates within MapleSim, which are Maple-based worksheets that include: Template Code Generation Equations Linear System Analysis Linearization Monte Carlo Simulation Multibody Analysis Optimization Sensitivity Analysis Description Generate code from a model. Retrieve equations from a linear or non-linear model. View and analyze the equations of a linear system. Create an estimated linear version of the original non-linear model. Define a random distribution for a parameter, and run a simulation using this distribution Retrieve multibody equations in a form that is suitable for manipulation and analysis Optimize and analyze the parameters of a model and view possible simulation results. Perform parameter sensitivity analysis Table 1 A selection of model analysis templates in MapleSim The Multibody Analysis template allows you to extract the system equations of the multibody portion of the model in a format that is suitable for manipulation and analysis. The equations can then be used as the starting point for performing advanced multibody analysis. For example, imagine that the robot is required to track a flying object using a camera on its forehead. The trajectory of the object can be used to calculate the angular rotations required to control the joints in the robot s head, through inverse kinematics. Once the multibody equations have been extracted from the model, the inverse kinematic problem can be defined. The solution is obtained using Maple s symbolic computation and can be directly embedded into the model. The measurements from probes tracking the object s trajectory and the camera position can be compared to determine the accuracy of the inverse kinematics calculation. Figure 4. Using inverse kinematics to track a flying object Multidomain Analysis The second method of actuating the joints is to use additional models that represent physical drivers. In this case, a servomotor powered by a Lithium-ion battery pack is used. The servo motor consists of a position controller, DC motor, reduction gear and thermal conductivity between the motor and the atmosphere. The Lithium-ion battery pack driving the motor includes characteristics such as battery state of charge, electrochemical diffusion, intercalation, side reactions and thermal effects. This enables the user to investigate the influence of various design parameters such as the choice of materials, dimensions, and electrochemical properties. 3

The worksheet incorporates a number of embedded components, including sliders, drop-down boxes, a plot window, check boxes, and text fields. These graphical interface components are programmatically associated with pre-defined operations, and obfuscate the Maple code for action that is performed when the component is selected, or its value altered. Figure 5. Actuating a joint with a servo motor Using the complete multidomain model, many different types of analyses can be performed using Maple. For example, over the duration of a set motion path of the multibody system, the battery s state of charge, its electric and thermal behaviors, the servo motor s electrical and mechanical characteristics, the shaft torque, and the overall stability of the robot can all be observed in the same environment. If a parameter value is changed, its effect across all the domains in the design can be easily analyzed, enabling effective optimization of the robot model. Figure 6. Analyzing simulation results across multiple domains Users also have the ability to create custom worksheets, like the Motor Analysis worksheet shown below, which is used to analyze the performance of the servo motor actuating the robot s left shoulder pitch joint. Using the worksheet, results of probes embedded in the model can be analyzed, based on four parameters of the servo motor: Armature Resistance, Armature Inductance, Gear Ratio and Rotor Inertia. Figure 7. Custom worksheet for motor analysis Moving the sliders causes the servo motor parameters to be modified, and the new values are displayed in the adjacent text box. The mode is re-simulated with the new parameter values, and the results are displayed in the plot window. Because the MapleSim model is initially compiled as a procedure in Maple, only integration is required whenever a parameter value is changed. This allows results to be returned much faster compared with having to re-generate the system equations and re-run a new simulation. This example worksheet also enables the user to overlay the results minimum, maximum or RMS values on the plot, to export the current parameters back to the MapleSim model, and to export the simulation results into an Excel spreadsheet. Analysis worksheets, along with CAD components, data sets, and all other attachments, are saved as part of the MapleSim model. In addition to building subsystems from the components in the various palettes, MapleSim also enables the user to incorporate custom components in a straightforward way. For example, the forces between the robot s feet and the ground are added to the model using an equation-based custom component as shown in the next figure. 4

Summary Figure 8. Modeling a contact point on the robot s foot Four contact points are modeled on the bottom of each foot, using components from the Signal Blocks and Multibody libraries, as well as custom components that represent the normal force and friction force. These are created by entering their corresponding DAEs into the custom component template. A Force Arrow component is used to visualize the direction and relative magnitude of the force at each contact point during simulation playback. In this paper, we demonstrated how MapleSim can be used to develop a multidomain model of a humanoid robot using its extensive multidomain library of components, which includes multibody and 1D mechanical components, as well as creating custom components. The use of CAD components adds 3D visualization during simulation playback, and contributes mass and inertia during simulation. The joints in the model are then actuated using two different methods. The system is analyzed using plots generated during simulation runs, built-in analysis templates, and the creation of custom analysis worksheets. Through multidomain analysis, the effects of each system parameter on the different domains within the design can be investigated, enabling efficient optimization across all domains. Multidomain analysis can also extend to observing the robot s interactions with its environment - for example, monitoring the contact forces between the robot s feet and the ground. The design and analysis of this robot model is facilitated through MapleSim s access to the underlying system equations, and the symbolic computation engine in Maple. Figure 9. Contact forces when the robot walks www.maplesoft.com www.maplesoft.com info@maplesoft.com Toll-free: (US & Canada) 1-800-267-6583 Direct:1-519-747-2373 Maplesoft, a division of Waterloo Maple Inc., 2016. Maplesoft, Maple, and MapleSim are trademarks of Waterloo Maple Inc. All other trademarks are the property of their respective owners. 5