For the robot to have the ability to sense the ground sounded like a great idea and having FSRs on the feet was not a new concept. Before creating my own I checked google to see what may already exist and found a little bit of information about the official feet made by Robotis. The page and videos are a bit dated, the product is listed as not available, and the price was $450. Not to mention the performance demonstrated in the linked video left a lot to be desired.
A little more scrolling revealed some specifications about their design. Mainly how they configured the register table was what I was interested in but it was also nice to see the X,Y layout their code was expecting to readings to correlate with.
http://support.robotis.com/en/produc...onents/fsr.htm
At this point, perfect, we can make our own. To prevent the possibility of having a robot without working feet I ordered some extra brackets from Trossen.
http://www.trossenrobotics.com/bioloid-metal-f5-bracket
http://www.trossenrobotics.com/bioloid-metal-f12-foot
You’ll also require eight FSRs ( 4 for each foot ) and the size I found easiest to install on these feet are the small 0.2” size.
http://www.trossenrobotics.com/store...istor-FSR.aspx
You’ll also need a MCU to sample these sensors, interpret the data, and respond to dynamixel packets. In recent discovery I found the Adafruit Trinket Pro in the 5V 16MHz configuration to work well for just this sort of thing. I’m willing to bet there are other MCU options out there but this one is small, handles voltage regulation, and doesn’t cost much. I was a little worried about the 16 clocks per bit on the DXL bus but so far so good.
https://www.adafruit.com/products/2000
Now I had intentions of making an assembly guide but for the sake of getting at least part of this information out there I’m going to show pictures of the current prototype.
You can see each FSR is routed through the slits in the F12 foot and each has a pull down resistor. Instead of routing 4 resistors over the board to the GND pin I used some of the spare GPIO and set their state to LOW. To connect to the dynamixel bus I made my own connector or you can salvage a spare if you have one. Power goes to the BAT+ pin, ground to ground, and data to TX and RX which are to be tied together.
In order to install one of the FSRs the F5 bracket will need to move off center OR what I ended up doing was printing a 1.5mm spacer to go between the F5 and F12 parts which allows the FSR to route underneath. When adding this printed spacer the M2x6 screws holding F5 and F12 will need to be switched for M2x8 to accommodate for the extra space.
HR-OS1 F5 to F12 Foot Spacer.stl.zip
The last part required for these feet to work are the soles. The sole cannot attach with pressure or the FSRs wouldn’t work so I designed some 3D printed clip ons to replace the original delrin parts. They keep the FSRs covered and help distribute force but do not maintain pressure when the foot leaves the ground.
HR-OS1 F12 Foot Pad.stl.zip
Once everything is connected you’ll need firmware programmed on the Trinket. This part was not made available by Robotis but not to worry we have a link to the register table, the hardware prepared, and a little bit of smarts to perform weighted averaging and some data smoothing. Thanks to KurtE, Eric, and myself you'll soon be able download our implementation on GitHub.
[TODO: host online]
From here you’ll want to use the Arduino software to write the project to the Trinket Pro then you can begin setting up the configuration of the left and right feet.
[TODO: instructions]
Right Foot ID 111
Left Foot ID 112
Now you can connect the feet to your robot and test the FSR tutorial found in the ‘fsr’ branch of my forked copy of the framework.
[TODO: Update my master branch of framework and fork off FSR code]
Temporary Information: https://github.com/r3n33/HROS1-Frame...792113ccffa5ef
So this post is a work in progress but now we have a good place to discuss the development of FSR feet.
Bookmarks