spanny 2: Rise of C++ std::mdspan
Talkat CppCon 2024 · on Thursday, 2024-09-19· at 16:45· Spruce 3/4, 6700 North Gaylord Rockies Boulevard·
summary
Uses the std::mdspan reference implementation from the Coco Library because GCC lacks full support, shows exact layout and accessor requirements, and implements a rotated submap using the three‑skew algorithm. Demonstrates occupancy grids, submaps and laser scans (about 900 samples over ~270° at ~5 Hz), builds a bin‑checker accessor that commands robot arms to inspect a 2×3 grid, first synchronously then asynchronously with std::future, and the robot runs the demo successfully.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:33Talk goals and structure
- 2:38History and motivation
- 3:42Traditional array limits
- 6:34What is std::mdspan
- 7:15mdspan template parameters
- 9:24Layout policies explained
- 11:10Default layout policies
- 15:50Custom layout policies
- 19:49mdspan for robotics grids
- 22:18Creating submaps for navigation
- 25:55Rotated submap layout design
- 31:30Laser scan data reduction
- 35:30Robot footprint collision check
- 37:16Accessor policies explained
- 39:44Hilbert matrix accessor
- 42:36Robot arm beer accessor
- 48:14Async robot arm accessors
- 52:16Live robot arm demo
- 52:36Summary
- 53:39Q&A
related talks
26mTwisty Little Passages
24mMaps, Data, and Charts - Bound for Great Things!
13mGeocode/R
38mData Mapping for Data Exploration
05mOSM Scout library - Swiss knife for geographic data (in C++)
06mInsights in 5-D! (Using magic small-multiples layouts)
23mDistributed Visualization for Genomic Analysis
57mInteractive C++ for Data Science
