Recommended Posts

Lego Powered Up is fantastic, but controlling models with a mobile phone does not feel great.  Either you focus on the App, but then missing the movements of the machine, or you watch the machine, but your finger sooner or later miss the controls on the phone. LEGO did not fill the gap of a real „physical“ remote control (as known from earlier Power Functions), even though this is a huge demand of the community.

This is the reason, why I developed the „Universal Vehicle Controls“. It is a real remote control for any LEGO Control+ set, and any MOC build with the „Powered Up“ hub. Compared to the former PF remote controls, the „Universal Vehicle Controls“ does not only allow you to control motors on-off-reverse, but you can proportionally control the motors power or speed.

See how it looks in reality:

Some technical insights:
Each joystick has 4 degrees of freedom (front/back + left/right + turning CW/CCW + trigger). Each of the axis can be assigned to a function of the vehicle. For example, moving the joystick to the front will make the vehicle drive forward. The movements are proportional, this means, that the more I move the joystick forward, the more power is used to accelerate the motor.
The additional trigger is used for special functions like switching operation mode or start a certain action. In the example with the Liebherr 9800, the triggers are used to switch between driving (track- and swing control), and the excavator control, as found in any standard excavator on construction sites all around the world.
The All-Purpose Controls have an indicator, which shows speed or operation mode, depending on the selected model. This gives an additional feeling of being right inside the machine.

 

 

Edited by Tobi Wankenobi

Share this post


Link to post
Share on other sites

Very nice work, how do the 4 Hubs interact?

Via App/smart device? Microcontroller?

 

BTW:

13 minutes ago, Tobi Wankenobi said:

LEGO did not fill the gap of a real „physical“ remote control (as known from earlier Power Functions),

This is possible via remote and app

Share this post


Link to post
Share on other sites

I used the LEGO Powered Up APP, which allows to do some "Block-programming". It can interact with up to 4 hubs, which I made use of. On that basis I developed small programs, with which a MOC or LEGO set can be controlled.

I hope, that LEGO will pick up this idea and release a remote control in the future, which makes use of the full capability of the Powered Up components. (and maybe does not need a mobile phone to run in parallel.)

Share this post


Link to post
Share on other sites

Interesting but you keep the functionality shrouded in mist.

Can you please tell us more?

We already have Brickcontroller 2 that actually fills that gap.

Edited by JaBaCaDaBra

Share this post


Link to post
Share on other sites

That's very cool! Do I understand that you're using the tilt sensors built into the hub to read the joystick position? That's a great idea, cutting friction and not requiring an extra 4 motors to be used as position sensors as on older Mindstorms based designs!

I too would love seeing some more detail. How many motors are used in the controller? Would it be one for each trigger and one for the mode dial?

Share this post


Link to post
Share on other sites

Awesome! Thought doing something like that for a long time. But never had the time. Also thought about adding something light forcefeedback-like. Not sure if that's healthy for the motors. I would be interested in the powered up code. Would you mind to post it here?

Share this post


Link to post
Share on other sites

Some more technical insights:

Yes, the tilt/gyro sensors of the technic hubs are used to read out the position of the joystick. As the value range is different to the motor-power range, some mathematical operations need to be performed to make it work.

For the triggers, I used the distance/color sensors. (see pictures below) The 3x5 liftarm will trigger the sensor to see "red", when the trigger is pressed. (otherwise, it detects no or black color). This signal is then used to trigger different actions, depending on the vehicle. For the LEGO Liebherr 9800, I made it switch between track-control and excavator control. On my telehandler, I used the trigger to activate the pneumatics and/or switch the gears to select the pneumatic function.

ForceFeedback is a cool idea! I need to think a little more about that. Maybe, if rubberbands are used to decouple to motors and the joysticks, it could work in a way...

Concerning powered up code: I am planing to create something, explaining how to make it work, but it will take some more time until it is finished.

 

I have the hope, that LEGO will realize, that a propper remote-control is a cool feature and addtion to all their Powered Up set. Ideally, you could configure the remote control with an App, and then use it without a mobile phone... In order to make LEGO aware of the demand from the community for a proper remote control, I created this LEGO Ideas project: https://ideas.lego.com/projects/7a877a58-dc8d-432e-84de-9db5556be044. Feel free to vote and share, if you support the idea of a real LEGO remote control.

 

Joystick from the outside:

IMG_4966.jpg

 

Joystick open, trigger not pressed

