I’ve made a lot of progress and changes to BB-8 over the last few months that haven’t been documented here so I figured this would be a good time to snapshot where I’m at with the project.
My BB-8 is a ‘hamster’ design meaning there is a robotic platform that drives along the inside of the body sphere to create motion. The drive platform is 3-wheeled using omniwheels which gives me full range of motion, including strafing. This also allows the craft to sit more sturdily inside the sphere with all three wheels always making contact and applying drive to the sphere. There is a boom-style gimbal lifting from the top of the platform to control BB-8’s head motion. The coupling between the gimbal and the head is magnetic. Following is an image of the platform and gimbal mocked-up inside the sphere, as well as a video of the platform operating.
The primary microprocessor controlling BB-8’s body is a Microchip PIC32 MCU. The PIC32 processes orientation data from a 9 dof MCU and controls the driver motors and gimbal servos. The PIC32 connects to two other microcontrollers: a PIC24 for audio playback, and an Arduio Uno “Top Board” to control the internal LEDs as well as to store configuration data. Control data is sent to the PIC32 via an XBEE wireless radio.
For audio, I quickly discovered that sound doesn’t escape the plastic sphere very wheel. As a result, I’m using surface transducer “speakers” that will turn the entire platform and sphere into a speaker through vibrations. I also have an OLED display as shown above for general diagnostic purposes.
Next week I should have all of these components mounted to the drive platform. I’m just waiting for a replacement gimbal piece before I assemble everything. After that I’ll follow up with some more driving tests, construction on the head, and info about the custom touch-screen controller I’m building. Stay tuned!