The BitFoot is the foot pressure sensor by the Hamburg Bit-Bots. It features a higher update rate and higher resolution than the Rhoban ForceFoot on which it is based.
This board measures four differential voltage signals from load cells. It connects to a RS485 or TTL Bus compatible with Dynamixel motors from Robotis.
We managed to achieve a sensor update rate of 697Hz. The board itself can be read faster than 1kHz from the Dynamixel bus.
Firmware, schematics, gerber files, and BOMs can be found in our git repository:
In a previous version, we used an STM32F103 microcontroller on a BluePill board. Since we had some issues with the microcontrollers performance we switched to an ESP32.
Because we did not want to redesign the analog part of the board, we designed an adapter board from the ESP32 to the BluePill pinout.
The firmware is uses the Arduino framework. We usually install it using the Arduino IDE. The required libraries are:
For installing the build tools for the ESP32 refer to espressif’s documentation.
For flashing a ESP32 Wroom (without development board) we recommend a programming socket.
Flash the board before soldering!
Strain Gauge Connection¶
The strain gages should be connected as follows when using our ros_control based software:
- P1: Back Right
- P2: Back Left
- P3: Front Right
- P4: Front Left
Calibrating the Sensors¶
After the device has been connected to the DXL Bus, launch the hardware interface:
roslaunch bitbots_ros_control ros_control_standalone.launch only_pressure:=true
Then run the calibration node:
rosrun bitbots_ros_control pressure_calibration.py
The node will guide you through the process of calibrating the cleats.
id: Can be a value between 1 and 252. it is used to talk to the device over the Dynamixel bus.
baud: Can be a value between 0 and 7
We are reasonably certain that the other baud rates work as well since the ESP32 supports them.