Blog
Musings, Updates, and Ongoing Work. Irregularly Updated.
Musings, Updates, and Ongoing Work. Irregularly Updated.
Curiosity struck again and so I decided to try and use an wired Xbox controller I had laying around as an alternate input method (typing in numbers wasn’t doing it for me anymore).
With the servos, IMU, and GPS wired to the Beaglebone and ROS installed, it’s time to put the pieces together!
A last year I got particularly bored and delved into the world of generative art. I hacked together some admittedly crappy code in Java and got some pretty cool results. In hindsight I realize that I probably should’ve used existing frameworks such as cinder, Processing, or openFrameworks rather than build an entirely new project.
After flashing Ubuntu 13.04 onto the Beaglebone, I installed ROS Hydro. The dependency issues I had the first time around seem to have been resolved (collada wasn’t available on UbuntuARM). Installing ROS was painless, but involved.
The following scripts are adapted from instructions on Robotic Controls.
Update 2014-02-13: added information about servo and motor controller
The BeagleCar needs sense of location and direction. This is where the GPS and IMU (accelerator/gyroscope) come into play. The GPS gives noisy readings in the current absolute position while the IMU can give rapid and fairly accurate readings on relative position. The GPS is also fairly slow 1-10 hz while the IMU can update much faster. Together, they combine both absolute position with rapid relative updates to yield (hopefully) sufficiently accurate location readings.
I’m making a self driving RC car for my senior project. It will be guided by GPS waypoints and utilize GPS data as well as inertial movement readings to accurately localize itself. I am also currently toying with the idea of cameras and distance sensors so the car/robot won’t be so “blind”. But that is a stretch goal far beyond my current capacities (need to get the car to move first).