Monday, November 30, 2015

Code for WRT-T1 added on Github!

Hey everyone,

the source code for the WRT-T1, along with two tests I used during development are now available on my Github.

Sunday, November 22, 2015

"Artificial Intelligence: The Very Idea" by John Haugeland

I'm not a philosopher, but I'd like to think of myself as a deep thinker when it comes to the topics I love like robotics, computing and artificial intelligence. I've wanted to read more literature about these topics in my free time, so I started by going through my backlog of books I picked up from half-price books. One of them was a used copy of John Haugeland's "Artificial Intelligence: The Very Idea". As I may have hinted, this is a far more philosophic book that I'm used to reading, but I highly recommend it whether you're a student of computer science or of philosophy. While I was familiar with many of the computer science topics (like Turing's work and computer architecture), many of the philosophic approaches to AI problems were really refreshing and exciting. Some would complain that the book is a little dated (published in 85), but I would argue that the concepts are just as relevant today. To dismiss the idea that AI could afford to more closely resemble some of the finer parts of the human consciousness would be very short-sighted, so even if the idea seems silly the book is far too informative to dismiss without at least hearing how AI could stand to benefit from some of these features, and what they mean to our understanding of intelligence. On that topic, the book is equally interesting as an exploration of what makes human intelligence. You'll leave with an appreciation for a lot the innate "talents" the human brain can accomplish, and wondering if they can translated as automatic formal systems. 5/5

http://www.amazon.com/Artificial-Intelligence-The-Very-Idea/dp/0262580950

Tuesday, November 17, 2015

WRT-T1: Wireless Raspberry Pi Tank

After several bouts with circuits, CMake, and the Raspberry Pi's weak PWM game, I've finally finished my first revision of my wireless Raspberry Pi tank, my first first, albeit boring solo venture into teleoperated robotics. :)





The first challenge was framing the input and output. I chose to make the input a wii remote intitially because I wanted to use a game controller, but a simple one. When I was younger and the wii was still a new console, I remember being amazed at a college kid who powered most of his dorm through the wii remote, so learning wii remote input has always been a desire of mine. Not to mention the unit is compact, wireless, and has many different peripherals. I went with this library called WiiC, which functioned quite nicely. As you can see from the demonstration below, I paired wiimote input with LEDs on the Rasberry Pi's GPIO using WiringPi:



Next came working with the motor output. I chose to build my own motor driver circuit (for some reason) built off of a h-bridge IC. I first prototyped a version on a breadboard and tested it with the Arduino Uno. Then, I got out my soldering iron and built it onto soldered micro breadboard from Sparkfun. Below you can see the fritzing diagram, and how it interfaces on the Raspberry Pi. Each motor has two logic pins and a speed pin. I also have a second LED to act as a signifier that the wiimote is connected.


The last part was writing and testing a state machine for driving the motors. I could have conceded to doing all digital tank controls wherein you can only drive OR turn, but I simply had to have some more natural turning, so I then began fussing with using PWM (pulse-width modulation) on Raspberry Pi. As it turns out, the Pi only has one native PWM, so in order to go beyond that, you need to force wiringPi to create a "simulated" PWM using the processor's clock, which is a bit of a pain. Thankfully I managed to get it working though. As it stands I still need to back off the wheel that's being turned around.

The last steps that remained where changing the raspbian OS to boot that program on startup, with log-in and use an external power source. I decided to use one of the USB charging sticks that I got from an underwhelming career fair I attended in college that made me depressed. But hey, now it powers my sick robot!

Anyways, I have plans to return to this project and apply a number of upgrades, including camera and networking controls, and some kind of armament.


Thursday, November 12, 2015

November Update



Does Jacob still do stuff?


Why yes! I sure do. It's not all once, and it's not always to completion, but I sure do things! I was thinking deeply today about things like spoilers, datamining, and reveals. I was wondering if I should adopt a sort of "showroom floor" attitude towards my accomplishments and only post them on completion, but I feel that undermines all the work that goes on beforehand! There's already so many people suffering from technological illiteracy that feel like things just come into being after someone has an idea, but really there is and always will be a lot of hard work between those two points. And I feel it's time that I reveled in that time a bit more. I feel like there's a lot of pressure around to get in, get working, and get done, but the truth is this is what I do and I love it! So what if I take a break? I'm still contributing to a wide-base of knowledge I can pick back up at any point. That's how the brain works, and I love it!

That being said, I figured I would make a few posts about the various things I've been working on. None of them are quite at the level of the showroom floor, but that's not all there is to tech! I've been reading a fascinating book, learning to 3d print, and fussing with my new smartphone. The game is a lot different since I've graduated college, and for the time-being, I really enjoy it! Anyways, I'll be sure to post that content along with the other life-updatey things I've been doing. I'd say I have about five posts of content, and I'll try to get them out on a soonish basis. :D