- Overview
- Components and Assembly
- Dependencies Installation
- Package Installation
- Usage
- Credits
- Future Work
- Robot Base: Pioneer3DX
- Sensors:
- RPLidar Sensor
- ZED Stereo Camera
- Hardware:
- Speakers
- Microphone
- USB Hubs (2)
- Computing Setup:
- Three laptops connected through a hotspot
- Attach the sensors and hardware to the Pioneer3DX robot base.
- Connect speakers, microphone, RPLidar sensor, ZED stereo camera, and robot base serial cable to the USB hubs.
- Ensure laptops are connected to the hotspot for remote computing.
To install dependencies for the project, follow these steps:
- Ensure ROS2 Foxy Fitzroy is installed on Ubuntu (Debian). If not, follow the installation instructions on the ROS2 website.
- Install ROS1 Noetic
- Install the following Python libraries:
- Whisper AI model for speech recognition
- pyttsx3 for text-to-speech conversion
- TensorFlow and OpenCV for image processing
- Nav2 for path planning and navigation
- SLAM toolbox for mapping and localization
- Install the necessary ROS packages:
- Install ROS1 bridge for communication with ROS1 components and follow the example to ensure that connection is established.
- Install rosaria library for controlling the Pioneer mobile base and obtaining odometry feedback.
- Clone the Repository:
Usegit clone
to clone the repository into thesrc
directory of your ROS1 workspace. - Build the Workspace:
Navigate to the root directory of your workspace and build the packages usingcatkin_make
. - Source the Workspace:
Source the setup script to add the new package to your ROS environment.
- Clone the Repository:
Usegit clone
to clone the repository into thesrc
directory of your ROS2 workspace. - Build the Workspace:
Navigate to the root directory of your workspace and build the packages usingcolcon build
. - Source the Workspace:
Source the setup script to add the new package to your ROS2 environment.
[Add ya Beedo the git clone links and revise if any further packages are missing]
- Connect all hardware components and sensors to the on-board laptop.
- Ensure other laptops are connected through the hotspot.
- Launch ROS2 nodes for sensor data acquisition, perception, navigation, and interaction scripts.
- Monitor robot behavior and performance using RViz for visualization.
[Add ba2a ya Beedo the main launch/run commands to start the robot]
This project was developed by the EJUST MVPs team from Egypt-Japan University of Science and Technology for the RoboCup@Home education competition in 2024. We acknowledge the contributions of team members and mentors who helped in the design, implementation, and testing phases of the project. Team members include:
- Abdallah Amr ([email protected])
- Mostafa Osama ([email protected])
- Tarek Shohdy ([email protected])
- Yomna Mohamed ([email protected])
- Ahmad Mongy ([email protected])
We would also like to acknowledge the following libraries and tools that were used in the development of this project:
- ROS2 Foxy Fitzroy - Robot Operating System 2 (ROS2) provides the middleware framework for developing robotic applications.
- ROS1 Noetic - Robot Operating System 1 (ROS1) provides the middleware framework for developing robotic applications.
- Whisper - AI model for speech recognition developed by OpenAI.
- pyttsx3 - Python library for text-to-speech conversion.
- TensorFlow - Open-source machine learning framework developed by Google for building and training neural networks.
- OpenCV - Open-source computer vision library.
- Nav2 - ROS2 navigation stack for path planning and navigation.
- SLAM toolbox - Tools for Simultaneous Localization and Mapping (SLAM) in ROS.
- ROS1 bridge - Enables communication between ROS1 and ROS2 components.
- rosaria - ROS driver for controlling the Pioneer mobile base and obtaining odometry feedback.
- Enhancing the onboard processing.
- Removing the ROS1-bridge and build a ROS2 aria library.
- Debug some main script problems and develop more sophisticated task scripts for diverse competition scenarios.
- Integrate additional sensors for enhanced perception capabilities.