Close
0%
0%

SmallKat: An adorable dynamics oriented robot cat

A dynamics oriented quadruped for research and education.

Public Chat
Similar projects worth following
Starting from
$500.00
madhephaestus has 3 orders / 0 reviews
Ships from Worcester, US
SmallKat is a 16 DOF low cost, opensource, 3D printed quadrupedal robot. It was designed and made by 2 WPI students (Keion Bisland and Xavier Little) along with framework code prepared by WPI staff Kevin Harrington. The intention of the platform was to make a fully open source dynamics quadruped for the education, research, and hobbyist markets. Using hobby servos and common electronics allows the overall price point to remain very low in comparison to its competitors.

In addition to the hardware kits, a full education kit is provided. SmallKat has lecture slides, tutorials and lab procedures for educators to take out of the box and use to teach robot dynamics. Prior knowledge required is merely basic programming skills in Java or Groovy and understanding of Git. The education kit will onboard you to being able to teach the rest.

In addition to performance and ease of use, adorability is a high priority.

Introducing SmallKat!

The problem we wish to solve is that there is a need for hardware to teach dynamic walking robotics. When we say dynamic, we mean both able to sense perturbations, and has processing power and actuator speed fast enough to compensate.  All existing dynamics-capable walking platforms are too expensive, and all affordable platforms are not capable of full dynamics. If students are going to learn how to make walking robots walk they need to learn using hardware. At the moment only *very* well funded universities and businesses can learn dynamics oriented robot walking. 

We are leveraging 3 degrees in robotics engineering, 10 years of product design and robotics experience, and a brand new robotics IDE to provide the best possible teaching tool at the minimal possible price. We have designed a new, 3d printable cat, about the size of an adolescent kitten. We are also using the brand new BowlerStudio robotics IDE for kinematics and dynamics control. This lets students run their code on the workstation in front of them and see it controlling the SmallKat across the room.  In addition to cutting edge tools, we have a comprehensive teaching package. SmallKat was used to teach robot walking dynamics at Worcester Polytechnic Institute (WPI) and those teaching materials are availible alongside the SmallKat sources. The teaching pack includes tutorials, lab procedures, lecture slides with scripts and teacher onboarding tutorials. No other walking platform has such cutting edge architecture, nor prestigious teaching materials. 

What makes this system so unique is the way students write and test code. BowlerStudio lets the students control SmallKat over the rooms WiFi network. Students code runs as scripts on the PC they are using to develop, and the control commands go over WiFi. This code is quick to change and re-test, making the students experience smooth and delay free. BowlerStudio itself is designed with documentation and tutorials front and center. All documentation is visible from inside BowlerStudio, and the code examples are executable. Executable documentation makes the connection to a description of what something should do, and seeing it happen one click away. Not only is the documentation excellent, it has been teach-tested at WPI. The SmallKat platform was used to teach WPI Robotics Engineering students how to write dynamics controllers. This curriculum and teaching materials are all open-source. WPI has agreed to partner with us to promote SmallKat and help us on the distribution.

The functional structure can be broken down into two major blocks, the high level gait & kinematics computation done in bowler studio and the lower level done by the micro controller on board the robot.


Bowler Studio functional diagram:

MCU Functional Diagram:

Our business model is to sell classroom kits of hardware, and individual fully assembled SmallKats. We have the backing of a top tier Robotics Engineering college and will use that backing to promote this platform to aspiring colleges and advanced high schools. The intent is to provide a lifestyle business for the developers, and to leverage resin casting for bulk orders. All SmallKats can be 3d printed, and for initial fulfilment we will provide printed parts. We will also be refining a resin cast process to streamline production and ensure consistent parts. 

The process to bring SmallKat to market is incremental. In the initial stage we will lean source components and print the plastic to order. As we scale up, we will increase the number of printers dedicated to SmallKat printing and hire a member of the local Makerspace to put together kits. If we outgrow this production throughput, or if we got a large lump sum, we will hire a member at our local makerspace who used to make resin molds for Hasbro. We have already discussed feasibility and would just need to engage him to make the molds. As we spool up production we will work with WPI...

Read more »

Zip Archive - 786.72 kB - 04/15/2019 at 16:22

Download

Adobe Portable Document Format - 15.35 kB - 04/11/2019 at 18:49

Preview
Download

Adobe Portable Document Format - 14.22 kB - 04/11/2019 at 18:49

Preview
Download

