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



  • @Maverick Not an engineer, but this sounds cool. The only thing I'd warn about would be that offroaders might not want to use this, this would really be for people on clean, paved surfaces. If the IR laser distance sensors get their lenses dirty, the whole shebang craps out, and you don't want that happening midway down or up a hill.

    (Source: My Roomba that occasionally gets these lenses dusty/dirty and erroneously thinks it's about to fall down a staircase).



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

    @Maverick ... If the IR laser distance sensors get their lenses dirty, the whole shebang craps out, and you don't want that happening midway down or up a hill.

    (Source: My Roomba that occasionally gets these lenses dusty/dirty and erroneously thinks it's about to fall down a staircase).

    What about using sonar or a combination of sonar and laser sensors? Plus having a way to turn the feature off in the mobile app for off-road? Having the board parallel to a slope while riding does sound cool.



  • @mr-vince No idea how feasible sonar is, but anything that doesn't need a lens could be good.

    Another thing to remember is that the undersides of people's boards take some abuse, and lenses not only can get dirty, they can crack (if you are dropping off curbs and such). Might be best to make the sensors real close to the wheel where they are probably safest from accidental impact.

    I'm not trying to pooh-pooh the idea, I think it sounds awesome, it's just that my Roomba tells me if those sensors are not working you have a problem, and the LAST place you want to have a problem is on a board climbing up the side of a pipe. So keeping the sensors clean and protected and working needs to be a consideration, IMO. You might be able to enclose them in some sort of small protective cage/enclosure.



  • OW dont have enough power for instantaneous change in grade. Besides the lag in the process with sensors would make riding a little quirky.

    I think that a manual throttle override system is the better way to go.
    Just tilt the grade and throttle it. Yes I know nobody wants a remote added in hand but I have at particular times wanted more power in a particular angle.



  • @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!!)


Log in to reply