
Simulation in Mobile Robotics: Abstraction Levels and Control Strategies
Dive into the world of simulation in mobile robotics with Anthony J. Clark. Explore the importance of finding the right level of abstraction and addressing key questions about electromechanical properties, inertia, battery levels, noise, and wheel slippage. Discover analytical and numerical model simulations for a two-dimensional WMR, including scenarios like adding a wall and implementing dynamic control. Enhance your understanding of robotics through interactive visual representations and code examples.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Simulation Mobile Robotics Anthony J. Clark
Today Simulation 2
Simulation Find the right level of abstraction Answer the question: what do you care about? 3
Simulation Find the right level of abstraction Answer the question: what do you care about? Do you care about the electromechanical properties? Do you care about inertia? Do you care about battery levels or capacity? Do you care about noise? Or wheel slippage? 4
Analytical Model Simulation Example: A Two-Dimensional WMR ??= ?0+ ??? Analytical Model Simulation 5
Analytical Model Simulation Example: A Two-Dimensional WMR ??= ?0+ ??? let initialPosition = 0; let chassisPosition; let angularVelocity = 1; let wheelRadius = 1; function simulate( time ) { // x = x0 + r t v = angularVelocity * wheelRadius chassisPosition = initialPosition + v * time; } Analytical Model Simulation 6
What if We Add a Wall? ??= ?0+ ??? Analytical Model Simulation 7
What if We Add a Wall? ??= ?0+ ??? if ( distanceToWall > 0 ) { chassisPosition = initialPosition + v * time; } Analytical Model Simulation 8
What if We Want Dynamic Control? ??= ?0+ ??? Where, ? = constrain(?? + ?, , ) Analytical Model Simulation 9
Numerical Simulation ??= ?0+ ??? ??= ?? 1+ ?? ? (1) Analytical (2) Numerical Dynamic Control 10
Numerical Simulation Code ??= ?? 1+ ?? ? let initialPosition = 0; let chassisPosition = initialPosition; let angularVelocity = 1; let wheelRadius = 1; function simulate( duration ) { let time = 0; const timeStep = 0.01; let v = angularVelocity * wheelRadius while ( time < duration ) { chassisPosition += v * timeStep; time += ; } } 11
Demo 12