View all 14 components

  • A friendly user helped out with a wiring diagram!

    Kevin Harrington08/16/2019 at 20:33 0 comments

    Shout out to @jtechs who made a lovely wiring diagram as he builds the FIRST build of SmallKat made by another person!

  • New Assembly instructions and BOM purchasing info!

    Kevin Harrington07/16/2019 at 20:36 0 comments

    Today was busy and productive! I printed out a new Grace model SmallKat and made an assembly instructions document. Check it out here:

    https://github.com/OperationSmallKat/SmallKat_V2/releases/download/0.0.2/Catbot.build.instructions.pdf

    In it you will learn how to assemble a smallkat robot, as well as calibrate all its links.

    I also added the purchasing direct links on all of out BOM:

    https://hackaday.io/project/164727/components

    This should fill in the mystery steps in our previous documentation. 

  • Design Revision: Update 1

    xaveagle07/09/2019 at 03:47 0 comments

    Quick update on the most recent version of the cat. We took a look at our previous designs and have started making some improvements. 

    These include;

    • Longer legs and a slightly larger body
    • Easier assembly - many of the parts will be the same and reversible so its harder to mess up
    • Easier manufacturing down the line. Similar parts allow for easier mass production
    • More customization  
    • Optional encoders for additional feedback
    • Improved motherboard with room for 20 servos
    • Improved calibration 

    The current design still needs a revision or two. Currently its very blocky and hastily made so that electronics can be tested. Further revisions will have nicer aesthetics. Additionally we are re-evaluating our choice of hardware so that we can better supply parts. We also need to stress test the system with the larger body size and additional weight 

  • BowlerStudio got updated, the SmallKat runtime

    Kevin Harrington06/21/2019 at 16:52 0 comments

    I spent the week doing bigfixes on BowlerStudio!

    https://github.com/CommonWealthRobotics/BowlerStudio/releases

    The big ones fixed:

    * Re-docking windows sometimes results in frozen text windows

    * Cold-start on windows was buggy

    * Slide bars for robot link limits is MUCH improved

    * Adding files to empty repos works now

    * Git pull, and update repos menu item, now work

    * Dropped the OpenCV deps, makes cross platform easier and binaries smaller

    New Features:

    * A workspace menu, populated with the 15 most recently used Git repos

    * Bundled JVM on windows and Macos, no more separate Java dependency!

    * Ubuntu 18.04 PPA


  • SmallKat Dynamics and software update

    Kevin Harrington04/25/2019 at 18:38 2 comments

    Here is an update to the dynamics stack. In the background you can see the control software BowlerStudio with the live 3d model and its motion trajectory. 

  • FootSensors V2​

    Keion Bisland04/24/2019 at 21:49 0 comments

    Iterations are inevitable. Since we have taken to developing this cat full force we decided the easiest way to go about the foot sensors is to revise them from using their SPI protocol to making them as simple as possible by returning an analog voltage between 0 and 3.3 volts. So as can be seen here, the new DPS310 barometric pressure sensor resides in the middle of the board and to its right exists an stm32l011f4 micro controller(programmed through pads for pogo pins on the back for easy mass programming) that returns the equivalent value from the 24bit sensor as an analog voltage through the PWM port. This PWM signal is then filtered through an RC filter and comes out of the connector on the back of the board as an equivalent voltage. The pressure sensor data is therefore down resed from its original 24bit to 16 bit, however this is shill more than good enough for our application.

  • Added Dynamics to the control code

    Kevin Harrington04/17/2019 at 13:28 2 comments

    Here is a video demonstrating the dynamics loop. The IMU produces a gravity vector that is then used to compute if the SmallKat is tipping over. To the degree that it is tipped off its axis, the dynamics controller applies a counter Coriolis force by spinning the head and tail counter to the tipping direction. 

  • Added instructions and printable files

    Kevin Harrington04/15/2019 at 16:25 0 comments

    I added a zip of printable files for the whole SmallKat. They are in a zip folder in the files section of this project page, and also here:

    https://github.com/OperationSmallKat/SmallKat_V2/releases/tag/0.0.2

    I also added detailed instructions for cloning, printing, wiring and calibrating a new SmallKat. See the instructions section. 

  • MotherBoard Rev 2

    Keion Bisland04/12/2019 at 03:05 0 comments

    The second revision of the motherboard took everything we learned from the previous revision and fixed all the issues. The number of IMUs was reduced to 1 in the center of the motherboard ,  The Teensy 3.5/3.6 was replaced with a nucleo-l432kb nucleo-64 development board, A PCA9685BS to drive all 16 servos, off board power regulation for the servos using 4, 4A BECs and fused power plugs for each bank of 4 Servos. The switch mode circuit was improved to as previously inductive spikes from the motors being released from stall would cause damage to the IC, once resulting in it releasing its magic smoke. The correct connections were added to allow for the connection of the foot sensors. 

    BOM:

    The new board is being produces now and this will be updated as testing insures.

  • Pressure sensing feet​

    Keion Bisland04/12/2019 at 02:46 6 comments

    While brain storming sources of feedback that could be put onto the robot, We came up with a barometric pressure sensor encapsulated in a form of rubber. After researching a number of pressure sensors a highly sensitive, 24bit MS5611 pressure sensor was chosen with a resolution of down to 0,0024 mbar communicating through SPI. A board to mount to the end of the ankle joint of the robot was made so it could be encapsulated in the rubber. 


    This board was mounted to the ankle join and cast in a variety of rubbers to test the sensitivity and resolution of the data. Two durometers of Smooth-on silicone rubber (Durometer 10 & 20) and Smooth-on Vytaflex 20, a Durometer 20a poly-urethane. These materials were cast into a 3 printed mold and placed into a vacuum chamber and a vacuum was pulled to remove any air from the system that may result in any inconsistencies in the density of the material. 

    The silicone rubber was tested and  the results were very promising of the Durometer 20 rubber, however the Durometer 10 rubber was too soft to provide reliable and repeatable data. However the attempt to use silicone rubber stopped here, it was eliminated due to the inability to have silicone bond strongly to any material other than itself. 

    The poly urethane casts despite having a number of failed attempts at the beginning gave excellent results  in both casting quality and pressure transmission to the sensor. For this reason as well as its durability we continued with this material.

