Deskbot Part 3, Forward Kinematics
The process of determining the state of the robot from the control inputs is the forward kinematics. For a given set of 4 servo positions, we should be able to predict the orientation of all parts of the robot.
The process of determining the state of the robot from the control inputs is the forward kinematics. For a given set of 4 servo positions, we should be able to predict the orientation of all parts of the robot.
Let's make a desktop robot that moves. But wait, we have no tools.
It's been a while since I've done any robotics, so let's make that happen. When designing an autonomous system, it's critical to have clear objectives so that the requirements for end effectors, sensory inputs, and processing resources can be achieved inside your cost and time budgets. Instead of that, let's try to settle an office debate: what are the kinematics of a robotic platform positioned by 3 control rods?
Then, we'll put eyes on it. And it needs to fit on my desk; my apartment is not very large.
Back in 2013, I programmed an inexpensive media remote to control XBMC on Ubuntu with the help of a cheap infrared PC remote control. Since then, I’ve messed up that Ubuntu install pretty well, so updating seemed like a good idea.
Let's combine elementary school cryptography with popular social messaging services. I made a simple one-time pad generator available here. The source code is on github.
While studying for the Private Pilot Knowledge (Written) Test, I had a hard time memorizing the rules governing the minimum requirements for VFR in the difference airspaces. A fellow student pilot found this sketch by R. Tyler Croy. I really like how it distilled the rules into something small enough to jot down at the beginning of the exam. I drew up a very similar chart, correcting for 1200 AGL rather than MSL.
Stepper motors are a type of brushless DC motor that can be controlled so that they advance a fixed step size. Additionally, they provide a strong holding torque. This can make them useful in applications where you want to rotate the motor precisely without employing encoders. When prototyping, I like to use development boards that can be transferred to a custom PCB easily. This gives me a clear path if I want to move the design from the Protoboard to something more polished.
The local public access station produces a weekly news/entertainment program called The Local Live. The format features a live interview segment where community calls, emails, and tweets are taken on the air. To keep the contact information onscreen throughout the entire segment, I wanted to animate the contact info into a graphics bug. The station uses a Newtek Toaster Tricaster 860. By dedicating a video playback DDR to a DSK channel, we can overlay videos with alpha.
You need to implement a comparator circuit with hysteresis, and you pull up some app notes. They look something like this, credit to Analog Devices:
This is probably something that would have been obvious to everyone else, but stumped me for a bit when I came across it the other day. I was looking at the rate of change of a sequence, and my smoothing algorithm wasn’t doing any better than just subtracting two points in the sequence farther apart. In fact, the results were identical. This won’t be particularly rigorous, but I believe the concept is valid.