Welcome to the Group1 project! This project showcases various functionalities related to robotics, including voice interaction, Wi-Fi setup, movement, and navigation. The Go-1 robot features cutting-edge computer vision capabilities, such as person detection and face recognition, along with a speech recognition module. The project is organized into three main sections: Head Nano, NX Board, and Robot Talk, each with its own set of functionalities and scripts.
- Head Nano: Code for the Go-1's head, including face recognition and speech recognition.
- NX Board: Code for the Go-1's navigation and mapping capabilities.
- Robot Talk: Code for the Go-1's voice interaction capabilities.
- CameraSDK: Code for streaming video from the camera.
- face_recognizer: Code for recognizing faces.
- SpeechRecognition: Code for recognizing speech.
- personDetection: Code for detecting people.
Below is an overview of the project's directory structure:
/Group1
βββ index.js
βββ README.md
βββ wifi.py
βββ Head Nano/
β βββ start_vision.sh
β βββ talk.py
β βββ CameraSDK/
β β βββ example_getRawFrame.cc
β β βββ stream.py
β βββ face_recognizer/
β β βββ audio.py
β β βββ client_website_test.py
β β βββ encode_faces.py
β β βββ main.py
β β βββ README.md
β β βββ train.py
β β βββ Audios/
β β βββ caleb.wav
β β βββ first.wav
β β βββ initiate.wav
β β βββ second.wav
β βββ SpeechRecognition/
β βββ dance.js
β βββ dance.sh
β βββ kill_audio.sh
β βββ main.py
βββ NX Board/
βββ nav.py
βββ personDetection/
βββ detect.py
βββ stream_capture.py
The Robot Talk directory contains all the code necessary to enable the Go1 robot to speak. To use this feature, run python3 talk.py
and replace the variable text with your desired speech. Ensure the robot is connected to Wi-Fi, as it requires the "gTTS" (Google Text to Speech) package.
The Wi-Fi script, known as 'Dog WiFi', should be placed on the Raspberry Pi board's desktop. Execute sudo python3 wifi.py
on the Raspberry Pi's desktop to configure the Wi-Fi.
- The Wi-Fi is configured with DHCP for the 547385A dog.
- To set up Wi-Fi for a new device, follow these steps:
- SSH or VNC into the Raspberry Pi.
- In a new terminal, navigate to
/etc
and editdhcpcd.conf
to add the following lines:interface wlan2 metric 300
- Save and exit the editor using
CTRL+S
andCTRL+X
. - Place the
wifi_up.sh
script on the Desktop.
- VNC (or SSH) into the Raspberry Pi.
- Navigate to the Desktop and execute
sudo sh wifi_up.sh
.
- Repeat the steps for Nano boards.
- VNC (or SSH) into the Raspberry Pi and execute
sudo ifconfig wlan0 up
. - Select 'fau' at the top right of the screen for wlan0 to connect.
Use the JavaScript Node.JS API with the Droneblocks library at GO1-JS
. Execute node ./index.js
while connected to the robot dog's hotspot to enable movement.
VNC into the NX board at 192.168.123.15
in the /home/Desktop
directory. Before executing nav.py
, run build_map.sh
and build_map_rviz.sh
to create custom maps.
Run python3 start_vision.sh
to initiate the person detection script. This script utilizes the NX board's camera to detect people and measure their distance from the camera.
A big thank you to our amazing contributors:
- Luciano Scarpaci π¨
- Brandon Wetzel π»
- Shahima Hossain π
- Caleb Panoch π
- Endian Escott π
The project is completed and ready for use! π