View all 11 project logs

  • 1
    Fork the Smallkat configuration

    Before building anything, lets load up our personalized copy of the SmallKat framework. Navigate to the Greycat repository and fork it:

    https://github.com/OperationSmallKat/greycat

    Once you have it forked, copy your new git URL

    https://github.com/javatechs/greycat.git

    And replace the existing:

    https://github.com/OperationSmallKat/greycat.git

    Open MediumKat.xml and do the same on line 8.

    Open launch.groovy and change Line 3.

    You now have a fork of the MediumKat configuration with a hardware launcher!

  • 2
    Launch your fork of SmallKat

    Download and install BowlerStudio and Java 8. 

    http://commonwealthrobotics.com/

    Open BowlerStudio and login with your Github username and password. 

    Use the Github menu to navigate to your fork of greycat and open launch.groovy

    Use the run button to launch your robot. A simulation of your robot will open on the 3d window. You can make it walk using the arrows in the top right of the Creature Lab tab.

View all 9 instructions

Enjoy this project?

Share

Discussions

Suyash wrote 7 days ago point

Hey.. Love the idea! I was considering making one of these for myself and need some suggestion. The recommended MG92b Micro Servo is quite pricey here in India. Is there any alternative that I can try? Something like a drop-in replacement but not as amazing as the MG92b. Let me know 😅

  Are you sure? yes | no

Kevin Harrington wrote 6 days ago point

SmallKats size and weight are such that any cheaper servo would destroy itself in a few minutes of running.  We push the mg92b to its limits in SmallKat and i have little hope of a cheaper one working at all. 

  Are you sure? yes | no

dana2048 wrote 7 days ago point

awesome project!

  Are you sure? yes | no

[deleted]

[this comment has been deleted]

Kevin Harrington wrote 04/23/2019 at 14:14 point

Thanks! I will be in touch as we go into development this summer to build the new stand-alone variant. 

  Are you sure? yes | no

Ken Yap wrote 04/12/2019 at 02:52 point

Love cats. The "ignore you" part of the coding would be simple. But seriously, love cats. Meow!

  Are you sure? yes | no

Starhawk wrote 04/12/2019 at 02:11 point

Meow!

...but seriously, I want one. A pity, because I can guarantee you that I can't afford it :(

  Are you sure? yes | no

Keion Bisland wrote 04/12/2019 at 02:48 point

you might be surprised. The projects open sourced so you can print everything yourself and all the other components only less than $300

  Are you sure? yes | no

Starhawk wrote 04/12/2019 at 02:50 point

I have a dead maximum of $200/mo disposable income and no 3d printer.

  Are you sure? yes | no

alireza safdari wrote 04/11/2019 at 17:37 point

We deserve more information. :)

  Are you sure? yes | no

Kevin Harrington wrote 04/11/2019 at 18:49 point

geez man im posting as fast as i can...

  Are you sure? yes | no

alireza safdari wrote 04/11/2019 at 18:51 point

@Kevin Harrington  Sorry, did not want to push you. Take it in a positive way, like there are people out here who are interested to know more. :) Thank you for posting.

  Are you sure? yes | no

Kevin Harrington wrote 04/11/2019 at 18:53 point

no worries! Im excited to get this public facing after a year of under-the-radar developemnt with Keion and Xavier

  Are you sure? yes | no

alireza safdari wrote 04/12/2019 at 04:18 point

@Kevin Harrington You guys are on fire :D Thank you for posting more information. :)

  Are you sure? yes | no

Kevin Harrington wrote 04/11/2019 at 22:40 point

I added a bunch more info :)

  Are you sure? yes | no

alireza safdari wrote 04/11/2019 at 22:41 point

Going to read them now. Thank you.

  Are you sure? yes | no

alireza safdari wrote 04/11/2019 at 22:46 point

@Kevin Harrington I really love your solution for programming the cat. Am I outdated or this has never been done before?

  Are you sure? yes | no

Kevin Harrington wrote 04/12/2019 at 12:00 point

This is rather new way to program and control robots, yes. My contribution to the project is the programming framework, [BowlerStudio](http://commonwealthrobotics.com/). I wrote the programming environment, the kinematics models and the hot-swapping Git based script architecture. 

  Are you sure? yes | no

Dan Maloney wrote 04/11/2019 at 16:42 point

If it doesn't spend 90% of the time sleeping, 5% puking, and 5% licking itself, it's not a proper cat. ;-)

But it's still really cool, and I'm looking forward to seeing more. Nice work!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates