News and Updates

Source code update 12/3/13

I have updated source code with support for the popular TurtleBot Kobuki Base, and included the Android Phone control for the robot.  Get the latest code from the Source Code Download page.

Android Phone Robot Control for Arduino

I have made a sample program for controlling an Arduino robot (stand-alone or connected to a PC) from an Android phone.  This also might make some good sample code for anyone wanting control Arduino from an Android phone (and get data from Arduino).  Download it here.

RCL - Through the eye of a contestant - cover

New Servo Magazine article

If you like Robot Combat league, check out the July issue of Servo Magazine!  There are several articles, including one I wrote titled “Robot Combat League – As seen through the eyes of a contestant”.

 

 

Maker Fairemf_bayarea_seeme_125x125

I had a great time a the May 18th Maker Faire in the Bay Area.  Lots of cool and amazing (and some really crazy) stuff! When I presented on the “Meet the Makers” stage, Dr. George Kirkman, the Robo Tech for Team Steel Cyclone was in the audience!  I asked him to join me on stage, and we had a great time discussing RCL and answering questions from the audience.

 

Robot Combat League Champions!

Robot Combat League - Season 1Dave and his daughter won the $100,000 championship in the new SyFy Series, “Robot Combat League”!  Their robot “Crash” is 7’9″ tall and weighs 828 lbs. For more info, see www.facebook.com/ShinselRobots

BrimStone KillShot

1/15/2013: Arduino support added

Also, removed external dependencies, so it’s easier to reuse the code posted here. For more info on Arduino support, see the Loki Electronics and Source Code Download pages.

Videos

Also, search for “Loki Robot” on YouTube

  • Loki Watches Star Wars  – A funny video I made of Loki watching is favorite move, and getting scared.  I hope you enjoy it. :-)
  • Loki More Behaviors  - This shows Loki doing some interaction, and showing off some of his newer behaviors.
  • Loki Cleans Up  – Video of Loki looking for objects on the floor and picking them up, using the Kinect sensor for 3D object detection.
  • Loki Robot 1 - First video of Loki, when he just had one arm.  Testing out his conversational AI.
  • Loki Robot 2 – Exploring the House.  This shows Loki’s navigational capabilities using his built-in map and A* navigation.
  • Loki Robot 3 – New Arm and Object Recognition.  Using OpenCV SURF for object detection, and showing off some Karate moves.
  • Dancing Robot; Loki’s little brother- This is a RoboNova robot I built, and programmed rock out with “Domo Arigato, Mr. Roboto”

 In the Design area, I have photos of the robots during construction, as well as schematics, software design overview, and the source code for Loki, Turtle, and Seeker.  I hope you find this information helpful in your own designs.

