4th Semester Upgraded Hexapod Project for Robotique Engineering Sherbrooke University
This academic project is based on an older academic project from robotic engineering undergraduates at Université de Sherbrooke. "Manu" is an hexapod robot able to interact with his environments. Along with 6 legs comes a camera mounted on a 3D printed head, elevating Manu to a whole new level of robotic hexapod. It can walk, look around and chase targets all around him in a restrained area/arena.
Step 1. Connect Raspberry Pi camera to the Raspberry Pi before booting it up;
Step 2. Clone this repository: https://github.com/EDP325/GRO400-MANUS.git
Step 3. Create a new virtual environment, install dependencies, and add virtual environment to the Python Kernel by running in terminal:
cd ./Hexapod-Master/Hexapod_Qt ./install_venv_pi.sh
Step 4. Connect the hexapod's microcontroller (Arduino) to Raspberry Pi;
Step 5. Open the file main.cpp in the ./Hexapod-Master/Hexapod_Arduino/src folder, and build the code into the microcontroller with your favorite IDE with PlatformIO;
Step 6. Upload the main.cpp in the Arduino;
Step 7. Run the file MANUS_QT in the ./Hexapod-Master/Hexapod_Qt folder;
Step 8. Initialize the serial communication.
You need to 3D print the necessary parts that you can find in the ./CAD folder.
We have a complete assembly guide here:
The code is divided in two main sections. The first one is all about the robot's movment and is written in C++ and is run on the Arduino. This code uses switch cases depending one the manuel/automatic mode and which movment to do. The second section includes the vision algorithm and the HMI. It is written in Python and is run on the Raspberry Pi. It is made to detect the chosen images and display the HMI, a screen connected to the Pi. We chose to use VNCviewer to connect to the Raspberry Pi through Wifi to have a remote connection to the hexapod.
The robot can move forward, backward and sideways. It can also rotate clockwise and counterclockwise. The head can rotate and the mandibles can open cand close.
The robot has a vision algorithm that detects these two images:
Our HMI shows:
- The current view of the cam with TensorFlow AI detection;
- The angles of all the servos;
- A map of the arena with the position of the hexapod;
- Informations for the camera and messages from the Arduino
- Information about battery voltage percentage
- A graphic that shows the the value of a variable over time
- A ComboBox to see every connected ports to initialize serial communication
- Buttons to move the robots
Under this section, you will find external links and descriptions of the project's external resources.
- Brand Name: Makita
- Model:
- Battery: BL1041B
- Power Source: PE00000028
- Charger: DC10SB
- ASIN:
- Battery: B017GQJDVM
- Charger: B01FY4XCB0
- Information / Resources:
- Brand Name: Arduino
- Model: Mega 2560 R3 (A000067)
- ASIN: B0046AMGW0
- Information / Resources: Arduino Webpage
- Brand Name: Raspberry Pi
- Model: 3B
- ASIN: B01LPLPBS8
- Information / Resources: Raspberry Pi Webpage
- Brand Name : VIPMOON
- Model : MG996R
- Information / Resources : Amazon Webpage
- Model : MG90S
- Information / Resources : Amazon Webpage
- Brand Name : ROBOJAX
- Model : ACS712
- ASIN :B07YP4693C
- Information / Resources : Amazon Webpage
- Brand Name : Tyenaza
- Model : Tyenazad03xwg94zo
- ASIN :
- Information / Resources : Amazon Webpage
- Brand Name : Keyestudio
- Model : 8541582798
- ASIN :
- Information / Resources : Amazon Webpage
fuse 10 AMP
- Brand Name : Littelfuse
- Model : Littelfuse 5x15MM. FAST ACTING 10A.250V.
- Information / Resources :You can buy fuse at any electronics store near your house. We bought ours here