PDA

View Full Version : New Concepts and Bi-Directional Piston Control



larryjoe701
01-24-2009, 02:40 PM
I've started this thread to discuss a few ideas I've had concerning LBP. I'm going to define a few advanced topics and then describe a few uses. Once I've actually implemented some, I might move this over to the new Object Showcase thread. The concepts are very high level, like AND and OR gates. I'm not sure they're as useful but can get around a few limitations in the game.

Duty Cycle - A duty cycle is a signal (in LBP I've used directional signals) which is high/out/on for some % of the total time and low/in/off for the rest of the time. Typically you'll use a 50% duty cycle, meaning that it is high half the time and low the other half. The high/low/high/low pattern repeats regularly and has a frequency.

Frequency - The rate at which the duty cycle repeats itself. One divided by the time it takes to repeat. Though I'll talk about frequency, I'm not going to measure it much. Because the fastest a piston can perform its cycle is .1 seconds, the fastest frequency is 10 Hz.

Feedback - Taking a signal generated within a system and using it to help control said system.

To construct a 50% duty cycle you need a free piston and a piston controlled by feedback. Create a smooth channel (perhaps out of dark matter), and insert two glass cubes. Attach a piston to each cube, with the other ends attached to the ends of the channels. Set the Speed of the left piston to .3 seconds. Set the Speed of the right piston to 10 seconds. Place a green magnet on the left piston. The lengths of the pistons doesn't matter too much, I've usually done lengths of twenty for each (Max 25, min 5); it will depend on how long a channel you make. Both should be stiff. Place a green magnet sensor on the right piston. Set the sensor to inverted directional. Adjust the radius to be AROUND half of the length of the left piston. Attach the sensor to the right piston. Once things start up, the right piston will move in or out to find the right spot to generate a 50% duty cycle @ ~3 Hz (stems from the .3 second left piston speed).

Try making a piston arrangement to test out your 50% duty cycle generator. Make another channel with two glass cubes, but this time connect the left cube to the right cube with a piston and the right cube to the right wall with another piston. Make sure the lengths and speed of both pistons are the same. Set the right piston to BACKWARDS. Now if you start things up, the cube on the left should stay in place and the one on the right should oscillate back and forth. This is the property we're looking for: even though both pistons are moving our primary object (the left cube) is stationary. Wire up both pistons to the magnet sensor generating the 50% duty cycle. Again, the left cube stays stationary while the right cube moves back and forth, but just a little bit now. You can consider this the STOPPED state of the piston assembly. If this is the STOPPED state, with one expanding while the other contracts, you can easily see that both expanding would be the EXPANDING state and both contracting would be the CONTRACTING state. These two states can be achieved using AND and OR gates.

This assembly can now replace the 3-way switch with winches assemblies that people have had to use. I have not used the 3-way switch assemblies but the ones I have seen seem to have a little "jiggle" in them, where this system does not. There are also other uses which I'll cover in the future.

LittleBigMe
01-24-2009, 03:40 PM
:o. Epic... COMPLICATION. I attempted to understand what you were saying but I just couldn't mate. Sorry. Though good luck with your ideas! If you wish for people like me to understand and encourage your ideas, I suggest making it a bit more simple. See ya :3.

Pinchanzee
01-24-2009, 05:55 PM
I reckon you should read it over and try to reword it a bit better, teeny bit hard to understand ^_^
I'm really interested in this idea! Because I've been have a lot of trouble with winch 3-way switches recently and the bounce you get after!
The bounce is REALLY annoying if you're trying to get something accurate.

EastwoodAndy
01-24-2009, 06:52 PM
Sounds intriguing, could you post a video or picks?

I'm going to have a go at building one to better understand some of your technical terms.

-----------------------------------------
[EDIT]

In the first setup, you have the pistons on 5 min and 25 max lengths, how long is the dark matter channel? Should the lengths be such that the glass cubes should just meet in the middle? (i.e. if both pistons are fully extended the channel length would be apprx 50?)

I've got the first part setup, but the second one doesn't seem to be doing what you described. Am I meant to have two glass cubes connected to three pistons? (i.e. piston-cube-piston-cube-piston) When I have it setup like this, all 3 pistons have the same max/min length and same speed. Is this correct?

If I have the left piston on backwards and the other two normal, the middle piston stays the same length the whole time and slides back and forth (so left and right pistons are contracting/expanding at opposite times)

If I don't have any pistons on backwards, the middle piston stays centred but expands and contracts (with the left and right pistons either expanding/contracting in sync)

You say connect up both pistons to the sensor, do you mean the left and right ones? (i.e. not the middle one)

I've just made a video of what I've done so far:

-dOZghWZEQg

larryjoe701
01-24-2009, 08:54 PM
Excellent progress Andy, you're almost there! I understand the concepts are a bit difficult to follow and I will attempt to clean up my description.


In the first setup, you have the pistons on 5 min and 25 max lengths, how long is the dark matter channel? Should the lengths be such that the glass cubes should just meet in the middle? (i.e. if both pistons are fully extended the channel length would be apprx 50?)
The channel should be just long enough for the blocks to meet in the middle when the pistons are fully extended. The lower channel in the video looks good. As you can see the right piston just slightly oscillates back and forth. The only thing you need to change there is to increase the radius of the magnet sensor to be about 25 units (same length as an extended piston). This will cause the right glass cube to retreat to about the half extended.



I've got the first part setup, but the second one doesn't seem to be doing what you described. Am I meant to have two glass cubes connected to three pistons? (i.e. piston-cube-piston-cube-piston) When I have it setup like this, all 3 pistons have the same max/min length and same speed. Is this correct?
This part wasn't clear enough. Remove the left-most piston, leaving you with "left wall of channel-gap-glass cube-piston-glass cube-piston-right wall of channel".


If I have the left piston on backwards and the other two normal, the middle piston stays the same length the whole time and slides back and forth (so left and right pistons are contracting/expanding at opposite times)
The arrangement you have now is forcing the middle piston to not move. Instead, remove the left-most piston which lets the middle piston move. The block on the right will oscillate back and forth, but the block on the left will remain stationary (since the right piston is BACKWARDS it expands when the other contracts).


You say connect up both pistons to the sensor, do you mean the left and right ones? (i.e. not the middle one)
Connect the two remaining pistons to the to the magnet sensor from below, which generates the 50% duty cycle. This will then cause the right block to oscillate just a little and the left block to still remain stationary.

I'm nearly complete with a tutorial level which will include this object. I'll post some pictures/video when I publish.

EastwoodAndy
01-24-2009, 10:45 PM
Ah, I get what you mean now.

I've got mine up and running, thanks again.

Pinchanzee
01-25-2009, 06:09 PM
Can you give an example of a situation it could be used in?
Because I'm struggling to see what it acheives from the video
Thanks :)

larryjoe701
01-25-2009, 09:52 PM
Ultimately it could be used in any place you might use a three-way directional switch. The main advantage you get from all this complication is no bounce.

Check out my new tutorial level "Bidirectional control demo"