34 Responses to News and Updates

  1. abdelselam akmel says:

    it is amazing!

  2. Stefan Eriksson says:

    Hi!
    You seem to have an eye on this with robots for “normal people” :-)
    My spark was lit when you saw StarWars & Battlestar Galactica in the 70s, and interest has only increased with the years when the films Terminator, I Robot, Judge Dreed, Transformers and Star Trek, etc. has passed the big screen.
    I have long wanted to make me a robot that you can have some fun with at home.
    But as time and money has always been an obstacle seems “your” solution interesting.
    Was very inspired by your robots but especially when the robot Loki, I’ll try to start with a small project now :-)
    Thanks for a great inspirational site and your generosity to show your “solutions”!
    Hope will confer with you if you “get stuck” if I get started?
    Sincerely. Stefan, Borlänge in Sweden.

  3. Tom Carroll says:

    Dave,
    I’m doing another article for Servo Magazine and am featuring Loki, again. This article is a bit different from the others in that I am describing how easy it is to find robot parts or steer your robot design towards the parts that you find. You’ve told me in the past, but, could you tell me again of all the unique things you used in the construction of Loki. E-mail me directly, if you don’t mind. Tom

  4. Robert H. Zeiler says:

    Dave,
    In the LOKI mechanicals for the arm, specifically shoulder joint, you use a dc geared motor with encoder. This drives a chain and effects eventual rotation of the shoulder joint. I have built an arm similar to yours (still under contruction) except using a stepper motor and chain drive. Since the dc motor is not a servo, I was wondering how you command the dc motor to start/stop and go to the correct position? Of course I understand the feedback loop from the encoder, but doesnt this mean turning on/off the motor for a specific duration? Then, how do you calculate that duration?

    Reply

    • dshinsel says:

      The stepper motor sounds good. One thing is they can miss a step, so the encoder seems like a good idea to detect this, but you could just use sensor to detect home (that’s what printers do). Make sure you properly ramp up and ramp down the acceleration to avoid missed steps.

      Send me a picture when you get it working!

  5. Robert H. Zeiler says:

    Dave,
    In the LOKI mechanicals for the arm, specifically shoulder joint, you use a dc geared motor with encoder. This drives a chain and effects eventual rotation of the shoulder joint. I have built an arm similar to yours (still under contruction) except using a stepper motor and chain drive. Since the dc motor is not a servo, I was wondering how you command the dc motor to start/stop and go to the correct position? Of course I understand the feedback loop from the encoder, but doesnt this mean turning on/off the motor for a specific duration? Then, how do you calculate that duration?

    I am able to generate the necessary stepper pulses using a stamp connected to a stepper driver circuit. At least for now, it works during testing. I also plan to attach an encoder on the shoulder for position feedback.
    Reply

    • dshinsel says:

      The dc motor has an encoder on the back, which is connected to the motor controller. I use a Kerr controller that I got surplus, because it handles the PID for “Servo control” of a motor. All I have to do is tell the Kerr controller the position I want (in “ticks”), knowing that these get translated via the chain reduction to the arm itself. This is handled in these two functions:
      CKerrControl::SetArmPosition()
      CKerrControl::TenthDegreeToTicks()

      Note that it all depends upon the “Home position”, which is calibrated at start-up by having each arm move forward, then move back until an IR sensor detects it. This is the home position for all future movements.

  6. Robert H. Zeiler says:

    Dave,
    Thanks for the info., which controller are you using from them. The Kerr Pic-step controller only provides 2 amps per phase. From my experimentation, I am looking at roughly 4 to 5 amps peak and running at perhaps 1 to 2 amps holding. I got this steppers new from surplus. They work well, but only this one provides the necessary torque. Also, you mentioned PID for servo control of a motor. What is PID and does that mean I use a dc motor as a servo???

  7. alex says:

    Thanks for your information, I have always looked for this! I am a Machine engineer and have worked in this industry for two month. So there are some fields I don’t know about much and hope find more information on your website!

  8. Robert H. Zeiler says:

    Dave (and daughter)
    Watched the Robot Combat League last night. You guys did a great job and congrats on the win. Keep up the good work.

    On another note, it seems as though the bots could use a better controller. If forward motion is controlled by one person and arms by another, it would take too much coordination. Why can’t one person do all the controlling? Why can’t the bots legs be controlled by a human like the arms?

    Anyway, best of luck for the future battles…I’ll be watching

    • dshinsel says:

      Thanks!
      RE:”seems as though the bots could use a better controller. If forward motion is controlled by one person and arms by another, it would take too much coordination. Why can’t one person do all the controlling? Why can’t the bots legs be controlled by a human like the arms?”
      Yes, controlling the legs was fairly difficult to master. There is a control for direction, another for leg height, another for leg speed. They all interact with each other, and there are some combinations that cause the robot so wobble or loose traction. Plus, it was hard for my daughter and I to hear each other over the crowd :-)

      But, that teamwork part also added an interesting element to the show. Keep watching, it gets even more fun!

  9. robert says:

    You should make a Tutorial on how to make a robot like loki from scratch that will be the best

  10. shane says:

    hey Dave i’m really impress with your fine work, you see i’m 19 years old and i would love to know how to code. do you know any books or sites that can teach me???

  11. Deven says:

    Great job on Loki! He’s so cool. How much did it cost for you to make loki?

  12. Laura Lemmons says:

    Hey Dave. You wouldn’t mind starting an online class in robotics so I can learn more could you? I’m 18 and I’m heading into the field of robotics. But I gotta know. who was the hardest robot to create: Crash or Loki?

    • dshinsel says:

      I’d be glad to help get you pointed in the right direction; there is a lot of great info on the internet, and I can help point you to the information.

      • Laura Lemmons says:

        Mind emailing me some good websites? I’ll add them to my bookmarks and look at them. Bc I’m wanting to build Loki AND Crash a “sister”. wouldn’t that be nice?

  13. Chris says:

    Absolutely love Loki’s head, trying to replicate. For the life of me I cannot find any flashlight that is even close to what you used. It may seem trivial but it seems to e the only thing holding up the making of the head. Care to share where you got them?
    Congrats on winning the Robot wars championship!
    Chris

  14. Atul Priyadarshi says:

    Hey i m trying to make a similar robot… but instead of windows i m trying to use linux and all coding to be done in java… what changes will have to be made… and how the vision system will be changed for that. plz share..

    congratulation for winning the championship..
    nice pic with chris Jericho

    • dshinsel says:

      If you want to use Linux, I highly recommend you use ROS, and then apply Loki specific capabilities.
      I will be working on this, so if you make progress we can collaborate. But, since ROS is C++, you would need to use C++, not Java.

  15. akshay aadhi says:

    please tell me , what kinda study do i need to do to accomplish something like that….. AM juz enterin the engineering field now so can plz temme which course to pursue…….??????!!!

  16. Atul Priyadarshi says:

    how did u used to power the kinect…
    it needs to be attached to an external power supply..

    • dshinsel says:

      The robot has 2 batteries; a big 12v battery used for most things, and a small 6v for a few things like the Kinect.
      For Kinect, the two batteries are wired in series to give 18v, which is regulated down to 12v via a model TI PT78ST112 switching regulator, available at digikey.com. This regulator is very efficient and easy to use. it just requires a 1.5uf Cap on the input side (from the battery), and a 10uf cap on the output side (leading to the Kinect)
      There may be a better way, but this is what I did.

  17. Nikolay says:

    В России, особенно в облостях, трудности с подобного рода подробной информацией о полной конструкции робота.Буду Вам очень признателен за возможность использовать Ваши наработки в своей конструкции робота, и получении консультаций по возникающим вопросам.

  18. John Kabat says:

    Dave,

    I have taken your recommendation to heart!
    I have completely re-built my drive system using Electric Scooter wheels. For A look at what I have done so far see: http://robot.jkabat.com

    Any Idea if Robot Combat League is coming back?
    How about a picture of you and Amber with the Trophy?

    Regards
    JohnK

    • dshinsel says:

      Hi John,

      Wow, looks cool! I love the Halloween candy part!
      The drive system looks good!

      RE: “Any Idea if Robot Combat League is coming back?” I have not heard anything official, but I don’t think they are doing a second season, unfortunately.

      RE: “How about a picture of you and Amber with the Trophy?” There is a picture on http://www.facebookcom/ShinselRobots Is this what you mean? P.S. Amber and I take turns putting the trophy on our desks at work :-) It’s a great conversation piece :-)

  19. Atul Priyadarshi says:

    Hi dave,
    As said earlier, I am developing a similar robot in linux.. and i have made a software prototype without ROS. but i m having some difficulty in controlling arduino. can you plz tell me how to control and arduino from a c, c++ program.

    • dshinsel says:

      Hi Atul,
      I just uploaded a new version of Loki that shows this nicely.
      The code is actually a little more complicated, because I added some sync characters to assure good communication.
      If you download the code, look at the following:
      For the PC side: “Dev\_Robot\Common\HWInterface.cpp”, and search for “ArduinoCommWriteThreadFunc” and “ArduinoCommReadThreadFunc”
      For the Arduino side: “\Dev\_Robot\RobotArduino\RobotArduino.ino”, and in “RobotUtilities” tab, look at “CheckForSerialData” and “SendStatusToPC”

      Hope this helps!

  20. Jeffrey says:

    Hi Dave,

    I found your Loki robot very interesting and I’m thinking of implementing some of its features into my own robot project. I have a question with regards to the Xbox Kinect. I realize you installed a complete pc into Lolki to handle the kinect and was wondering if something smaller like the Raspberry PI would work with the Kinect.
    Thank You

  21. Erik says:

    Hello Dave,

    I was looking at your Arduino code (RobotArduino.ino) and I was a little confused. I am not certain how the RobotUtilities.ino is included. For example you make a call to BlinkEyes in the RobotArduino.ino and I can see the function in the RobotUtilities.ino but I am not sure how the functions in RobotUtilities.ino are included. Is it done in one of these:
    #include “C:\Dev\_Robot\Common\HardwareCmds.h”
    #include “C:\Dev\_Robot\Common\HWInterfaceLokiArduino.h”

    Sorry if this is a basic question still trying to get use to the Arduino.

    Thanks!
    -Erik

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>