Skip to content

This project showcases various functionalities for the Go-1 πŸ€–, including voice interaction, Wi-Fi setup, movement, and navigation.

Notifications You must be signed in to change notification settings

lucianoscarpaci/DaisyBot-FaceID

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Group1 Project

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.

πŸ“ Project Overview

  • 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.

πŸ“‚ Directory Structure

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

πŸ—£οΈ Robot Talk

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.

πŸ“Ά Wi-Fi Setup

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.

Additional Wi-Fi Configuration Notes

  • 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 edit dhcpcd.conf to add the following lines:
      interface wlan2
      metric 300
      
    • Save and exit the editor using CTRL+S and CTRL+X.
    • Place the wifi_up.sh script on the Desktop.

Connecting Nano Boards to Wi-Fi

  • VNC (or SSH) into the Raspberry Pi.
  • Navigate to the Desktop and execute sudo sh wifi_up.sh.

Enabling Wi-Fi on Raspberry Pi

  • 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.

Movement with the Legs 🦿

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.

πŸ—ΊοΈ Navigation and Mapping

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.

πŸ•΅οΈ Person Detection

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.

πŸ‘₯ Contributing

A big thank you to our amazing contributors:

  • Luciano Scarpaci 🎨
  • Brandon Wetzel πŸ’»
  • Shahima Hossain πŸ“
  • Caleb Panoch πŸ“š
  • Endian Escott πŸ“Š

🚦 Project Status

The project is completed and ready for use! πŸŽ‰

About

This project showcases various functionalities for the Go-1 πŸ€–, including voice interaction, Wi-Fi setup, movement, and navigation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.2%
  • JavaScript 11.0%
  • C++ 3.4%
  • Shell 3.4%