Forums » Suggestions

Back To Topics

D-pad for tracked vehicles

    • 57 posts
    November 19, 2014 4:26 AM CET

    I've again been testing "my" 8043 profile in what regards the D-pad implementation and user experience to control tracked vehicles.

    Although I've done it now in a more systematic way, and looking for all port invert combinations, to find those which behave closer to the desired and taking notes. This is very hard to explain though... :P

    Under certain port invert combinations, D-pad would work fine if the finger direction movements on the touch screen could be interpreted as being rotated +45º or -135º from what they actually are.
    I mean it to have the Forward, Backwards, Turn Left and Turn Right movements behaving according to the user common sense.

    Although this is not new for me, what really made me wonder was the behavior from the driving D-pad on Sariel's Tank profile, where it would behave fine if the fingers would now be interpreted as being rotated +90º or -90º from what they actually are.

    So why the different D-pad behaviors on a standard tracked vehicle, between these two profiles? What have you implemented differently from the D-pad/Joystick perspective, on these two profiles???
    If anything actually... :P :)

    This post was edited by Fernando Correia at November 19, 2014 4:28 AM CET
    • 57 posts
    October 31, 2014 1:38 PM CET

    If I was not clear, that is working for me already.

    Just need to look at the profile skin as if it was rotated 45º.

    Hope to do a video soon, that demos how is it going. :)

     

     

     

    • 87 posts
    October 31, 2014 1:34 PM CET

    I'm not a coder.. but I'm a great reader! ;)

    I believe it is quite achievable with SBrick and smartphone/tablet, the [hard] trick is combining&processing the input data from actuators (D-Pad, Joystick, buttons, slide bars or even text-input boxes] in order to get a soft and consistent movement. A real gamepad feels just better to the user because buttons and joyticks are solid and tactile things but I believe Android and iOS have some kind of solution for that in their API's or right above it.

    I'm abroad in a Microsoft event, came out of a session about Internet of Things where a MS guy showed a RC car with a Galileo board inside and a Nokia Lumia 500 running a version of the next Windows for light devices as a BT controller. Clumsy, slow, just 2 movements and a crash but everybody around got crazy (well, all except me). I believe we could do much, much better.

    Let me return home, get a tracked model to try my SBrick with it.

    • 57 posts
    October 31, 2014 1:17 PM CET

    [blockquote]Jorge Pereira said:

    The solution in link above also implements a more tradicional 2-joystick mode (1 for each motor).

    [/blockquote]

     

    And you are not a coder... now I need to dig deeper into your solution.  :)

    Anyway I believe this is nothing we can achieve with SBrick and smartphone/tablet SBrick app only. And that's what intend. A simple setup for mainstream users without much HW and SW in between. :)

    • 57 posts
    October 31, 2014 1:12 PM CET

    [blockquote]Tamás Fábián said:

    We're already foguring something out for this and similar problems.

    See, to have different controls for different kind of steering is not very sustainable.

    It would be much better to first define how a model can be steered, and then an arbitrary steering control would automatically "do the right thing".

    This is one of the greatest features of a great profile designer: modularity. Few elements, that can be combined in creative and maybe unexpected ways.

    [/blockquote]

     

    It is great to be able to combine simpler controls, like you did for Jurgen's 8043 profile.

    Nevertheless there are not much common steering methods and I still find very usefull/cool a Joystick control that works for tracked vehicles. I'm not seeing any other way to implement this.

    Lets see what you come-up with or what level of costumization we can do with Profile Designer when it gets released. :)

    • 87 posts
    October 31, 2014 12:39 PM CET

    I'm not sure if I quite understood so feel free to correct me (always do!).

    I believe you're facing same problem I had when trying to control my AD4M4ST0R (an EV3 rover with tracks) with the gamepad using only one joystick.

    After some trials I decided for somethink very simillar to these:

    http://www.robotc.net/forums/viewtopic.php?p=5439

    I'm using it for both joystick and D-pad buttons. For precise motion, I prefer joystick (defined a dead zone, around 20% near the center position and applied logarithm so big movements in joystick have less impact). For straight and long moves I prefer buttons.

    The video with gamepad controlling SBrick uses this method.

    The solution in link above also implements a more tradicional 2-joystick mode (1 for each motor).


    This post was edited by Jorge Pereira at October 31, 2014 12:41 PM CET
    • 178 posts
    October 31, 2014 12:16 PM CET

    We're already foguring something out for this and similar problems.

    See, to have different controls for different kind of steering is not very sustainable.

    It would be much better to first define how a model can be steered, and then an arbitrary steering control would automatically "do the right thing".

    This is one of the greatest features of a great profile designer: modularity. Few elements, that can be combined in creative and maybe unexpected ways.

    • 57 posts
    October 30, 2014 12:46 AM CET

    Here I come with one suggestion for the Profile Designer, which I'm not sure whether it is already supported or not. Let me explain.

    I've joined the Beta Testers and asked SBrick team for a couple profiles. One for 8043 Ultimate Excavator from Jurgen and another for 8275 bulldozer.
    Both tracked vehicles as you may notice. Kind of skid steering.

    While thinking for the profile I wished for these, I though that it would be nice to have a D-pad for driving them (like a joystick) instead of two independent sliders, one for each track. So one thumb would be enough to drive these with more comfort and precision.
    This turned to be a misconception, since D-pad would be great for conventional steering (one motor to drive and another for steering), and for differential steering. Although it won't work straight for tracked vehicles or skid steering. :P

    It was a pity but after playing with it a while, I found there is a solution.
    If when designing the profile, there is one way to turn the the D-pad reference axes by -45º or 45º  relative to the profile skin in the screen, it can work perfectly also for tracked vehicles!
    Then it is a matter of connecting and seting the ports properly in the SBrick app. :)

    Question: Do you allow this type of rotation for the reference axes in D-pad controls?
    If not, it might be an improvement to consider. Or alternatively to design a specific D-pad for tracked and skid steer vehicles based in the same principle. Most likely this is the preferable option.