Linear Actuator Design

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • Detailed description of a home-build balanced linear actuator for six degree of freedom (6DoF) motion platform for flight simulator. Video shows step by step construction and some basic actuator test runs under load. The platform needs 6 of these actuators, and the electrical drive will be done via hardware servo electronics and the BFF 6DoF motion driver.
    For more information, including the Google Sketchup CAD file, please visit my website: www.simprojects.nl

Комментарии • 432

  • @argamesandtech6080
    @argamesandtech6080 3 года назад +6

    I've watched this multiple times. It has to be one of my favorite design/build vids. Content and presentation are top notch! Inspirational for engineers and teachers alike.

  • @reaper060670
    @reaper060670 8 месяцев назад

    Only found ur channel after catching ur LATHE build. The Mill build to go with the Lathe was phenomenal too my friend.
    I'm attempting to build my own DIY CNC now. I tried about 18 months ago but didn't really understand the whole process and failed to get it right but now I'm going to have another go ..
    I haven't watched but 3 of ur videos so far but the ones I have are so interesting to watch. The information is brilliant pal. I hope ur still making these machines today. I will be looing through the channel to see more..
    Keep up the great work man..

  • @shawnlund
    @shawnlund 10 лет назад +4

    You Sir are brilliant. The design is simple yet seems extremely effective, the perfect engineering solution for a home hobbyist. Thanks for taking the time to share your work, I have spent a few hours at your website absorbing all I can.

  • @5463280
    @5463280 5 лет назад

    Your videos are like an open learning program.

  • @mattsmith8160
    @mattsmith8160 7 лет назад

    I won't be building my own 6dof full motion flight simulator any time soon but it is on my bucket list so I'll definitely be filing this video away for future reference.

  • @IAMAredditor
    @IAMAredditor 9 лет назад +2

    Thank you for sharing your project. I will use this as an example of how to document a project for presentation. It is a skill that I need to practice at.

  • @pinodomenico5520
    @pinodomenico5520 7 лет назад +1

    Excellent work, and very inspiring -- also a very fine presentation. I am a retired defense engineering programmer/analyst. It's been a while since I've worked on 6 DOF modelling. I don't think I could do the math right off the cuff, but I do understand the control principles. I think it's amazing that the parts for this only cost you $300 - esp the pulleys. The bungee's to neutralize load is brilliant. The only thing I do not see in the design are damping elements. I realize you can control the acceleration via the pot feedback and software - which makes me thin of an elevator, in principle - but in your case, I bet some mechanical damping would cut back jerk and snap for smoother natural operation. I wonder what your thoughts might be on this...
    It's refreshing to see individuals actually practicing systems engineering on their own projects.
    A toast to your ambitions, Sir !

    • @Rolandvanroy
      @Rolandvanroy  7 лет назад

      Indeed some damping in the system will be needed. It could be added mechanically, but can also be implemented in the servo feedback system by tuning the P/I/D terms to appropriate values with the average load. Thing is that in some flight events you want snappy response while in other events you want slow response. The flight sim data is not all that refined, so a compromise is needed, or active servo PID tuning via software based on flight conditions.
      Thanks for your comments!

  • @chemicalvamp
    @chemicalvamp 7 лет назад

    Vintage mechanical keyboard, That's the AGE of keyboard that made me want the one I have today.

  • @kolaiktomi
    @kolaiktomi 10 лет назад +2

    Pretty spiffy. I went ahead and downloaded the file and added a cross bracket to the motor mount to minimize the tilt issue. I will work on it a little more this evening and e-mail you a copy within the next few days. Brilliant configuration, especially for a wooden case as opposed to aluminium.

  • @sato4kaiba
    @sato4kaiba 10 лет назад

    Nice work. You have put a whole lot into your design. Optical encoders can be used in place of the POT. You don't have a proportional feedback control on the shaft. You can add one just my printing it on your printer and an optical interrupter. Also, the groves in the timing belt is deep enough to be used as an encoder. The valleys of the timing belt can be painted white and a forward facing or reflective interrupter can be use. Nice work

  • @jad51
    @jad51 10 лет назад

    Man there are some clever buggers out there Nice Work

  • @Matt2chee
    @Matt2chee 9 лет назад

    Nice job. Clean and Efficient.

  • @checkdas24
    @checkdas24 10 лет назад +2

    pure genius! very well done - thx for sharing.

  • @thanhviluongngoc5170
    @thanhviluongngoc5170 2 года назад

    Wow, Uncle Rolandvanroy's machineries very nice, I like it, Uncle's very good, I want Uncle hapy and good hearths 👍👍👍 😀😀😀

  • @bn10nut
    @bn10nut 7 лет назад

    This guy is a genius

  • @nguyenhoang-vf8le
    @nguyenhoang-vf8le 4 года назад

    you do it like a scientist. thanks

  • @3space
    @3space 10 лет назад +5

    Very nice job. Thank you for sharing!

  • @diegomejia3169
    @diegomejia3169 8 лет назад

    Great!!
    thanyou very much from Colombia
    Best regards

  • @767ambu
    @767ambu 11 лет назад

    Roland, je blijft me verbazen.
    Knap werk!

  • @j.nutzmann4363
    @j.nutzmann4363 Год назад

    Please, more videos like this..!

  • @Space-Industries
    @Space-Industries 7 лет назад

    Excellent presentation.

  • @undrcoverlouky
    @undrcoverlouky 10 лет назад +8

    Not only is the design genius, the presentation couldn't be more clear. Thank you for posting.

  • @engineerdad64
    @engineerdad64 10 лет назад +11

    Very well done! Thanks for putting up a great video and more importantly, for sharing your knowledge. It is appreciated. By the way, don't let the envious trolls get to you.

  • @WizzRacing
    @WizzRacing 9 лет назад

    To stop the tilting motion just add a 1/8' thick backing plate to the rear or the motor mount. Then use a top half wooden or metal bracket the fits the diameter of the motor and bolt it too the bottom half.
    Or you could just make the motor support block wider. And then bolt the top half over the motor support block.

  • @erobwen
    @erobwen 7 лет назад

    My father built a linear actuator with chains in a somewhat similar way, except that the output of the actuator was on the side of the cogwheels, rather than on top of them.

  • @Wyzwanie90dniPL
    @Wyzwanie90dniPL 7 лет назад +4

    You make great things! Subscribe already!

  • @jorgecharca5103
    @jorgecharca5103 9 лет назад

    congratulations on the great work.from arequipa peru

  • @danielmeireles1
    @danielmeireles1 10 лет назад

    Nice project!!, thanks for share the idea.

  • @jibran4794
    @jibran4794 6 лет назад

    I noticed some tap holes on the motor front plate. Maybe you could use a bracket to prevent the motor moving forward by utilising those taps. However it would exert a great amount of force on the screws holding the clamp.

    • @heyongkun
      @heyongkun 4 года назад

      CCM offer belt-driven linear rails which is more efficient and economical, inquiry is welcome www.ccmrails.com /andy@ccm-rails.com

  • @neogeo8267
    @neogeo8267 8 лет назад +17

    I suggest not using potentiometer unless cost saving is really important.
    Better to have optical absolute position sensor or simple optical cog-type sensors and zero index (which you already have with your end stop switches).
    Overshoot can be computed for over various loads if current sensor feedback is used to estimate inertia / mass of load so that servo rapidly slows as destination position is approached.
    Very cool project - thanks for sharing

    • @OktoPutsch
      @OktoPutsch 6 лет назад

      @Erich Kaltenbrunner, you can cheat by replacing potentiometers with pairs of LED+LDR (light detection resistors), it'll produce smoother controler inputs than those old crappy mechanical 'pots'. It's a nice and cheap alternative :)

  • @porkypine1888
    @porkypine1888 11 лет назад

    looks like a fun build

  • @robertrich8829
    @robertrich8829 11 лет назад

    Very cool project! Hard to believe you're getting so much power through those skinny wires...50v helps eh? I may have missed it in the video, is it your own motor controller design?

  • @tmpEngine
    @tmpEngine 10 лет назад +7

    i wish this man was my father

    • @xumuk3
      @xumuk3 10 лет назад +5

      Shame on you! You should respect your father.

    • @dynamicautotech90
      @dynamicautotech90 6 лет назад

      Both of you was right...

  • @jovand6606
    @jovand6606 3 года назад +1

    Bungee as counterweight is genious idea, but aren't you worried about rubber degradation?
    Would same design be possible with springs?

  • @BFMR1062
    @BFMR1062 10 лет назад

    Very good video and the idear is good and cheap to make but I have to use Alloy and plastic parts over wood for a good life span but well done on the work :)
    P.S wood is a lot ezy to work whith of corse :)

  • @DaengRosanda
    @DaengRosanda 5 лет назад

    Very Nice share..

  • @MrLimitlessME
    @MrLimitlessME 10 лет назад +8

    That's what I call superior skills. This video really is super hard to do too.

  • @alessandr2012
    @alessandr2012 6 лет назад

    very great job man

  • @Julis.
    @Julis. 5 лет назад

    PARABÉNS PELO PROJETO.

  • @autobabies
    @autobabies 10 лет назад

    Thanks for sharing this video and welcome to Taiwan

  • @5phutsangtao-iQ
    @5phutsangtao-iQ 3 года назад

    wise for a job

  • @Lubita
    @Lubita 10 лет назад

    Genius....Superb!Wow......!

  • @kerimil
    @kerimil 10 лет назад

    Have you considered using pneumatics instead ? You could replace all of that with an air cylinder and a proportional valve. If you're lucky you can find some used ones on auction sites

    • @Rolandvanroy
      @Rolandvanroy  10 лет назад

      It is rather difficult to control the position of pneumatic cylinders accurately. Electric drive is much easier, and you can use digital PID to tweak the response.

    • @kerimil
      @kerimil 10 лет назад

      You know you can do the same using air cylinders. Obviously you need a closed loop system so there's a need for position sensing

  • @axelcjensen
    @axelcjensen 10 лет назад +1

    awesome job!

  • @sunnykfc
    @sunnykfc 7 лет назад

    what is special about this? isnt it just sort of counter balancing?

  • @MrAkurvaeletbe
    @MrAkurvaeletbe 7 лет назад

    Why do you add those rubber bands? It just makes it much harder for the engine no?

  • @Mirandorl
    @Mirandorl 8 лет назад +20

    This is such an inspiring video for someone just starting out. Can I ask some advice please? I am self-teaching control theory and electronics, some 12 years after I graduated with a mechanical engineering degree. Our control lecturer was sadly not the most ... understandable. I have a few projects I would like to create that will require control loops with motors and rotational plus linear movement, and be able to respond to external forces.
    My maths is now rusty too - do I really need to understand all the integrals of "e to the minus ess tee" laplace / fourier / matrices, or will something like matlab simulink handle all that for me? I am not averse to putting in time on the maths if its truly vital.

    • @Rolandvanroy
      @Rolandvanroy  8 лет назад +5

      No need to know all math of control theory: Some gut-feeling and experience in electronics and mechanics go a long way. It also depends whether you want to make software servo loop or hardware servo loop. For software, more math is involved, while a simple OPAMP is sufficient to make a decent working hardware feedback loop (proportional only, no I or D): just tweak the OPAMP gain until you see oscillations, then reduce for acceptable servo stiffness and response. Its quite fun. Check my website motion platform pages for more info.

    • @bradjansen1670
      @bradjansen1670 8 лет назад +1

      what program do you use for the animation

    • @Rolandvanroy
      @Rolandvanroy  8 лет назад +4

      Google sketchup

    • @Mirandorl
      @Mirandorl 8 лет назад

      Rolandvanroy Thanks again. I know only that I have an absolute ton to learn!

    • @MrTBurt85
      @MrTBurt85 7 лет назад +3

      I know its probably too late for you, but my degree was heavily control theory based. Since then in the real world I have used nothing except PID control (or P, PD, PI). Unless you want some extreme performance, or you are controlling a particularly nasty system, at most PID is all you need. For professional work you can work out roughly the needed P,I and D gains, but it always then comes down to trial and error to get the system reacting how you want it to. For anything else just instrument everything then go crazy till it works. Adjust the P value till you get roughly the performance you need, then set an I if you get a steady state error, then D to increase the performance (lets you use a higher 'P' without overshoot or losing control).

  • @sleefox
    @sleefox 7 лет назад

    I would like to see and long-term evaluation of the resiliency of this design

  • @wilko21
    @wilko21 6 лет назад

    I'm a little bit confused about the bungee cord. What role does it play in the function of the actuator?
    Really cool stuff thanks for posting

    • @heyongkun
      @heyongkun 4 года назад

      CCM offer belt-driven linear rails which is more efficient and economical, inquiry is welcome www.ccmrails.com /andy@ccm-rails.com

  • @freshpootube
    @freshpootube 6 лет назад

    I just put some drywall up in my office today and thought I'd achieved something. Then I saw this.

  • @alexanderturl
    @alexanderturl 4 года назад

    Great video mate, super informative. Does the fact that the bungee cords have a very progressive nature, make them less than ideal?
    It there was a way to have a more linear power curve would it be advantageous?

  • @Techn0man1ac
    @Techn0man1ac 7 лет назад

    Как по мне потенциометр не лучшее средство для обратной связи, лучше уже энкодер.

  • @RobotDiggSH
    @RobotDiggSH 8 лет назад

    How much would a 6DOF Amusement Machine cost?

  • @redcop
    @redcop 10 лет назад

    Хорошая работа! Я думаю что при использовании косых шестеренок шума было бы меньше.

  • @Rolandvanroy
    @Rolandvanroy  11 лет назад

    I used normal AC mains wire for the motor leads. It's normally good for 20A or so. Since average current is low, it is not a problem. The motor controller is my own design, see my website under Motion Platform III and IV "electrical drive" but commercial motor drivers like MD03 are fine too.

  • @HCI344
    @HCI344 9 лет назад

    Great job!

  • @MnemonicHack
    @MnemonicHack 9 лет назад +5

    That was very, very interesting. Thank you.
    Also, I commend you for not showing yourself screwing in every individual screw. Some people actually do that...

  • @SciStarborne
    @SciStarborne 10 лет назад +1

    The use of bungie-cord to pre-load the system is an excellent idea to take strain off the motor. I'm surprised it's not used more in robotics for neutral-positioning.

  • @clembrant
    @clembrant 10 лет назад

    Very cool. How far have you gotten on your simulator. What kind of cost do you have in the actuators

  • @offgridd
    @offgridd 9 лет назад

    Nice!, my compliments!, uit nederland?

  • @aaltan
    @aaltan 11 лет назад +3

    Thank you very much, very informative, verycomprehensive, very systematic.. bravo. thanks a lot... loved it..

  • @ArnaudMEURET
    @ArnaudMEURET 6 лет назад

    So Roland, how’s the 6 dof platform coming along ? I reckon that the mermaids of multirotors have kept you in shackles too long. 😊

  • @ChrystianGuy
    @ChrystianGuy 2 года назад

    Thank you for this video. Where can I source the pulleys? I don't know what to search for...

  • @DrCureAging
    @DrCureAging 10 лет назад +2

    This is aka, a SUPER powerful printer-style linear actuator.

  • @TheZabbiemaster
    @TheZabbiemaster 7 лет назад

    Ik wou dat mijn vader zoiets bouwde, dan zou ik al mijn zakgeld in BMS 4.0 en een oculus stoppen.

  • @MichaelEdlin542
    @MichaelEdlin542 7 лет назад +10

    I don't understand any of this stuff, but it's just so ridiculously cool!

    • @jdw7092
      @jdw7092 3 года назад

      It is important If you want to bend the position of a mobile device such as Ball joint of the car Made from ductile cast iron .. the manufacturer is a ductile iron casting factory. Produce a work piece for the furnace to be formed in the form of steel (meaning the order maker has a contract in accordance with the requirements). Step 1. The foundry itself test. Obtain the numerical value according to the requirements ... Step 2, the order maker can get the sample for the furnace steel to be tested by himself .. the test requires👉 the actuators, generally using the hydraulic test. Because it is very broadly defined To the level of frequency cycles caused by aircraft vibrations And three cars can count the number of times, for example, one hundred thousand times, so the yild point, etc.

  • @brianboni4876
    @brianboni4876 7 лет назад +5

    How is this project going, would love to see an update?

  • @emielzier
    @emielzier 3 года назад

    This dude playing flight simulator 7 years ago. Where is Linus Media Group back then?

  • @RoboCNCnl
    @RoboCNCnl 10 лет назад +2

    Great project Roland ! Keep it up...

  • @dynomania
    @dynomania 7 лет назад

    That's very cool

  • @eXtremeDR
    @eXtremeDR 7 лет назад

    Why didn't you use hydraulics? Should be much more effective, durable and cheaper too.

  • @bishnupanda8639
    @bishnupanda8639 4 года назад +1

    Really hidden tallent with so much depth in science yet unrevealed in public. National geographic should approach.

    • @heyongkun
      @heyongkun 4 года назад

      CCM offer belt-driven linear rails which is more efficient and economical, inquiry is welcome www.ccmrails.com

  • @tcalcut
    @tcalcut 8 лет назад

    He sounds like the guy when I call India for tech support for my computer ... !!!!!!!!!!!!!!!!!!!!!

  • @RR4tom
    @RR4tom 7 лет назад

    Why don't you use a DALA? your setup would be much easier with hydraulics. I would use DCV's with solenoid vavles then into your circuit board. Would be much more relaiable and durable. Anyway cool vid, nice bit on engineering

  • @kergebirka73_12
    @kergebirka73_12 7 лет назад

    Good for playroom, but useless in the factory. The belts are unstabil, need too much maintenance.....good to raise something, but in position use, i don't bet up to this. Very good idee, i like it.

  • @leifrudd8934
    @leifrudd8934 10 лет назад +1

    thanks. great idea. appreciate your video

  • @jcheng4015
    @jcheng4015 9 лет назад

    A motor driving a worm gearbox coupled to a lead screw is also a viable solution with the added benefit of anti-backdrive.

  • @TRANVANTHUC
    @TRANVANTHUC 10 лет назад +1

    Fantastic

  • @BarbikaPahor
    @BarbikaPahor 7 лет назад

    your shoes are ugly...
    so how many hours do you expect this should last without much maintenance? and what is max weight for person for that aircraft simulator?

  • @taohawaii
    @taohawaii 7 лет назад

    Possible considerations for similar designs.
    1) I agree with another comment that the potentiometer should be replaced with an encoder to avoid drift and EMI from the motors while reducing oscillations that are likely to occur under high dynamic loads. This can also be addressed by implementing acceleration curves though I suspect the use of belts was intended to suppliment this requirement.
    2) By high mounting (instead of under mounting) you run the risk of a collision of your platform with the legs.
    3) As you noted, bungees (springs) do not provide constant force at all positions. F = kx, where F is the force applied, k is the spring constant and x is the extension. Further excursion = reduced weight compensation. You will have zero static load at exactly one excursion point, any deviation from this point will result in a required holding force, though this appears acceptable in your tests (probably due the high ratio of the length of bundee to the traversal length of the acutator).
    4) You will likely have difficulty maintaining a level platform unless you include belt stretch compensation for holding forces by measuring the load on the motor, either through a load cell or current draw. This is because your center of gravity will shift as the platform is moved around. Any 2 legs should be capable of acceptable actuation with the entire weight of the platform plus an (arbitrary) safety factor above the expected dynamic loads.
    This seems like a pretty good home setup where minimal excursion and minimal centroid deviation is required however I suspect it will not work well over the full possible traversal (motion envelope will be small especially fore/aft and laft/right). This is mostly due to the high mounting of the actuators relative to the platform. To experience full excursion, your footprint will have to be quite wide (instead of tall) at which point a larger deflection will be required by the actuators to effect the desired roll, pitch or yaw. Vertical motion will be unaffected by footprint width.

  • @erwinhopman9738
    @erwinhopman9738 9 лет назад +1

    How about an update:-). great video! Will the actuaters make to much noise? This one seems to mak a lot of noise... hopefully you pull this off!

    • @DMahalko
      @DMahalko 9 лет назад

      It looks like some of the noise is caused by the end-stop securing tape dragging against the wood body. See 6:42 - high pitch ticking is the toothed pulley dragging over the detached stationary motor drive belt, but the clunking noise is the end-stop dragging. It may be quieter by drilling a hole through the belt and securing with countersunk taper screws, though this will damage the internal belt cords and reduce strength.

  • @pepebest666
    @pepebest666 7 лет назад

    Pero son otros de los beneficiados y de los que pretenden que todos puedan optar a eso (y más si los eligen ellos). Si te pones a mirar a lo largo de la historia en todo lo que han intentado poner guapo y siempre se ve lo mismo. Empiezan las lloronas que se creen que alguien es algo por nacer y terminan queriendo a todos.

  • @qnaman
    @qnaman 7 лет назад

    Basically 6axis micropositioner, but without pistons. great.

  • @pepebest666
    @pepebest666 7 лет назад

    Para mi que los exámenes están hechos para que no se les rían a los profesores...Estarían todos tirando aviones de papel en clase o no yendo.

  • @danieldc8841
    @danieldc8841 7 лет назад

    if you've got all six of these holding 50 kg does that mean the seat and all that weigh 300kg?

  • @amessman
    @amessman 3 года назад

    I was just thinking about designing one of these, cool design but I have yet to finish the video

  • @BarryBirther
    @BarryBirther 8 лет назад

    Great video. Thanks. Are you familiar with www.arduino.cc ? This device may help you with the movement of the motor/actuator system. I'm not sure, as I'm just starting to learn about Arduino/Genuino. Hope it helps some!

  • @OghamTheBold
    @OghamTheBold 10 лет назад

    My random foible is to avoid micro switches, potentiometers and DC motors - in favour of stepper motors with optical encoders (I won't dedicate the motors / drivers - but make them 'snap in' - so I can move them between; simulator, parallel robot, plasma table, etc.)

  • @linjari
    @linjari 8 лет назад

    Those smaller belt wheels look like ones on car water pumps that are usually discarded when changing timing belts. They can be easily pushed out with shop press. Those would be almost free compared to €14.50 a piece. Also car timing belts could be used for power transmission, even used ones if going really cheap.

  • @malukodafaka
    @malukodafaka 10 лет назад

    Very nice man ! I wish that in my country get more easy pieces at low cost.. but everything in here its very expensive. =/
    PS: I live in Brazil.. Don't live here, it's horrible.

  • @abaskamal8599
    @abaskamal8599 7 лет назад

    effin genius...next..."Shoot Down a billion$ Stealth Drone using Grandma's Old Radio"

  • @mike_van_in
    @mike_van_in 10 лет назад

    Very nice implementation, Roland! Isn't it funny how the "haters are gonna hate"? Apathetic spectators of life are full of "better" ideas - but no action. Keep up the excellent effort. I'm off to visit your website now.

  • @jeffbeck6501
    @jeffbeck6501 10 лет назад

    What happens when the limit switches break? Exciting things.

  • @DoRC
    @DoRC 6 лет назад

    Did you ever finish the 6dof platform?

    • @Rolandvanroy
      @Rolandvanroy  6 лет назад

      As always, lots of other things came in between, and I still was not satisfied with the actuator design. In the mean time I have built another prototype. see www.simprojects.nl/diy_motion_platform_v.htm bottom. But then I got my hands on some industrial rollerscrews, and I'm currently checking how I can built a more compact actuator with these.

  • @tkinsey6388
    @tkinsey6388 7 лет назад

    Excellent! Here is a man of great mechanical mind. If I may be so bold as to offer a suggestion. I noted on the bungycord "Eye Bolts , that an extra force has been applied. I am speaking of the friction between the eye bolts and the bungy cord when it passes through the eyelet. I do wonder what the result would be if you were to add " pullies" where the bungy meets the eye? Hmmmm! Maybe you could achieve a smother operation.
    I will stay tuned to see if that idea has merit. Good evening and good luck.

  • @Mikej1592
    @Mikej1592 7 лет назад

    serious comment, nice actuator, if I had the time I would love to build an adjustable computer desk using a slightly toned down version. I love the speed though. I hate waiting for the desks at work to adjust. this would be like going from a sitting level to standing in 1 second. Just need to remember to not leave my coffee on the desk before pushing the button. Might need to gluew the keyboard and trackball in place as well. Seriously I hate waiting that much, although I might add in a bit of a reduction in speed. Move up about a foot in 2 seconds instead of instantly.

  • @islamaiatul5763
    @islamaiatul5763 Год назад

    It will fully up and down, will not possible stop in the middle point or where i want.

  • @AviaScorp
    @AviaScorp 10 лет назад +1

    Thank you for the video Roland.
    Enjoyed it.
    I like your work, quite a lot.

  • @blipblop92
    @blipblop92 10 лет назад

    Why do you need the bungee cords? Don't they slow down the actuation?

  • @theevilovenmit
    @theevilovenmit 10 лет назад +1

    This has me thinking about robotics, using rc aircraft motors instead.