kwatters's blog

This script can save your life...

kwatters's picture

So, sometimes an arduino running mrlcomm will get away from you.  The best way to reset it is to toggle the serial port.  This resets the arduino that's connected and thus clearing the device list in mrlcomm.

Here's a small snippet of python code that will toggle the DTR pin and reset the arduino.

pi@raspberrypi:~ $ cat reset.py


Campaign for MyRobotLab on Wikipedia

kwatters's picture

Update: This document now open for anyone to edit...  

https://docs.google.com/document/d/1HDlE8d--x1-A56Ff5mcQehE5togKtGt4yuuGIHVStgk/edit?usp=sharing  

 

so.. I see that there are 2 pages that point to MyRobotLab on wikipedia.

1.  the InMoov page : https://en.wikipedia.org/wiki/InMoov

2. the open source robotics page : https://en.wikipedia.org/wiki/Open-source_robotics

 


Raspberry PI + OpenCV on latest

kwatters's picture

So, it seems like the upgrade of OpenCV to version 1.3 has busted the OpenCVFrameGrabber on the RasPI3.  Where, I don't have a fix for this issue yet, I do have a work around for the problem.  Here's the steps to get OpenCV working on the RasPI3 on the latest build  (until we sort the javacv 1.3 issue.)


Deeplearning4j , OpenCV and real time object recognition

kwatters's picture

So...  it works! sweet! Here's the proof!

 

 


The road to deep learning for MRL.

kwatters's picture

So  One of my new years resolutions was to add some deep learning support in MyRobotLab.  Reality is, this is a big topic and covers many aspects, but at the end of the day I boil it down to this.


ProgramAB and InMoov

kwatters's picture

----- UPDATE 2017/05/16 ----

InMoov and ProgramAB can be modeled a bit like a human.  Let's  think of it in terms of the parts.

  • Ear
  • Brain
  • Filter
  • Mouth

Ok,  above we have an ear, an ear recognizes text and publishes that to the brain.  The brain takes that text and produces 2 things. 1. a responses as text and 2. out of band messages ( generic mrl messages , we'll talk about these in other posts.)


Mycroft AI Mimic Speech

kwatters's picture

as of build 1891...

There's a new speech service.. MimicSpeech.  MimicSpeech is a wrapper around the "mimic" speech project from the Mycroft AI project.

At a friends birthday party recently someone said I should look into the Mycroft AI project.   So, I did, it looks like they've done a good job running with much of the CMU speech stuff.  


DIY Servo Service

kwatters's picture

Update:  https://github.com/kwatters/DIYServo OpenSCAD and STL files have been posted to github for those who want to try it out!

It's worky!  Testing out Mats new DIY Servo service.  This uses a 3D set of printed gears, a 12V DC motor, an LN298N dual hbridge motor controller and a 10k ohm linear trim rotary potentiometer.  Woohoo,  the power of PID controls you!  The power of PID controls you!

 


Parallelogram based leg design

kwatters's picture

So,  I've been watching James Bruton's build of the GNK droid on his Patreon campeign.  I was quite impressed with it and I think he has some great ideas.  Turns out parallelograms are an interesting choice for legs. By stacking 2 parallelograms on top of each other you can create a leg with a hip, knee and ankle.  Regardless of the angle of each of the joints, the orientation of the hip and knee and ankle will always be parallel to the ground.  Pretty awesome.  So..


Adjusting Memory settings for MyRobotLab at startup

kwatters's picture

Sometimes java applications take more than the default allocated amount of memory that is provided to the Java Virtual Machine (JVM).  It's important to note that just because your computer has 2 GB of RAM, java will only ever use what it's told it can.  By default a java process allocates 256MB of RAM, often times this is not enough and must be increased.  Otherwise you will likely see an error message/exception that looks similar to this: