MarIOnette: Control Robots Inside Blender

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

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

  • @Nekotico
    @Nekotico Год назад +12

    This is exactly what I was looking for, if a sd card can play the animation, then I can program something on Arduino to run a specific animation with a controller, this has endless potential

    • @knee-koh
      @knee-koh  Год назад +7

      Hi, there's a new version of MarIOnette that supports local SD card playback! Check the github for the latest release, and be on the lookout in the coming weeks for another tutorial video that will cover this feature in more detail.

    • @mioszkolenda9777
      @mioszkolenda9777 9 месяцев назад +1

      @@knee-koh I am looking forward next tutorials! :) You made awesome thing

  • @VesuviusAntaria
    @VesuviusAntaria Год назад +11

    Thank you very much for creating this add-on for Blender. 👍
    This offers new possibilities. In the past, this was easy to do in Blender. But then they changed the API, making it no longer possible.

  • @Najebanski
    @Najebanski Год назад +4

    That's super cool. I would have never thought this was possible

  • @victorespada_
    @victorespada_ Год назад +5

    This is extremely promising, thx for this

  • @BadPractices
    @BadPractices Год назад +1

    This video is exactly what I needed. Thank you for makin this.
    Also, your video quality is exceptional relative to your subscriber count. I have no doubt that you will surely rise to the top and I’d like to mark my spot as the 538th subscriber!

  • @himmatsohi4261
    @himmatsohi4261 17 дней назад

    Thank you so much for this project. It is going to be a game changer for me.

  • @LOC-Ness
    @LOC-Ness 4 месяца назад

    glad to see someone's already made this

  • @adrianram5524
    @adrianram5524 Год назад +1

    I'm now....officially ....a blender addict ... that is WAY cool !

  • @portcybertryx222
    @portcybertryx222 3 месяца назад

    This is amazing and very useful for a project I’m working on

  • @Brainwizard.2
    @Brainwizard.2 Год назад +2

    So it has started..
    I love it!!!!!

  • @tasnimeamrani1405
    @tasnimeamrani1405 2 месяца назад

    WOW man. Amazing. Good job

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

    I’ve been thinking about this stuff for years and how I could get blender and arduino to talk in a streamluned way. Can’t wait to test this out!

  • @purplepenguin2947
    @purplepenguin2947 Год назад +5

    OMG this is really cool!!🎉🎉🎉

  • @chairulhalim4447
    @chairulhalim4447 Год назад +1

    Interesting one for robotic lab project

  • @badejoolatuiyi1365
    @badejoolatuiyi1365 Год назад +1

    amazing , thank you for this.

  • @hcgilje
    @hcgilje 2 месяца назад +1

    Potentially very useful, but are you still developing marIOnette? There haven´t been any updates since December 2023.

  • @Will_Huff
    @Will_Huff Месяц назад

    Dude. Just dude. I have been using so many different programs that do 1/2 the job this does. IK alone worth its weight in gold. Very interested in importing mo-cap and applying it to animatronics.

  • @darkframepictures
    @darkframepictures Месяц назад

    Soooooo awesome!

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

    Bro thanks alot this is awesome stuff

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

    Woah! This is insane!

  • @mustafadheyab6513
    @mustafadheyab6513 Месяц назад

    I’m wondering if you animate run cycle in blender for the two legs robot. Is it gonna work or can he actually run?

  • @dts_user1389
    @dts_user1389 7 месяцев назад

    Man, I might be able to use this at my job. I work in robotic thermal spray application for gas turbine components...
    Currently, I have not been able to find any programming tool out there that has the set of features I need, so I am looking to build it myself.
    If this works out, I will get my company to drop some big money on you. 😁
    (I'm still trying to lay out the groundwork for this project, so it's only at the stage of lip service rn. But I'ma get there!!!)

  • @simonjames732
    @simonjames732 10 месяцев назад +1

    Hi would this be compatible with a pca9685 module so I could add many servos to that and not clutter the io of the Arduino? The drawing arm worked fine when I tested it and is great as I'm an avid blender user thanks for making it as I've been looking for a way to use blender for creating an animation over to my animatronic project and now I can it seems.
    Where you mention you can render out animation do you mean store it to be referred to by the loop?

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

    Thank you.

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

    What i needed to see

  • @__yusuf__
    @__yusuf__ Год назад +2

    This is awesome, good work, thanks a lot :) May I ask, how can we put animations to SD cart and trigger them in our own codes? Is there a tutorial? Because I want to create animations and trigger them in my custom codes. Thanks again! Best Add-on to Blender in my opinion.

    • @knee-koh
      @knee-koh  Год назад

      Tutorial coming soon! The 1.0.3 build of MarIOnette supports this feature. You save the animation to your hard drive, transfer to an SD card, and then trigger it in the Arduino code. The latest .ino Arduino file in the github has some commented code on lines 167-177 that shows an example of how to load in an animation.

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

      @@knee-koh Thanks! I will look at arduino code. If I knew before I could understand how to do it without a tutorial lol :) One of the best features imo! Its good we will have an tutorial too! Good luck!

    • @charles26842
      @charles26842 4 месяца назад

      @@__yusuf__ Hey were you able to get the SD card to playback the animation at all?

  • @hankb7725
    @hankb7725 9 месяцев назад

    Are you planning to add support for saving the movement instructions from blender to the Arduino? It would be great if the animation created in blender can be triggered on demand directly from your robot with a button or some other trigger without having it to stay attached to the computer.

    • @DaniArkadia
      @DaniArkadia 6 месяцев назад

      That is covered in the video

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

    amazing

  • @29klepto
    @29klepto Год назад +1

    Thank you for making this awesome add-on just what I needed!! We are using a Rpi 3B+ to control a humanoid with 17 servo motors.. Will let you know if this works... FingersCrossed.

  • @jordanhenshaw
    @jordanhenshaw Год назад +1

    I'm working on a similar add-on for technical theatre. Question: have you had any difficulty with jerkiness when the motors receive the f-curve data? Any unexpected vibrations, overheating, or other bizarre interpolation anomalies?

    • @knee-koh
      @knee-koh  Год назад +1

      I haven't noticed anything like this in my tests. Blender does start to slow down a little (depending on your machine) once you add in lots of motors and LEDs, but still within reasonable limits (I've tested ~60 unique values at 45fps on an M1 macbook pro).
      Things like USB bus speed can affect jerkiness if the receiving microcontroller doesn't have a large enough buffer to read in all the motor values quickly enough (so some might get dropped). Power requirements are also really important: making sure all your grounds are connected, and the motors are receiving enough power so they don't draw too much load that might brown-out your main controller. Finally, motor resolution can affect smoothness; I've used really cheap rc servos in the past that had a small range, so moving between two values (say 101 and 102) visually looked like the motor moved a few degrees.
      It's hard to say what's causing the anomalies without seeing how things are set up IRL, but hopefully some of the above can help!

    • @ransombot
      @ransombot 21 день назад

      @@knee-koh Could be overloading your servo's moving to fast. With a skeletal animation you can swap your timeline to a graph editor and change how the curves work. Won't fix under powered servos but can help with over shooting by slowing it down more before it try's to stop. Common problem with 3d printers called ringing where you take more breaking torque than you can get from your motor and get an obsoletion as it over corrects. Lots of documentation on how to fix it in regards to that which should be transferable.

  • @yannhuang6996
    @yannhuang6996 Год назад +1

    wowww super useful

  • @erreib
    @erreib Год назад +3

    Looks great! Are the design and instructions for the spider bot project project available online? Thanks

    • @knee-koh
      @knee-koh  Год назад +5

      Coming soon to the github!

    • @Brocknoviatch
      @Brocknoviatch Год назад +1

      @@knee-kohlook forward to it!

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

    Dude this is cool . I'm definatly using it😁👍

  • @benploughman4145
    @benploughman4145 Год назад +2

    When I export an animation, the file seems to not have any extension and the contents look like some kind of encryption. What am I doing wrong?

    • @knee-koh
      @knee-koh  Год назад +1

      Hi, this is normal behavior! I'm working on a tutorial to go over more features, but here's a short overview until then:
      - First, make sure the "Enable SD Card" box is ticked, so the Arduino knows what to read from. If you're using a standalone SD reader module, uncheck "use internal SD card" and select the CS pin number
      - I would definitely recommend checking the "write cache header line" box, because the Arduino uses that line to figure out the fps and number of frames in an animation
      - Cache the animation and save it to your computer, then transfer it to the SD card and insert it into your microcontroller
      - Sync the configuration (in MarIOnette sync panel) and update the code to the microcontroller so it loads in the SD library
      - To play back a file, you can uncomment lines 167-177 in the MarIonette_Template_V1.ino code to see how to begin playback. The animation will run (assuming it's found on the SD card) and end automatically. You can track progress by monitoring the microcontroller over Serial
      As for the encryption you mentioned, this is also normal. In order to save processing time and space, each value is stored as two bytes that get combined into a 16-bit integer. The bytes look like gibberish in plaintext because they are being stored as ASCII values. The only thing that is readable is the aforementioned header line, since it only gets read in at the beginning of playback. As for the extension, that's also normal to not have an extension. Since there are certain bytes that signal end of file for .txt filetypes, I chose to make the animation files extension-less, since all of the operating systems and microcontrollers I tested this on are able to open and read from them without the end of file byte problem.

    • @benploughman4145
      @benploughman4145 Год назад +1

      Thanks so much for the detailed reply and talking me through the procedure! I'm eagerly looking forward to your next tutorial.
      As for my other comment on the other video, thanks for following up on that as well. I ended up going another direction that got me to a place I needed to be. However, I am starting to work with Dynamixels and definitely want to shift back to Marionette for that.
      I updated from 1.0.2 to 1.0.3 yesterday after I sent this message and was glad to see the new SD card options. this is going to come in very handy. I did however have some trouble when I attempted to Cache the animation in the SpidahBahtV1 sample file. When I would press "Cache File" it would read that it's "Writing file" show the "Percentage done" hang on 0% with no file created. Could there be some conflict with that particular file? I also noticed that in the code for the add-on that Dynamixel was commented out for the dropdown selection. it seemed to default to LewanSoul for the actuator selection. was that intentional?

    • @knee-koh
      @knee-koh  Год назад

      @@benploughman4145 great catch on the SpidahBaht example! It looks like the mapping on that bone is a little off, causing it to output negative values. For that specific example, you can set Servo 2 in the Actuator Setup panel to have a Min bone angle of -180 and Max bone angle of 180, just to get the caching to work. I'll work on fixing this bug to make sure negative values get clamped to 0 to prevent this from happening in the future.
      A quick tip on debugging errors: if you go to the scripting tab in Blender, you should see a red error in the bottom left showing what MarIOnette is angry about. When I'm in a rush I just tweak values until the error go away XD
      Dynamixels are the last thing on my list of things to implement, since there's more options that can be implemented. If you need it to work right away, and have a board that converts 2pin serial/Uart from the Arduino to the 1 data pin of the Dynamixel, you can use the DynamixelSerial library on the github (Arduino Code > Libraries) and include it in the Arduino .h file. From there you'll need to setup the Dynamixels in the .h file (use the examples found in that library) and then replace any Servo.write() or Servo.writeMicroseconds() commands with the corresponding Dynamixel calls.
      Version 1.0.4 will include basic Dynamixel support, I just need a few days/weeks to test functionality.

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

      Brilliant. Thanks for the debugging tip and really all of the info you've shared. Super helpful. Looking forward to seeing all this evolves. You've made a really cool thing here.

    • @benploughman4145
      @benploughman4145 10 месяцев назад

      Im working on setting up Dynamixels and there's a section in the Marionette panel under the Dynamixel ID number for 'Select Serial Port for Dynamixel link' and the drop down lists 'Serial1, Serial2, Serial3, etc..' . I'm curious as to what differentiates this from the Serial Setup section at the top.

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

    This is great!!!! 😍

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

    great! I have a question. What is the difference with ros moveit?

    • @knee-koh
      @knee-koh  Год назад

      This runs inside Blender, so CG artists or people familiar with the software can leverage its many animation and other tools to drive animatronics. I have never used Ros Moveit, so I cannot speak to the exact differences, but it looks like it's more specifically oriented towards factory and industrial robotics.

  • @mikealbert728
    @mikealbert728 Год назад +1

    Very cool. I am curious. Can this work in reverse? Can it be setup to manipulate the real world device and make the 3d model move in Blender?

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

      That is also possible that you can do that with Blender. ruclips.net/video/bS2h98qkiQQ/видео.html

    • @knee-koh
      @knee-koh  Год назад +1

      It does, but it's a feature that is still in development: github.com/knee-koh/MarIOnette/blob/main/Media/Gifs/ElmoInput1.gif. Currently the Blender viewport has some latency in regards to the input. I will likely store the inputs locally on the microcontroller and then push the animation frame-by-frame to Blender in order to get frame-perfect captures.

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

    Badass!

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

    in the vid u said it can save to microcontrollers, but can you export this into a python script to play it alongside other code on a RasPi?

    • @knee-koh
      @knee-koh  Год назад +2

      Yes, saving to the microcontroller means saving a file to the SD card. That file can be read by any filesystem, and I've run the files from a Raspberry Pi in python on past projects. I will try and post example code to the github for the next release.

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

      @@knee-koh oh I see, thank you!

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

      ps. this is such a cool tool for creators and engineers, thank you for all the great work that was put into this entire addon

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

    wow, you did it! Bravo, this is the future to create self-sustaining 3d printed houses and all the rest for the people by the people! I made open-source giants 3 printers 9 feet by 14 feet prints for less than 1000$ can you animate it? for the people? or how much would you charge?

    • @knee-koh
      @knee-koh  Год назад

      I think MarIOnette could animate it, assuming you are running stepper motors on the printer. If you want your machine to print real objects, a slicer that will output g-code will likely be more efficient and useful.

  • @00budge
    @00budge Год назад

    no errors adding the add on apparently, but cant find it in there

    • @knee-koh
      @knee-koh  Год назад +1

      Can't find it in the viewport, or inside the addon window? I made a tutorial to walk through installation: ruclips.net/video/nJkThBeOZog/видео.html

    • @00budge
      @00budge Год назад

      It's not showing up in the add ons on windows. Does it work with blender 3.5

    • @knee-koh
      @knee-koh  Год назад +1

      @@00budge I have updated the github to a new version that should fix this issue. Please try the new version and post any issues to the github, where I can track them more quickly.