Surface angle sensors for hill climb/descent and/or half-pipe



  • @mr-vince Sonar could work, but the "time of flight" is much longer, and the data is usually very dirty, which would require much longer "averaging" time, and that would basically only get you the average slope of whatever hill you're riding, not the local slope.

    @Glyph I am planning on having an "error override" function, so if it senses something that is impossible, it just shuts off the surface sensing, and leaves the gyro output untouched. In response to the damage concern: I will absolutely be putting them in an elevated position, to keep them from scraping or hitting anything. That would be a very bad day.

    @fruitygreen It would never be instantaneous. It would be a gradual transition over ~1/6 second, which is probably slower than you tilt the board, for a given input of the same magnitude. The lag would be minimal (microseconds), if using a RTOS on the arduino. Hand throttle would completely defeat the purpose of having the onewheel. If you want a hand throttle, just get a boosted board or similar. Unless you're saying to have a hand throttle to set the "relative tilt" which could be done, but would only be useful for very long term averaging, in which case, sonar would give you the same results, without needing a hand controller.



  • @Maverick are you the one doing the development on this? I thought you were just brainstorming and making a feature request post. Much respect to you for actually try to develop this idea. I'm really interested in knowing how you plan to intercept the gyro signal and interface with the OW processor.

    for the sonar, it looks like sample rate would also be a problem. I think i read someplace that off-the-shelf Arduino ultrasonic sensors sample at 20 Hz. Resolution of +/- 3 mm might be an issue too. More expensive sensors would be required if ultrasonic is to be considered.



  • @mr-vince I currently don't have a onewheel, and this is the only thing that I want in it, that doesn't currently exist, so while I'm brainstorming, I do intend to do the development, at some point, if FM doesn't bother.

    Sonar: yeah. Sample rate and resolution are the issues which would make it only useful for a long term average. You also have to worry about echos and harmonics, when you have two plates near each other (board and road surface). You'd probably need a couple seconds or more, to have enough data to get smooth behavior. It would work fine for climbing or descending a hill, but it wouldn't be nearly fast or accurate enough to respond to smaller or more aggressive variations.

    Gyro signal: I'm BETTING that the gyro chip is discrete from the rest of the circuit, and I can find a data sheet for it, to figure out it's output. Once again, I'm betting that it's a 0-5V analog signal, but if it's not, I can manage. Intercepting is as simple as cutting the trace from the gyro to the control board, and manually soldering to the chips at either end. Not something I want to make a habit of, but I am capable of doing it. I plan on getting a used board, anyway, so warranty is already out the window.



  • @Maverick said in Surface angle sensors for hill climb/descent and/or half-pipe:

    @fruitygreen It would never be instantaneous. It would be a gradual transition over ~1/6 second, which is probably slower than you tilt the board, for a given input of the same magnitude. The lag would be minimal (microseconds), if using a RTOS on the arduino.

    I guess that way would be good for going slow through grade transitions. Hmmm not so appealing to me.

    Hand throttle would completely defeat the purpose of having the onewheel. If you want a hand throttle, just get a boosted board or similar.

    Just thinking of solutions, not different style ride

    Unless you're saying to have a hand throttle to set the "relative tilt" which could be done, but would only be useful for very long term averaging, in which case, sonar would give you the same results, without needing a hand controller.

    Sonar not quite the same end results.

    I think I have an idea to get what I want to achieve. More of a mechanical solution.
    ( Having the control board on a hinge and use a servo to tilt it) That way I can just tilt the controller(mimicking nose down) while holding the ideal angle I want.



  • @Maverick - one other thing to remember (and maybe the sensors you will get are better than the ones I have dealt with) is that surface albedo can pretty easily "trick" them.

    In addition to the lenses getting dirty, my Roomba also can get stymied by certain sharply-patterned carpets, like ones with alternating light and dark squares on them - it sees the border between a light square and a dark square as a potential "stair edge dropoff", because the light signal coming back to it from the dark square is weaker due to light absorption.

    Or, think of the way an automatic toilet flush sensor in a public restroom can sometimes be fooled into failing to "see" you if you are wearing black clothing - same reason.

    If the surface is dark, or dark underneath the tail sensor but not under the nose sensor, it may throw your calculations off in unpleasant ways. So this again kind of goes back to my initial "useful mostly on clean, paved surfaces" comment. Amend that to "and light and evenly-colored".



  • @Glyph the sensors on your roomba and the auto toilets are cheap reflectance sensors. They don't really care exactly how far away something is, so long as there's something there, within the sensor's range. The pattern shift makes the sensor think there's a sharp edge there. The Time-of-flight sensors that I'm planning on using are actually timing the infrared laser pulse. If the surface is vantablack, there might be a problem, but other than that, they are fairly robust in their sensing range. If you look at the datasheet for the sensors I listed in the first post (VL53L0X), they have range accuracy data for white, grey, and black surfaces. The variation is quite small.



  • Since I'm here:
    Does anyone have a dead control board that I could tear apart for reverse engineering? It'd be a shame to brick a running board, just to figure out how not to run the wires.



  • I love your enthusiasm, but not gonna lie, I have no idea what you're trying to accomplish. Please post pictures and video when you succeed! Sounds like you want to improve the performance going up hills?



  • @sidjtd Thanks for the encouragement! This would improve the available climb angle on uphills, and give you more control (without dragging your bumper) on downhills. On level pavement, it would be almost completely indistinguishable from an unmodified system.



  • @Maverick You're just too smart for us. Thank you for sharing your enthusiasm and knowledge with the onewheel community, even if simple-bumpkins like me don't get it. If you ever find yourself in the Hawaiian islands or in the far east, that's where I venture out so don't hesitate to reach out and maybe we can some good rides in, onewheel style!!!! (maybe some hills too if your upgrade works out!!)



  • Seems like a cool tool for product quality, or to Test variables of rider height and weight on identical shaping modes.


Log in to reply