2016 swarmathon
play

2016 Swarmathon RSS Workshop Technical Tutorial Joshua Hecker - PowerPoint PPT Presentation

2016 Swarmathon RSS Workshop Technical Tutorial Joshua Hecker & Matthew Fricke 1 Tutorial Outline Introduction ( 20 min) Physical Platform: Capabilities and Limitations Virtual Platform + Demo Localization is Hard ( 30


  1. 2016 Swarmathon RSS Workshop Technical Tutorial Joshua Hecker & Matthew Fricke 1

  2. Tutorial Outline • Introduction ( 20 min) – Physical Platform: Capabilities and Limitations – Virtual Platform + Demo • “Localization is Hard” ( 30 min) – Recalibration walkthrough – Extended Kalman Filters: Theory and Practice – Alternate strategies • Search Algorithms ( 10 min) • Virtual Enhancements ( 15 min) • Physical Gripper ( 10 min) 2

  3. Introduction 3

  4. Physical Platform • Computation and Control: – Arduino Leonardo-like microcontroller – Intel NUC mini PC – 8 GB RAM, 32 GB SSD, WiFi/Bluetooth • Actuation: – 12V 131:1 DC brushed motors – Hitec servo motors • Sensing: – 10-axis Alt IMU: accelerometer, gyroscope, magnetometer – Ping))) ultrasounds – U-blox GPS – Magnetic quadrature wheel encoders – Logitech C170 webcam • Power: – 14.8V, 13.6 Ah Li-Ion battery Introduction 4

  5. Physical Platform: Computation & Control • Microcontroller: – Receives IMU, ultrasound, encoder data – Actuates wheels and servos – Serial communication w/ PC • PC: – Receives camera, GPS data via USB – Runs Ubuntu Linux 14.04, ROS Indigo Igloo – Provides high-level autonomous control Introduction

  6. Physical Platform: Actuation • DC Motors: – 8-bit PWM control – Includes built-in encoders – Provides skid steer control • Gripper: – “Fingers” and “wrist” – DC-DC converter for current – Maintains position over time Introduction

  7. Physical Platform: Sensing • IMU provides: – x/y/z acceleration – noisy – x/y/z velocity – accurate, drifts over time – x/y/z gravity – accurate, needs calibration • Ultrasound provides: – Distance – highly accurate, false positives • GPS provides: – Lat/long – very noisy, mitigates drift • Encoders provide: – x/y/ ω position and velocity – highly accurate, rapidly accumulates drift • Camera provides: – 640 x 480 RGB image – sensitive to blur Introduction

  8. Virtual Platform • Gazebo: – High-fidelity physics simulator – Plugin interface replicates physical sensors and actuators • Models: – 3D mesh representation of real Swarmie – Includes joints that provide for realistic movement – Also represents walls, ground, and tags/blocks • Model Descriptions: – XML-like description of physical characteristics – Sensor/actuator plugins implement noise Introduction 8

  9. Virtual Platform: Demo Introduction 9

  10. Overview of ROS Framework • Robot functionality encapsulated in ROS “nodes” and “packages” • ROS Master facilitates peer-to-peer network communication between nodes • Publish-subscribe system allows C++ programs to share information on relevant topics Introduction

  11. Overview of ROS Framework • Robot functionality encapsulated in ROS “nodes” and “packages” • ROS Master facilitates peer-to-peer network communication between nodes • Publish-subscribe system allows C++ programs to share information on relevant topics Introduction

  12. Overview of ROS Framework • Robot functionality encapsulated in ROS “nodes” and “packages” • ROS Master facilitates peer-to-peer network communication between nodes • Publish-subscribe system allows C++ programs to share information on relevant topics Introduction

  13. Overview of ROS Framework • Robot functionality encapsulated in ROS “nodes” and “packages” • ROS Master facilitates peer-to-peer network communication between nodes • Publish-subscribe system allows C++ programs to share information on relevant topics Introduction

  14. Overview of ROS Framework • Robot functionality encapsulated in ROS “nodes” and “packages” • ROS Master facilitates peer-to-peer network communication between nodes • Publish-subscribe system allows C++ programs to share information on relevant topics Introduction

  15. Online Resources • Offical Website: http://www.NasaSwarmathon.com • Swarmathon Codebase: https://github.com/BCLab-UNM/Swarmathon-ROS • Install: http://wiki.ros.org/indigo/Installation • Tutorials: http://wiki.ros.org/ROS/Tutorials • Resources: – ROS: http://wiki.ros.org – Git: http://git-scm.com/doc Introduction

  16. Tutorial Outline • Introduction ( 20 min) – Physical Platform: Capabilities and Limitations – Virtual Platform + Demo • “Localization is Hard” ( 30 min) – Recalibration walkthrough – Extended Kalman Filters: Theory and Practice – Alternate strategies • Search Algorithms ( 10 min) • Virtual Enhancements ( 15 min) • Physical Gripper ( 10 min) 16

  17. Localization is Hard

  18. Recalibration • Intuition: – The collection zone represents a known, fixed position in space – When a robot detects the zone, the robot’s position becomes known as well – The robot should exploit this spatial relationship to correct for drift in its sensors Localization 18

  19. Recalibration • Implementation: 1. Initialize collection zone position at (0,0) 2. Search for resources 3. When resource is found, set goal position equal to current collection zone position 4. When collection zone is detected, update collection zone position by setting it equal to current position 5. Return to Step 2 Localization 19

  20. Recalibration Live Exercise: Try it Yourself! Localization 20

  21. Recalibration 1. Initialize collection zone position 2. Set goal position after finding resource Localization 21

  22. Recalibration 3. Update collection zone position after returning Localization 22

  23. Using Sensor Data Effectively • A major challenge during the competition was accurate positioning. • Swarmies have the following sensors: – Inertial Measurement Unit (IMU) – Camera – Wheel Encoders – Global Positioning • Each have different noise properties. Localization

  24. Sensor Noise No noise, perfect signal 5% noise State 20% noise 15% noise Time Localization

  25. Kalman Filter True State Noisy Sensor Reading EKF Filtered State Time Localization

  26. Theory: Kalman Filter P(noise) • Provably optimal when noise is Gaussian distributed with zero mean. noise • And the control and measurement models are linear. Localization

  27. Linear Control and Observation Control (transition) Model: Observation Model: Localization

  28. Relating Control, Measurement and Noise Localization

  29. Relating Control, Measurement and Noise Localization

  30. Extended Kalman Filter • The Kalman filter assumed linear relationships. • In real systems the relationship may be non- linear. • But we can take the derivative of the signal to linearize it. • This is the extended Kalman filter. No longer optimal but works well. Localization

  31. Sensor Fusion with Multiple States • Recall the sensor measurement is: • We would like to generalise this to multiple sensors with different kinds of states: – For example, states might be yaw-angle, velocity, or position. – Sensors might be IMU, encoders, or GPS. Localization

  32. Sensor Fusion with Multiple States • Recall the sensor measurement is: • If we have three sensors with 2 different states we can write: With each row corresponding to a sensor and each column to a type of state. Localization

  33. The EKF Algorithm Localization

  34. Input previous The EKF Algorithm state estimate Localization

  35. Input previous The EKF Algorithm state estimate Output an estimate for the current state Localization

  36. Previous The EKF Algorithm covariance Localization

  37. Previous The EKF Algorithm covariance … and the updated covariance matrix. Localization

  38. Current The EKF Algorithm Observation Localization

  39. The Kalman gain, , The EKF Algorithm weights the sensor measurements according to, , the prediction covariance (noisiness). Localization

  40. The EKF Algorithm The new observation coefficient matrix depends on how good the previous one was. Localization

  41. The EKF Algorithm Prediction Step Localization

  42. The EKF Algorithm Prediction Step Correction Step Localization

  43. Sensor Fusion Sensor 1: Higher Covariance Ground Truth Sensor 2: Lower Covariance EKF Fusion The EKF estimate is closer to the sensor with less noise. Localization home.wlu.edu/~levys/kalman_tutorial/

  44. In Practice • The EKF is a recursive function that calls itself at each time step to improve the robot state estimate. • It weights sensor data by the variance they contribute to the state prediction. • ROS has an EKF package to do all this for us* *Moore, Thomas, and Daniel Stouch . 2016. “A Generalized Extended Kalman Filter Implementation for the Robot Operating System.” In Intelligent Autonomous Systems 13 , 335 – 48. Springer. Localization

  45. EKF in ROS • Two nodes: – ekf_localization : EKF implementation – Navsat node : sensor processing. Transforms latitude and longitude to the robots local frame. Localization

  46. Topic: fix Type: navsat/fix Topic: imu Navsat transform node Type: imu Topic: odom/navsat Type: odom with covariance Topic: odom EKF localization node Type: odom Wheel encoders Topic: odom/ekf Type: odometry with covariance Localization

Recommend


More recommend