IMG_4967.jpg

 

Joystick open, trigger pressed. Colorsensor detects "red".

IMG_4968.jpg

Share this post


Link to post
Share on other sites

Really nice! Taking full advantage of the hub's sensors!

The "Universal Vehicle Controls" stand needs to be flush on a surface to operate correctly? So when walking outside and follow your MOC, that won't work, right?

Other than: Really impressive work!

Best,
Thorsten 

Share this post


Link to post
Share on other sites
1 hour ago, Tobi Wankenobi said:

ForceFeedback is a cool idea! I need to think a little more about that. Maybe, if rubberbands are used to decouple to motors and the joysticks, it could work in a way...

It would only work if you use motors as input for the controlled vehicle. But haven't made a test yet.

As for the triggers, i thought about using the force sensor from spike prime. You can control motors proportionally with these!

https://www.youtube.com/watch?v=YtWkRYzpUSg

Can anybody confirm, if they can be used with the Powered Up App?

Edited by Andman

Share this post


Link to post
Share on other sites
42 minutes ago, Toastie said:

Really nice! Taking full advantage of the hub's sensors!

The "Universal Vehicle Controls" stand needs to be flush on a surface to operate correctly? So when walking outside and follow your MOC, that won't work, right?

Other than: Really impressive work!

Best,
Thorsten 

This was my first thought too. But I guess you could make a similar device with two hubs: one as a base and one as a joystick, so the base could be held on one hand and the joystick on the other, and the base's motion would be subtracted from the joysticks motion so that their relative motion would make for the commands to be sent to the vehicle. Would make for a pretty heavy controller though, and with more limited functionality than the two joysticks on a table. I wonder though, if the city hub could be used as it's much smaller and lighter, or maybe the new small Spike hub? Though the latter gets also quite expensive when you need two.

Either way, impressive work, and I love that the tilt sensor finally gets some proper use.

Share this post


Link to post
Share on other sites

Nice idea and all, but using two hubs to controll other two hubs cost way more than buying some CaDa motors with Sbrick or Buwizz.

Share this post


Link to post
Share on other sites
22 hours ago, Toastie said:

The "Universal Vehicle Controls" stand needs to be flush on a surface to operate correctly? So when walking outside and follow your MOC, that won't work, right?

Yes thats correct. I was also thinking about the possiblities of adding two hubs and then use both tilt sensors, but that is really going to be too bulky.

 

The cool thing on using the Powered Up Hubs, is, that you can easily add more functions to it, which are not directly related to the remote control. For the Telehandler, I made a air compressor, that turns off, as soon as a certain pressure is reached (pneumatic piston working against a spring, change detected by a color sensor). Also, because you have encoders in the PU motors, something like shifting a gear by 90° for the next function is possible to implement.

 

Share this post


Link to post
Share on other sites

Really interesting project, creative use of the hubs' sensors, and probably a great programming exercise. Though I find it a bit impractical, I'd prefer if lego just supported Xbox/PS controllers. I guess I can't really take this outside with myself for some offroad play.. On the technical side, I wonder how much delay the whole system has, for example for steering a car? In the video it does not seem to have huge delays, though it shows slower movements.

Share this post


Link to post
Share on other sites

Powered Up Code

As requested I add some examples of the Powered Up code. I am also working on a how-to video, but that will take some more time.

 

Code Example for a simple car

Standard Code for a simple car/vehicle with one driving motor and one motor for steering. The controller-hub is hub "01", where the hub in the car is hub "02" (with driving motor on port C and steering motor on port A). Steering motor is automatically centered by Powered Up, when the program is started, and just needs a solid end-stop on either side.

The key block ist the orange gyro-sensor-read-out block, which delivers information about the current position of the hub on X or Y axis. This is then used to control the power (or the position) of the motor of the vehicle.

standard_car_control.PNG

 

Code Example for a telehandler

In addition to the steering and driving motor, there is also a one motor to lift the boom and one to close the gripper tool. There are two hubs ("02"&"03") used to controll the machine.

Controlling_small_telehandler.PNG

Video of the Telehandler controlled with this code:

 

 

 

Share this post


Link to post
Share on other sites

I created a video, how you can build and program a remote control yourself. Of course, the technique is not limited to joystick-remote control, but could also be applied for steering wheels or even foot-pedals.

 

 

Using hubs as remote controls might even get more interessting with this Pybricks function of "Hub to Hub communication". Has anybody already tried it?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.