This package contains a 3-axis force sensor for the EE of a 3-DoF manipulator.
Keywords: ESP32, Force, Onshape, Arduino IDE
Author: Victor Rosillo
University of Malaga
Maintainer: Victor Rosillo Suero, vrosillo1110@gmail.com
Bachelor's Thesis: Adaptive control of a lightweight three-degree-of-freedom parallel manipulator.
3 degrees of freedom force sensor designed and manufactured by the author of this repository.
Before you begin, ensure you have the following installed:
- Arduino IDE (version 1.8.13 or latest)
- ESP32 Board Support installed in Arduino IDE
ROS version Melodic
Use rosdep
:
sudo rosdep install --from-paths src
To make arduino libraries work, also install the relative dependencies:
sudo apt install ros-$ROS_DISTRO-rosserial-arduino ros-$ROS_DISTRO-rosserial
To build from source, clone the latest version from this repository into your catkin workspace and compile the package using
cd catkin_workspace/src
git clone https://github.com/Robotics-Mechatronics-UMA/force_sensor_3D.git
cd ../
rosdep install --from-paths . --ignore-src
catkin_make
- Open the Arduino IDE.
- Navigate to
File > Preferences
. - In the Additional Board Manager URLs field, add the following URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Click OK.
- Now, go to
Tools > Board > Boards Manager
. - In the Boards Manager window, search for ESP32 and click Install on the "ESP32 by Espressif Systems" package.
The main file for this project is Force_sensor_node.ino
.
To upload the Force_sensor_node.ino
file to your ESP32 board, follow these quick steps:
- Open the Arduino IDE.
- Open the
Force_sensor_node.ino
file fromFile > Open
and select the project. - Select the Board: Go to
Tools > Board
and choose ESP32 Dev Module. - Select the Port: Go to
Tools > Port
and choose the port for your ESP32. - Set the Baud Rate: Make sure the baud rate is set to 115200 in
Tools > Port > Serial Monitor
. - Upload the Code: Click the arrow button (Upload) to send the code to the board.
Once uploaded, the code will run on the ESP32.
-
force_sensor_node
This node runs on the microcontroller and is responsible for reading the forces applied to the sensor, publishing data to the
/Force
topic.
-
/Force
([geometry_msgs/Vector3])Where the reading of the force sensor will be published. Before reading the serial port information
-
/Tare
([geometry_msgs/Vector3])Where bias is recieved to achieve the sensor's tare.
The force sensor has been designed on Onshape, an open source program for CAD design. Here is the link to view the sensor assembly and each of the components: https://cad.onshape.com/documents/fbf007bb0a33f73671eeb8c9/w/1809b6ef5af569844b00136c/e/ea449d32f1a0e791a0cf33b8.
- Port Not Detected:
- Ensure the drivers for the ESP32 are correctly installed.
- Try using a different USB cable or port on your computer.
- Upload Fails:
- Hold the BOOT button while uploading the code.
- Ensure the correct board and port are selected in the
Tools
menu.
- No Output in Serial Monitor:
- Double-check the baud rate setting in the Serial Monitor window.
- Ensure that the correct COM port is selected.