Journal 3: Week of May 2nd

written on 02 May 2014 by Andrew Dai

This past week I’ve done a lot more of the coding for my project as well as refining and fixing some of the circuitry and mechanics of the car.

MPU6050 driver

Specifically, I have written a ROS node that acts as a driver for the MPU6050 IMU chip that converts raw readings over the i2c interface into ROS messages that are published and broadcasted to other portions of the car. I am publishing Vector3 messages defined in the ROS standard_msgs libraries. When constructing each message, I am ignoring the error_covariance fields and only sparingly populating the ‘Header’ object with time and sequence number. In other situations I would try harder to more accurately comply with the API, but since this is a self-contained project with limited time constraints, I will leave that work for another time.

I do have minor concerns with memory and CPU restraints of the BBB since about half the data I’m sending with each message is just 0’s and ignored but hopefully it doesn’t become an issue. I don’t think my project requires the crazy high frequency computations that a more accurate and finely tuned robot does.

The code (as usual) is available on my github.

Unforeseen issues!

Many of the wires and the solder joints on the car were uncovered and exposed so I used heat shrink tubing to strengthen and protect the bare wires from shorts. In doing so I realized that the some of the connections would no longer fit the tight spacing on the circuit board I made.

So now my plan is to cut the live wires going to that part of the board and re-solder a new area in the empty space under it. It also gives me more space to put in the otherwise-crammed-in pull up/down resistors I need for the limit switches.

Plans

In the coming weeks I will be finishing the car. That means finally working on the navigation part of the car as well as doing test runs untethered from a computer/power supply. I also plan on asking around for anyone with a GoPro camera to use for recording an autonomous run. I want to overlay navigation data from the sensors and AI on top of the video footage as part of my presentation.