Sign in

lucasw

@lucasw0.bsky.social
33 followers 91 following 90 posts

github.com/lucasw Interested in rust programming & robotics

PostsRepliesMedia
lucasw @lucasw0.bsky.social · 18/05/2026
"The point is just that the the clean modular picture that you were given of a network stack is a complete lie. These things are complexed together to high heaven."
000
lucasw @lucasw0.bsky.social · 18/05/2026
"So there are instances in which TCP actually needs to reach down not just into IP but actually through IP into the boundary layer between IP and Ethernet in order to muck with the neighbor table entries in IPv6..."
100
lucasw @lucasw0.bsky.social · 18/05/2026
"That is a beautiful nice simple picture to provide a mental model that we can teach to students. But if you've worked in the real networking world, you know that we violate those those abstraction boundaries all the time."
100
lucasw @lucasw0.bsky.social · 18/05/2026
"The Ethernet sits there and doesn't know anything about how IP works and IP sits above Ethernet and doesn't know anything about how Ethernet works and TCP sits above IP and doesn't know how how IP works and doesn't even know that Ethernet exists. That is a complete lie."
100
lucasw @lucasw0.bsky.social · 18/05/2026
"if you've taken a a a networking class, you may have seen the the five layer model or the seven layer OSI model and you have this very clean abstraction boundary." youtu.be/THMLDJUFEWI?...
youtu.be
zerocopy with Joshua Liebow-Feeser
YouTube video by Plabayo BV
100
lucasw @lucasw0.bsky.social · 12/01/2026
"I don't want to run a piece of code on any of my devices that somebody else wrote outside of sandbox ever again." oxide-and-friends.transistor.fm/episodes/pre...
000
lucasw @lucasw0.bsky.social · 21/12/2025
The rmse of curvature error and position error currently gives equal weight to the end points and the interior points, but I'd prefer the end points are more strongly clamped and error in the very middle is less important
000
lucasw @lucasw0.bsky.social · 21/12/2025
Next up is finding optimal (or just pretty good) bezier approximations of clothoid curves, and the other way around github.com/lucasw/cloth...
100
lucasw @lucasw0.bsky.social · 20/12/2025
(also it's using rust, egui, and an adapted 'stroke' for the cubic bezier curves)
000
lucasw @lucasw0.bsky.social · 20/12/2025
Cubic bezier curve circle approximation www.youtube.com/watch?v=pqCP...
youtube.com
Cubic Bezier Curve Circle Approximation
YouTube video by Lucas Walter
200
lucasw @lucasw0.bsky.social · 20/12/2025
It turns out ReciprocalLength was there all along, I just assumed it would be named InverseLength docs.rs/uom/latest/u... - but I still want the AngleLengthRate/Velocity (not PerSecond as above, I keep mixing up the type and particular units)
docs.rs
uom::si::reciprocal_length - Rust
Reciprocal length (base unit reciprocal meter, m⁻¹).
030
lucasw @lucasw0.bsky.social · 08/12/2025
I found rust uom ('units of measure' - docs.rs/uom/latest/u...) through sguaba (@jonhoo.eu github.com/helsing-ai/s...) but now I want to make `InverseLength + <inverse_meter>` and next `AngleLengthPerSecond + <radian_meter_per_second>` - so far I'm half way there github.com/lucasw/misc_...
github.com
GitHub - helsing-ai/sguaba: A Rust crate that provides hard-to-misuse rigid body transforms (aka "spatial math") for engineers with other things to worry about than linear algebra.
A Rust crate that provides hard-to-misuse rigid body transforms (aka "spatial math") for engineers with other things to worry about than linear algebra. - helsing-ai/sguaba
130
lucasw @lucasw0.bsky.social · 17/10/2025
Rust in Production robotics podcasts in addition to the Scythe Robotics with Andrew Tinka one above: Matic with Eric Seppanen and AMP with Carter Schultz: corrode.dev/podcast/s02e... corrode.dev/podcast/s02e...
corrode.dev
AMP with Carter Schultz - Rust in Production Podcast | corrode Rust Consulting
Imagine you’re faced with the challenge to build a system that can handle billions of recyclable items per year with the goal of being better than a human at identifying what can be recycled. Material...
000
lucasw @lucasw0.bsky.social · 17/10/2025
corrode.dev/podcast/s05e...
corrode.dev
Scythe Robotics with Andrew Tinka - Rust in Production Podcast | corrode Rust Consulting
Building autonomous robots that operate safely in the real world is one of…
100
lucasw @lucasw0.bsky.social · 16/10/2025
"I I think it gives people an idea that we're like a Montessori school for systems people. And it's like hey everyone come in and just do whatever you want. Do you wanna eat the Play Doh today? Ok eat the Play Doh... I feel like that's not really accurate"
000
lucasw @lucasw0.bsky.social · 16/10/2025
"We can talk about this in kind of our founder mode episode that we about the importance of trust and clarity. And if you've got trust and clarity, then I think you can have autonomy... I think autonomy is important because I think that's when people do the best work"
100
Reposted by lucasw
Jorrit Rouwe @jrouwe.bsky.social · 27/09/2025
Jolt Physics v5.4.0 is out! Check out the release notes here: github.com/jrouwe/JoltP...
github.com
Release 5.4.0 · jrouwe/JoltPhysics
There are a few minor breaking changes, see this document. New Functionality Added Cosserat rods to soft bodies. This is a stick constraint with an orientation that can be used to attach geometry....
1354
lucasw @lucasw0.bsky.social · 04/10/2025
Rust wrapped Jolt Physics visualized in Bevy- each ray-cast simulated lidar point is an individually translated sphere youtu.be/I2yfPAyACps?...
youtu.be
Rust Bevy JoltPhysics vehicle simulation
YouTube video by Lucas Walter
010
Reposted by lucasw
Jon Gjengset @jonhoo.eu · 29/09/2025
About a month ago, I gave a talk at the Rust Amsterdam meetup about Sguaba (the type-safe spatial math Rust crate), and the recording of that is now online for anyone who wants their head to hurt with frames of reference and coordinate transforms 😅 youtu.be/kESBAiTYMoQ
youtu.be
Sguaba: Type-safe spatial math in Rust
YouTube video by Jon Gjengset
1244
lucasw @lucasw0.bsky.social · 04/10/2025
The 'Rust for Robotics' video is now on youtube: youtu.be/1zLLuWbnuN8?...
youtu.be
Yang Zhou: "Rust for Robotics: Safer, Faster Systems for Autonomous Applications" | RustConf 2025
YouTube video by Rust Foundation
000
Reposted by lucasw
RustConf @rustconf.com · 03/10/2025
It's been a month since #rustconf 2025, but the buzz is still strong! 🦀 Revisit the magic via these videos on the @rustfoundation.org YouTube channel, incl. sessions, keynotes, & this highlight reel: www.youtube.com/watch?v=Hw_I... +Don’t miss these event pics 📸 www.flickr.com/photos/rustf...
0146
lucasw @lucasw0.bsky.social · 18/09/2025
A nice feature with rerun with the buffering of recent data in rerun is that I can build, run a simulation of so many steps faster than real time, replay some then make changes and recompile, but continue to watch the sim in rerun and scrub around in time while waiting (and maybe make more changes).
000
lucasw @lucasw0.bsky.social · 18/09/2025
@rerun.io for visualization again, though the movement over the terrain is not obvious- directional lighting and shadows would help (rviz doesn't have shadows but does have camera aligned lighting). I could bake some shading into the mesh triangle colors, or other rerun features could help?
110
lucasw @lucasw0.bsky.social · 18/09/2025
The Jolt Physics 'VehicleConstraintsTest C++ wrapped in rust using cxx- it's working as well as I need it to though I'm not sure if wheel friction is right (are wheels spinning faster than vehicle speed over the ground?). The build process isn't ideal but is workable. github.com/lucasw/jolt_...
200
lucasw @lucasw0.bsky.social · 16/09/2025
A soon-to-be-released book about iRobot: 'Dancing with Roomba: Cracking the Robot Riddle and Building an Icon' dancingwithroomba.com - via @weeklyrobotics.bsky.social (www.weeklyrobotics.com)
dancingwithroomba.com
Dancing with Roomba – Cracking the Robot Riddle and Building an Icon
000
lucasw @lucasw0.bsky.social · 11/09/2025
``` cxx_build::bridge... .define("JPH_DEBUG_RENDERER", Some("1")) .define("JPH_PROFILE_ENABLED", Some("1")) ``` Now can run the hello world through cxx, can resume with the vehicle example next
000
lucasw @lucasw0.bsky.social · 11/09/2025
Need to match these: ``` Version mismatch, make sure you compile the client code with the same Jolt version and compiler definitions! Mismatching define JPH_PROFILE_ENABLED. Mismatching define JPH_DEBUG_RENDERER. ```
100
lucasw @lucasw0.bsky.social · 10/09/2025
Maybe will get an answer here github.com/dtolnay/cxx/... though it isn't really a cxx issue
github.com
Include headers in cxx_build include() brought in by a dependency within target/ sub-directory? · Issue #1641 · dtolnay/cxx
I have headers like target/release/build/joltc-sys-cbcdf0340a740e35/out/include/Jolt/Physics/PhysicsSystem.h I'd like to use with cxx_build::bridge(...).include(), but that hash is not going to be ...
000
lucasw @lucasw0.bsky.social · 10/09/2025
Does 'links' help? doc.rust-lang.org/cargo/refere...
doc.rust-lang.org
Build Scripts - The Cargo Book
000
lucasw @lucasw0.bsky.social · 10/09/2025
First question is can I use header files that are pulled in by a dependency (joltc-sys) in my `build.rs`? It looks like it automatically knows about target/release/build/joltc-...hash.../out/lib/libJolt.a, I can link that, but how to include 'joltc-sys-.../out/include/' in cxx_build?
200
lucasw @lucasw0.bsky.social · 10/09/2025
Starting over with getting a Jolt physics vehicle simulation into rust- going to try to put a big chunk of it into C++, then use cxx to manage that through a high level interface to supply inputs, step the sim, and get new state after the step update.
200
lucasw @lucasw0.bsky.social · 10/09/2025
The next thing needed is a HeightField to drive over, but that isn't in the jolt-rust JoltC currently- github.com/amerkoleci/j... which is a different jolt c wrapper does have it, but making a rust wrapper for that is daunting. Should I just do nearly everything in C++, wrap in rust at high level?
github.com
GitHub - amerkoleci/joltc: JoltPhysics C interface
JoltPhysics C interface. Contribute to amerkoleci/joltc development by creating an account on GitHub.
000
lucasw @lucasw0.bsky.social · 10/09/2025
Have a sim vehicle in jolt-rust working with stacked hinges for wheel rotation and steering on two of four wheels, no suspension, visualized in @rerun.io:
111
lucasw @lucasw0.bsky.social · 09/09/2025
But now I'm seeing the SixDOFConstraintSettings is missing the MotorSettings... maybe I should just make slider constraints and add separate steering and rolling hinges?
100
lucasw @lucasw0.bsky.social · 09/09/2025
What about GroupFilterTable? I see JPC_GroupFilter but no table- what does the table do?
000
lucasw @lucasw0.bsky.social · 09/09/2025
But VehicleSixDOFTest.cpp only needs SixDOFConstraintSettings which is already in JoltC, so that's the example to follow for now
200
lucasw @lucasw0.bsky.social · 09/09/2025
Now looking at VehicleConstraintTest.cpp there are several things that don't exist in JoltC: VehicleConstraintSettings & WheelSettingsWV (which extends WheelSettings) - the first looks to be easy to add, there are many other *ConstraintSettings in JoltC to follow the example of.
100
lucasw @lucasw0.bsky.social · 02/09/2025
Rustconf main room
040
lucasw @lucasw0.bsky.social · 30/08/2025
Also need to update the joltc submodule with SetGravity: github.com/lucasw/JoltC...
github.com
add PhysicsSystem SetGravity · lucasw/JoltC@5f08a55
100
lucasw @lucasw0.bsky.social · 30/08/2025
Have to cargo clean if I add a new function to the Jolt bindings? Or is there a specific file or directory in target I could have deleted for less rebuilding time? Anyhow added SetGravity() github.com/lucasw/jolt-...
github.com
add physics system set_gravity · lucasw/jolt-rust@ed21aad
110
lucasw @lucasw0.bsky.social · 29/08/2025
cargo test was strangely sensitive to `build.rs` link order, figured it out by trial and error: github.com/lucasw/jolt-...
github.com
cargo test is very sensitive to the link order (on linux), it has to … · lucasw/jolt-rust@94efc77
…be in this new position
100
lucasw @lucasw0.bsky.social · 29/08/2025
linux building is current of jolt-rust was broken, `undefined reference to `JPH::AlignedFree'` and many many others- but adding a `build.rs` to link the built libraries in the hello world examples fixed that- except cargo test has the same problem- how do I link it?
110
lucasw @lucasw0.bsky.social · 29/08/2025
The goal is to recreate this car example with the rust bindings- the visualization could be handled by rerun if there's nothing working out of the box from jolt-rust.
110
lucasw @lucasw0.bsky.social · 29/08/2025
Also needed `sudo apt install libxcb-cursor-dev`
100
lucasw @lucasw0.bsky.social · 29/08/2025
So far compiling Jolt with cmake in Linux on Ubuntu 24.04, but had to edit TestFramework/Utils/AssetStream.cpp and run Samples out of the JoltPhysics/Assets directory so assets load: - mStream((sGetAssetsBasePath() + inFileName).c_str(), inOpenMode) + mStream(inFileName, inOpenMode)
100
lucasw @lucasw0.bsky.social · 28/08/2025
I didn't get far with vehicle physics using bevy & rapier physics when I tried a few months ago, but now diving back in- I need physics and I'm willing to wrap C++ for rust, perhaps with bullet, but it turns out there's Jolt github.com/jrouwe/JoltP... and jolt-rust github.com/SecondHalfGa...
github.com
GitHub - SecondHalfGames/jolt-rust: Rust bindings to Jolt Physics
Rust bindings to Jolt Physics. Contribute to SecondHalfGames/jolt-rust development by creating an account on GitHub.
120
lucasw @lucasw0.bsky.social · 13/08/2025
There's an embassy task that owns the ntp send and receives over udp, it updates an embassy-sync watch, and then a loop in main gets it and applies it to the systick time, and results look reasonable. I may look into using canbus on this stm32 board but not for a while. docs.rs/embassy-sync...
docs.rs
Watch in embassy_sync::watch - Rust
The `Watch` is a single-slot signaling primitive that allows multiple (`N`) receivers to concurrently await changes to the value. Unlike a `Signal`, `Watch` supports multiple receivers, and unlike a `...
010
lucasw @lucasw0.bsky.social · 13/08/2025
Getting sntpc working within embassy was harder than expected, maybe I went about it the wrong way because I ended up forking sntpc to make a very slightly different version of `sntp_process_response()`. github.com/lucasw/misc_...
github.com
100
lucasw @lucasw0.bsky.social · 09/08/2025
The boiler plate that was strange was having to set up a random seed for rng and providing an empty Vec of dns_servers, and packetmetas/metadatas. I'd like to find good explanations of all that, also what the bind_interrupts with HASH_RNG is doing (probably it is in the embassy & smoltcp docs)
010
lucasw @lucasw0.bsky.social · 09/08/2025
Can send udp packets out of the stm32h753 with embassy now github.com/lucasw/misc_... (and the blinky leds are still blinking, which means the async is still asyncing)
110