Hexapod Robot, Dynamixel AX-12A Servo Motors (Video 2)

Поділитися
Вставка
  • Опубліковано 29 вер 2013
  • Line tracking and remote control modes.
    Line tracking video: • Hexapod Robot, Dynamix...
    Sakarya University, Mechanical Engineering
    Sakarya Üniversitesi, Makine Mühendisliği

КОМЕНТАРІ • 26

  • @ARTEMIX2008
    @ARTEMIX2008 4 роки тому +1

    Excelente video, saludos desde Perú.

  • @magnuswootton6181
    @magnuswootton6181 2 роки тому

    this robot looks good. apart from good proportions, looks like its groove fitted and double braced on the motors, very important.

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  2 роки тому

      Thanks for your comment Sir! Yes it is double braced, motors are connected to 2 piece of hexagaon polypropylene body plates (upper&lower plate). Structure is stiff enough and cheap. Battery is in between upper and lower polypropylene plates.

  • @satyananda4389
    @satyananda4389 2 роки тому +1

    Great work sir....How do I adjust the robot's leg movements so that it can run very fast, is there a special delay for that? Or are there other factors that affect the speed of robot? Can you explain it?
    Thank you

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  2 роки тому +1

      Thanks for your comment.
      I don't remember the numbers for delay in the code. As I remember, I reduced the rotation angle of "Swing Arround Loop" and this caused reducing the delay times to keep swing arround loop in same speed. I beleive you can do it even faster, dynamixel motors have fast responses but I'm not sure about limits. Maybe if you will use a remote control, according to the quality of remote control, the delay of remote may need big delays than the servo limits. It is better to check manual of servos and contact to support team.
      The main points that may affect the speed of your robot can be:
      1. Walking style... e.g. a real spider walk or a human walk like I do. I've replaced each human leg with 3 legs, so spider can stay in balance on 3 leg while other 3 leg reachs out through forward/backward/left/right. I've explained my walking code more detailed in one of my answers below like 2 years ago.
      2. Servo software/electronic/electrical capacity... Dynamixel servos has internal RAMs/electronics and it has internal addresses. They can be really fast in some models. You should choose your servo brand and model according to your needs.
      3. Servo overheating... Overheating may cause delay problem in some servos.
      4. Controller capacity... Your micro-controller or whatever controller you use, please check the specs. If you have a good quality controller, its limits for delay should already fulfil the limits of other factors because other factors are physical.
      5. Your battery capacity... You will need more current if you want a faster robot. If your capacity does not fulfil the current need of servos you can not see the real performance. (and the voltage should be stable). The current is like your oxygen need when you want to run faster. You need a higher capacity lungs/heart etc.
      6. Stiffness of your spiders general structure... You need a stiff structure. Material stiffness should be high enough for body and joint parts.
      7. Gaps...You should not allow gaps in translational and rotational freedoms and fixed connections.
      8. Damping/Energy isolation... Maybe this can be the most important point when you want to go faster. When you go faster and if you don't have a good programing and kinematics, you will hit the legs to ground like an impact and it will create a reaction force. Servo will have some tolerance for the reaction force, but if you are out of this tolerance you can not run servo properly. If you are in the range of tolerance but have still an impact to ground, your servo will look like it is working normal, but you will have to put higher delays for higher impacts. My robot has a rubber part which interacts with ground and a spring after this rubber. Rubber can absorb energy, has some limited damping itself. I'm not sure spring I used is a good idea. Because spring has no damping/energy isolation. It will smooth the impact by the compression of the spring. After that springback will occur and an uncontrolled force will be relased through ground again. This will cause vibrations. When you go faster, your vibrations will cause more problem and you will have to put delays. You can search for small damper components that will fit to your robot. Than a spring-damper couple can be used.
      9. Coding skills, kinematic and structural perfection for a small impact on ground... This is the most tricky part of building a robot I guess. You should cope with impacts according to your expectations/needs from your robot. Before point 8.(damping), first you should try to touch to the ground, not hit/impact. Here coding, kinematical, structural perfection is needed. Even material abosortivity of general structure can be important. After all physical perfections, you need coding perfection. For that, you will need sensors/feedbacks from leg-ground interaction. Dynamixel servos has already have some integrated feedback system without using additional sensor. But I'm not sure If you can read torque/force, maybe in some models. If you got the torque feedback, you can create smooth interaction with ground instead of impacts. You will need a good coding. And always build your robot with inverse kinematics algorithms.
      I just made some remarks, I may be wrong in some points.
      Please keep in touch with professionals/hobbyists who are actively working on these kind of projects.

  • @damedane913
    @damedane913 10 років тому

    hello there, amazing work done by u , i would appreciate it if u answer me a few question here though, i m currently working with ax-12a two but have problems with power supply. how do u get the 12v max 900mA it needs? which is a lot. if u can tell me how much current it needs normally(i dont plan using it at max torque) it will help me a lot

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  10 років тому +2

      Hello,
      Thanks for your comment. I used a 12V adapter at programming stage and placed a 3S (3 Serial) Li-Po battery to the body after all. 3S Li-Po will supply 11.1 Volts which is the recommended voltage on datasheet. My Li-po capacity was 1000 maH and it is enough for 18 servos if you are not gonna play with your robot for a long time. It is also light-weight and small.
      You can buy Li-Po from e-bay or
      www.hobbyking.com/hobbyking/store/__317__85__batteries_accessories-turnigy_lipoly.html
      1000 mah 3S 20C or 30C will be enough for you.
      I used an adapter something like this. (SMPS adapter)
      www.ebay.com/itm/12V-2A-3A-5A-6A-8A-10A-Power-Supply-Adapter-Transformer-for-5050-5630-LED-light-/121168440640?pt=US_Lighting_Parts_and_Accessories&var=&hash=item1c3633ad40
      You can also buy a different style of SMPS
      www.ebay.com/itm/DC-12V-5A-60W-Switch-Switching-Mode-Power-Supply-Driver-For-LED-Strip-Light-Lamp-/140842831847?pt=AU_B_I_Electrical_Test_Equipment&hash=item20cae30fe7
      You can find an old computer power supply and use it as your needs. Just google "ATX power supply to Lab Power supply" or "Computer Power supply to bench power supply" You will find many examples like this:
      www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply
      Actually you don't need to do this conversion. Just place a nail into a yellow pin and a black pin. That's it, you got 12V. Before using it, measure the voltage between yellow and black cables or check the table on the power supply for being sure if the yellow cable is 12v.
      By the way, what is your controller?

    • @damedane913
      @damedane913 10 років тому

      Tamer Danalıoğlu
      thanks for all that information man、i serached for all the SMP adapter i could find but,provided that i live in japan now, the lagest current for a plastic cased adapter is 5A,3 times the price on ebay(i need to power 10 dynamixel so seems not enough),while the metal cased one is about 5 times the price on ebay(it does provide enough power though). im working on a 1.5 month project and i dont know if i am going to use dynamixel servo in the future,so definetly dont want to buy anything too costly.does the servo use 900mA all the time ? or i can power 10 servos withl a 12v 5A adapter. im building 2 robotic arms one delta arm one linear arm and im not planning to do anything crazy like throwing stuff.

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  10 років тому +1

      Ziqiao Jin The current drawing from power supply is related with the load on servos which means it will not draw 900mA all the time. AX-12A's stalling current is 1.5A with 1.5N.m stall torque. You will never reach these conditions at your project. 5A adapter will be enough for 10 servos if they are not going to work at the same time with big loads. My friend working on a robotic arm project with 3 MX-64 and 3 MX-28. I'll tell you how much current his robot draws in a few days. I'll also try to measure my hexapod's current drawing.

    • @ziqiaojin1603
      @ziqiaojin1603 10 років тому

      Tamer Danalıoğlu
      really appreciate ur help,saving me from actully borrowing a adapter from school and try to measure the current.i will buy the 5A adapter then. good luck on ur study.

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  10 років тому

      ziqiao jin Your welcome. By the way, my hexapod's SMPS is also 12V 5A and 18 servo is working fine. Good luck and have fun.

  • @ThaoTran_1396
    @ThaoTran_1396 6 років тому

    Hi, This is good projject. Now, I'm doing the same. But I don't know how much current for 18 servo MG90s, can you help me. With datasheet of Mg90s is work between 4.6 and 6V. But it doesn't enought current.

    • @danialfitriya
      @danialfitriya 5 років тому

      Saya minta program code hexapod boleh?

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  3 роки тому

      MG90S has 700 mA stall current i guess. 120-250 mA during movement. For AX-12A, i never had an issue about current since my max. current output from controller was like 6 times less than stall current.
      For MG90S if you try to do same setup like me, 18 servos x 200 mA average = 3.6A. You will never use 18 servos at same time. Very few will need 200-250 mA. I guess you will be fine with 2A max i guess.

  • @hcy93
    @hcy93 3 роки тому

    Tamer hocam saygılar merhabalar, bu kadar çok ax12a yı hangi kart ile çalıştırdınız? Arduino Raspberry Pi gibi. Teşekkürler.

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  3 роки тому

      Merhaba,
      Arduino Mega 2560 ile çalışmaya başladım tek AX-12A servo kullanarak. Firma servoların garanti kapsamında kalması için kendi kartı ile çalışmam gerektiğini söyleyince bitirme projesi olduğu için riske atmak istemedim ve kartı değiştirdim. Gilbo firmasının (robotsepeti.com) "BIOLOID Premium Robot Eğitim Kiti"nin CM-530 kodlu kartına geçtim. Gilbo Arduino satışına da başlamış, belki artık servoları arduino ile de garanti kapsamında tutuyorlardır, arayıp sormak lazım. 18 adet AX-12A'yı CM-530 ile kullandım fakat Arduino ile de bu işi yapabilirsin ve daha keyifli olur. Çok sayıda servo kullanılacaksa ve girişleri yetmezse ek modül ile çoğaltılabilir. AX-12A 9-12V, Arduino mega 2560 7-12V ile çalışıyor. Kart kapasitesi üzerinde akım gerekiyorsa ek kart hazırlamak ya da varsa hazır modül kullanmak gerekebilir. Bu servoları arduino vb. farklı kart kullanacaksan Gilbo'ya danışabilirsin.
      İyi çalışmalar

    • @hcy93
      @hcy93 3 роки тому

      @@tamerdanaloglu2265 geri dönüşünüz için çok teşekkür ediyorum internette bir kaç uygulama gördüm bu ax12a servoların sinyal pinleri arduino nun TX pinine bağlanıyor ondan kafam çok karıştı normal digital pinlere veya PWM pinlere bağlasam servoyu kontrol edebilir miyim?

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  3 роки тому

      Rica ederim. 7-8 yıldır robotik, kontrol, elektrik ve elektronik konularından uzağım o yüzden tüm detayları hatırlamıyorum. Dynamixel servolar geleneksel servolardan farklıdır. Dynamixel'de servonun içerisinde micro-processor, EEPROM ve RAM var, bu da servodan feedback almanızı mümkün kılıyor ve firmware güncellemesi dahi yapabiliyorsunuz. Hatırladığım kadarı ile PWM ile feedback almanız mümkün değil. O yüzden Tx/Rx ile Dynamixel'in dahili EEPROM ve RAM'i üzerindeki adreslere gönderdiğiniz komutlar ile servoyu kontrol ediyor ve feedback alıyorsunuz. Önceki mesajımda çok sayıda servo kullanılması durumunda girişler yetmezse ek modül kullanılabilir demiştim. Bunu yapmanıza gerek kalmayacak çünkü Dynamixel servolar seri bağlanabiliyor ve tek bir hat üzerinden tüm servolara ayrı ayrı ulaşabiliyorsunuz. Feedback ile çok güzel işler çıkarabilirsiniz. Pozisyon, sıcaklık, akım, yük/tork vb. bilgileri servodan isteyip PID kontrol ile gerekli düzeltmeleri yaparak çok daha hassas işler çıkarabilirsiniz. Saygılar.

    • @hcy93
      @hcy93 3 роки тому

      @@tamerdanaloglu2265 verdiğiniz bilgiler için teşekkür ederim. saygılar

  • @manoi2010
    @manoi2010 4 роки тому +1

    Hi do you want sell this hexapod? Please let me know thanks good day

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  3 роки тому

      If i knew it will rust at university lab, I would try to take it for a better coding for fun or sell it to someone wants to work on it like you. Sorry...

  • @user-ee1pi9ee6u
    @user-ee1pi9ee6u 4 роки тому

    Hi, This is good project. Now, I'm doing the same. But I don't know how to control this hexapod robot ,can you show some codes ?For examples, how does this hexapod robot walk straight?

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  3 роки тому +1

      You can walk straight in many ways since you have 6 legs. I had limited time and coded the simplest way. This is not a real spider walk, this is a human walk, but replacing each leg with 3 legs, so you solve the balance problem with a tripod leg.
      3 legs on ground like a tripod and these 3 legs moves the body forward with some angular adjustments on 3x3=9 servos. (Lets call these 3 legs=Tripod_A). At the same time other 3 legs (Tripod_B) are not in contact with ground, reachs ahead, after enough distance gets in contact with ground. Now all legs are on ground. Now time to lift up Tripod_A so will not have contact to ground. This time Tripod_B moves body forward and Tripod_A reachs ahead.
      If i had enough time, i would like to code with a static inverse kinematics. Next improvement could be a dynamic inverse kinematics. Using feedbacks for elevation differences, barriers etc.

  • @jahidourrahmanfahim5335
    @jahidourrahmanfahim5335 4 роки тому

    How can i get this body frame ?

    • @tamerdanaloglu2265
      @tamerdanaloglu2265  2 роки тому +1

      It is a “do it youself” body frame. Two piece of polypropylene plates. Both upper and lower plates are in same thickness arround 5 mm. The thickness fits on AX-12A, no dent, at same level without servo surface. So you can find the thickness from servo drawing.