Close

pi3hat released!

A project log for mjbots quad

An open-source, affordable, dynamic quadruped robot

josh-pieperJosh Pieper 06/29/2020 at 15:020 Comments

The last piece of the quad A1 puzzle that I didn't have on mjbots.com is here, the pi3hat

This is a Raspberry Pi (4b or 3b+) hat that provides 4 CAN-FD ports (up to 5Mbps), a low speed CAN port, an IMU, a DC/DC converter to power the Raspberry Pi from bus voltage, and a port to connect an nrf24l01 module.

I also wrote a brand new standalone client library which is a single C++11 header and source file with no dependencies.  It lets you access all of the features of the pi3hat in a performant way, although the SPI register mappings are publicly documented in github for writing your own client library.

I tested this version of the board and library in-situ with the quad A1:

After some optimization, I was able to get a full cycle of commanding and querying all 12 servos and reading the IMU down to 740us:

If you do that on one core of the raspberry pi, that leaves the other 3 cores for doing control work, and would let you achieve a 1kHz update rate.

As I mentioned, with the pi3hat, all of the custom boards and servos for the quad A1 are now up at mjbots.com, (the controllers and servos with now significantly reduced prices):

Discussions