Wow, thatās utterly mind blowing that this was done by a single person. You have to see the video, even if you donāt understand Chinese: https://www.bilibili.com/video/BV1fV411x72a
Aside from some help he got from a friend to fabricate the metal parts (he gave up on 3D printing since it was too fragile), it seems he did everything else himself. A very impressive project.
Iād be happy to help interpret a bit what is going on in the video or the project itself. Short story is that it is, by all appearances, a self-propelled bike which uses a central gyro wheel for stabilization and a rear driving wheel for motion. It has an RGBD camera mounted at the front for obstacle sensing, an ESP32 for real-time control using ROS, and a Huawei DaVinci processor running Linux for the sensing with some unspecified computer vision bits. It looks like he custom-designed the PCB to integrate these two processors.
Edited: misunderstood the last bit. Heās not a high school student, but he is a recent university graduate (finished undergrad in 2018).
I don't think that it properly 'self navigates'. It seems to more just be a 'go forward without crashing into stuff' sort of algorithm. If you presented it with a dead end or a traffic cone or something like that, it would probably completely freak out and start oscillating. The navigation seems to be very rudimentary, but props to the creator because it's very good at staying upright.
That's an incredible video! How one person did this is beyond me, but my hat's off to the creator of this project.
I have to say though... the streaming comments overlaid on the video player in BiliBili is beyond annoying.
Ah, you can turn those (danmaku comments) off: click the āå¼¹ā button in the video controls.
Turn off the comments by tapping on bottom extreme left icon (TV icon).
Demonstration video: https://m.bilibili.com/video/BV1fV411x72a
The videoās chat comments are pretty funny, similar to twitch chat.
Heās explaining the planning, basic physics, and build process. Some of the comments were like: āI took a course on this but still lostā
At 5:00, heās explaining the AI processing part and made a comment of how this part is ācomparatively simpleā and the whole chat repeats this (sarcastically). Then most of the people say how theyāre lost and how this guy is a boss
Pretty fun video to watch overall.
Thanks!
Everyone else, if you can't read Chinese and want to turn the distracting comments off, it's the switch below the video labelled "å¼¹".
Haha I guess that Twitch style real time response sarcastic chat transcends cultures.
Side question: the road and everything looks super tidy. No trash, all new. Is this normal for China? Or was this filmed in an upscale neighborhood?
Yes, this is normal in managed residential and commercial neighbourhoods. Presumably one would seek out such a controlled environment for testing.
PS. Not sure what city this was filmed in, visible number plates are Shanghai and Yunnan, but he mentions Tsinghua (Beijing).
One thing I noticed in Chinese cities is that they often had a cleaner assigned to each block. They would have a blue jumpsuit, broom, shovel, and wheelie bin.
In the big cities, streets were very clean.
Turn off the comments by tapping on bottom extreme left icon (TV icon).
Wow, the bike standing there and seemingly not doing any motion to stabilize itself (like a human rider would) is quite interersting. I guess its still doing micro-movements, but they are not captured by the camera.
What I'm wondering a little bit is how stability would be, given the thingy is rather light without a rider. Bikes definitely gain stability from weight - and the rider adds the biggest amount of that.
Reaction wheels can provide a surprising amount of control over balance: https://youtu.be/n_6p-1J551Y
Interesting, this reminds me of the cube weapon in the Gibson novel "The Peripheral"
Human riders can kinda do that too (track standing)
Sure! But what I meant is that a human rider doing a trackstand will do a far bigger amount of motions. There's always some steering and rocking back and forth involved. See for example https://youtu.be/I6ABRLHLiTg?t=139
Neat. It seems like during turning it stabilizes very upright, I wonder how you could give it the natural lean into turns like a bike rider.
Also I am curious how one modifies a PID controller to keep the RPM of the reaction wheel low. With a standard PID controller you would eventually exceed Max RPM, wouldn't you
the reaction wheel works because of the large moment of inertia of the wheel. when the bike begins to tip over, it applies a torque to the wheel. you can imagine trying to get that wheel turning with your hands, it would offer a lot of resistance at first before getting up to speed. the bike is applying torque against that resistance and this moves the bike. this means that, if the moment of the wheel is large enough, and the correction small enough, you could make a correction without even spinning the wheel very much at all.
when the bike is making a correction, it can overshoot and then stop the wheel suddenly, which would ultimately result in the bike becoming perfectly upright and the wheel not accumulating any speed from one correction to the next.
if the momentum of the correction you need to make is greater than the momentum of the wheel spinning at max RPM, then the bike will fall over. this means that the system will fail if the bike is pushed too hard, becomes too off-balance or if there is something heavy, like a person, on top of it. with a wheel that was heavy enough, and a motor strong enough, the bike would be able to make itself upright from laying on the ground or keep itself upright with a person and cargo on top.
You change the target lean angle based on RPM. Let's say there's a side wind from the right, the wheel keeps spinning faster, so it'll set the desired lean further to the right until the RPM starts dropping.
You'd need to get rid of the gyro, I think.
Probably the most creative usage of an ESP32 Iāve seen so far.
I write infrastructure system, and had little experience in embedded or microcontroller.
Why is it creative?
Because the vast majority of ESP32 projects (and R-Pi for that matter) that get posted on here are for basic IoT things that don't need anywhere near the capabilities of an ESP32.
Self-driving bicycles (for last-mile deliveries) can be _much less precise_ than cars: 10mph is slow enough for both parties to have a lot of time to react, and if 50lbs of bicycle going at 10mph hits a pedestrian (god forbid) the impact might not even knock you down.
Google had an April fools about this ~4 years ago. This looks brilliant.
Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.