User Tools

Site Tools


newsletters:2026-04

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
newsletters:2026-04 [2026/05/05 16:48] – Add SVA setup cwervonewsletters:2026-04 [2026/05/05 20:08] (current) – [NaN handling] osnr
Line 1: Line 1:
- 
 ====== April 2026 newsletter ====== ====== April 2026 newsletter ======
  
Line 33: Line 32:
 === Bluetooth keyboard support === === Bluetooth keyboard support ===
  
-Omar started working on new Bluetooth keyboard support where we don't need a custom udev device path in ''by-path''+Omar and Andrés started working on new Bluetooth keyboard supportwhere we don't need a custom udev device path in ''by-path'' -- ideally, we could pair and reconnect a keyboard just from the table (and ideally completely automatically if already paired). 
 + 
 +{{newsletters:c0cd1dcc-f626-46b0-9f07-f4dee96c0298-7942-00000d891e1303c7.png?300px}} 
 + 
 === Multi-display / multi-camera support === === Multi-display / multi-camera support ===
  
Line 43: Line 46:
  
 Given this stereo camera, how can we add crop support to the UI and ultimately calibrate and use both 'eyes' to do better pose estimation? Given this stereo camera, how can we add crop support to the UI and ultimately calibrate and use both 'eyes' to do better pose estimation?
 +
 +
 +=== Easier camera config ===
 +
 +
 +Added a setting on /camera that lets you set the exposure (and auto-exposure mode) live right there. Also now iframe /camera on the calibration page, so we have just that one uniform UI for camera config (including any future settings we might want to add), rather than /calibrate having its own one-off exposure slider.
  
 === Camera crop === === Camera crop ===
Line 52: Line 61:
 (We use this to pick just the left eye for now out of a stereo side-by-side ELP image, but eventually want to use this to create two virtual cameras, one from each eye, to co-calibrate.) (We use this to pick just the left eye for now out of a stereo side-by-side ELP image, but eventually want to use this to create two virtual cameras, one from each eye, to co-calibrate.)
  
-=== Easier camera config === 
  
 +=== GPU refactor for multiple displays === 
  
-Added a setting on /camera that lets you set the exposure (and auto-exposure mode) live right thereAlso now iframe /camera on the calibration page, so we have just that one uniform UI for camera config (including any future settings we might want to add), rather than /calibrate having its own one-off exposure slider.+Omar: [[https://github.com/FolkComputer/folk/pull/255|Did a big refactor]] of the gpu/draw.folk and gpu/gpu.folk and other code -- split out most of the pipeline compilation logic and made the draw library not dependent on the specific display and display mode, so we can reuse pipelines to draw on any display & have multiple displays active at once.
  
 +Now when you boot Folk on a PC with two displays, we can draw to both, but it's still the same stuff drawn to both. In order to have a properly multi-display Folk system, we need to change a lot of the draw statements to be scoped to a specific display, which may be a breaking API change.
 +==== Ideas for fixing pose estimation errors ====
  
-=== GPU refactor for multiple displays === +Some systems have [[https://github.com/AprilRobotics/apriltag/issues/71|pose estimation problems]] while we rely on monocular vision. One solution is to use a stereo camera to remove ambiguity; another is to account for the table plane in some way to narrow down candidates.
  
-Omar[[https://github.com/FolkComputer/folk/pull/255|Did a big refactor]] of the gpu/draw.folk and gpu/gpu.folk and other code -- split out most of the pipeline compilation logic and made the draw library not dependent on the specific display and display mode, so we can reuse pipelines to draw on any display & have multiple displays active at once.+Here is a simple proposal: 
 + 
 +{{newsletters:screenshot-2026-04-24-at-5.10.07-pm.png?400px}}
  
-Now when you boot Folk on a PC with two displays, we can draw to both, but it's still the same stuff drawn to both. In order to have a properly multi-display Folk system, we need to change a lot of the draw statements to be scoped to a specific display, which may be a breaking API change. 
 ==== New studio setup ==== ==== New studio setup ====
  
-Last month, we started [[newsletters/2026-03#moving-into-the-new-studio|moving ]]out of Hex House and into a new studio space in Williamsburg. We continued that process this month and finalized a lot of the layout (although we don't necessarily have final mounting situation and tables/storage yet).+Last month, we started [[newsletters/2026-03#moving-into-the-new-studio|moving]] out of Hex House and into a new studio space in Williamsburg. We continued that process this month and finalized a lot of the layout (although we don't necessarily have final mounting situation and tables/storage yet). 
 === L-shaped dedicated area for Folk === === L-shaped dedicated area for Folk ===
  
Line 77: Line 90:
  
 Was trying the Logitech Brio 4K on one side and NexiGo on the other side at first. Horrible issues with USB3; ultimately gave up on the Brio 4K for now. Was trying the Logitech Brio 4K on one side and NexiGo on the other side at first. Horrible issues with USB3; ultimately gave up on the Brio 4K for now.
 +
 +{{newsletters:img_4149.mp4?250px}}
  
 {{.:pasted:20260504-222528.png?350px}} {{.:pasted:20260504-222528.png?350px}}
  
-(I think it'the SAM2 demo that's running/rerunning all the time and really pushing the Nvidia drivers.)+(I think it might be the SAM2 demo I have on the table that's running/rerunning all the time and really pushing the Nvidia drivers and causing deadlock.) 
 === Communal table (folk-convivial) / JMGO N1 Ultra setup === === Communal table (folk-convivial) / JMGO N1 Ultra setup ===
  
Line 97: Line 113:
 It's not as light as the AAXA 4K1 (4ish pounds), but it's similar price and much, much brighter. It's not as light as the AAXA 4K1 (4ish pounds), but it's similar price and much, much brighter.
  
-C-stand setup+Set it up on a tall C-stand (8-10 feet) for now, and wrapped a lampshade around it (see the head on table in second-to-last photo). C-stands have been useful for temporary mounting of heavy-ish stuff, but ultimately, should probably suspend from ceiling to get it totally out of the way.
  
-{{newsletters:img_3640.jpeg?0x400px}} +{{newsletters:img_3640.jpeg?0x300px}} {{newsletters:img_3613.jpeg?0x300px}} {{newsletters:img_4150.jpeg?0x300px}} {{newsletters:img_4162.jpeg?0x300px}} {{newsletters:img_4152.jpeg?0x300px}} 
- +
-{{newsletters:img_4150.jpeg?0x300px}} {{newsletters:img_4152.jpeg?0x300px}}+
  
 === Moving the CNC machine === === Moving the CNC machine ===
Line 134: Line 148:
 {{newsletters:screenshot-2026-04-29-at-6.04.12-pm.png?500px}} {{newsletters:screenshot-2026-04-29-at-6.04.12-pm.png?500px}}
  
 +Now capping the number of optimization iterations and throwing an error when NaN appears in any parameter. Still need to report to frontend UI.
 === Inline live preview on /calibrate === === Inline live preview on /calibrate ===
  
newsletters/2026-04.1777999693.txt.gz · Last modified: by cwervo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki