Skip to content

Commit

Permalink
Merge pull request #183 from RoBorregos/feature/ros_noetic
Browse files Browse the repository at this point in the history
ROSNOETIC MIGRATION - 2021 DEV
  • Loading branch information
Josecisneros001 authored Nov 11, 2021
2 parents c4f2ad2 + 27394ef commit 2ea5181
Show file tree
Hide file tree
Showing 666 changed files with 113,774 additions and 16,896 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/catkin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ env:

jobs:
build:
runs-on: [ubuntu-18.04]
runs-on: [ubuntu-20.04]
steps:
- name: ACTIONS_ALLOW_UNSECURE_COMMANDS
id: ACTIONS_ALLOW_UNSECURE_COMMANDS
run: echo 'ACTIONS_ALLOW_UNSECURE_COMMANDS=true' >> $GITHUB_ENV
- uses: actions/checkout@v1
- uses: betwo/github-setup-catkin@v1.1.1
- uses: betwo/github-setup-catkin@v1.3.0
with:
ros-version: 'melodic'
ros-version: 'noetic'
workspace: '$GITHUB_WORKSPACE/catkin_home'
- run: |
cd $GITHUB_WORKSPACE/catkin_home
Expand Down
17 changes: 15 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
/catkin_home/src/action_selectors/scripts/DeepSpeech/data/librispeech/manifest.dev-clean
/catkin_home/src/action_selectors/scripts/DeepSpeech/data/librispeech/manifest.test-clean
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/baidu_en8k/mean_std.npz
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/baidu_en8k/params.pdparams
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/baidu_en8k/params.tar.gz
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/baidu_en8k/README.md
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/baidu_en8k/vocab.txt
/catkin_home/src/action_selectors/scripts/DeepSpeech/models/lm/lm.binary
/catkin_home/src/action_selectors/data/AzureSTTAPIKey.txt
Expand All @@ -40,12 +42,23 @@ wrokspace.code-workspace

### OBJECT DETECTION ###
/object_detection/venv/
/object_detection/models/
/object_detection/models/model_tf2
/object_detection/models/dependencies/TensorFlow
/object_detection/models/dependencies/coco
/object_detection/images/train

### Others ###
### CONVERSATION ###
catkin_home/src/action_selectors/scripts/FaceDetection/haarcascade_frontalface_default.xml
/rasa/venv/
/rasa/models/
/rasa/results/
out.log


### Others ###
*.DS_Store
*.pyc
.vscode/
venv/

# End
168 changes: 57 additions & 111 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,127 +1,73 @@
# ----------------------------------------------------------------------
# Development Melodic
# Development Noetic
# ----------------------------------------------------------------------

#: Builds a Docker image from the current Dockerfile file
melodic.build:
@docker build -t ros:melodic -f docker/melodic/Dockerfile .
melodic.speech.build:
@docker build -t ros:melodic-speech -f docker/melodic/Dockerfile.speech .
melodic.speech.gpu.build:
@docker build -t ros:melodic-speech-gpu -f docker/melodic/Dockerfile.speech.gpu .
melodic.navigation.build:
@docker build -t ros:melodic-navigation -f docker/melodic/Dockerfile.navigation .
melodic.navigation.gpu.build:
@docker build -t ros:melodic-navigation-gpu -f docker/melodic/Dockerfile.navigation.gpu .
#: Builds a Docker image with the corresponding Dockerfile file
noetic.build:
@docker build -t ros:home -f docker/noetic/Dockerfile .
noetic.speech.build:
@docker build -t ros:home -f docker/noetic/Dockerfile.speech .
noetic.navigation.build:
@docker build -t ros:home -f docker/noetic/Dockerfile.navigation .
noetic.objectDetection.build:
@docker build -t ros:home -f docker/noetic/Dockerfile.objectDetection .

#: Create Docker container
melodic.create:
@docker run \
-it -d \
-v ${shell pwd}/catkin_home/src:/catkin_home/src \
-v ${shell pwd}/catkin_home/typings:/catkin_home/typings \
--network host \
--name ros-melodic \
ros:melodic
melodic.speech.create:
@docker run \
-it -d \
--device /dev/snd:/dev/snd \
-v ${shell pwd}/catkin_home/src:/catkin_home/src \
-v /catkin_home/src/action_selectors/scripts/DeepSpeech/decoders/swig \
-v /catkin_home/src/action_selectors/scripts/DeepSpeech/data/librispeech \
-v ${shell pwd}/catkin_home/typings:/catkin_home/typings \
--network host \
--name ros-melodic-speech \
ros:melodic-speech
melodic.speech.gpu.create:
@docker run \
-it -d \
--gpus all \
--device /dev/snd:/dev/snd \
-v ${shell pwd}/catkin_home/src:/catkin_home/src \
-v /catkin_home/src/action_selectors/scripts/DeepSpeech/decoders/swig \
-v /catkin_home/src/action_selectors/scripts/DeepSpeech/data/librispeech \
-v ${shell pwd}/catkin_home/typings:/catkin_home/typings \
--network host \
--name ros-melodic-speech-gpu \
ros:melodic-speech-gpu
melodic.navigation.create:
@./docker/melodic/runNavigation.bash
melodic.navigation.gpu.create:
@./docker/melodic/runNavigationGpu.bash
#: Create Generic Docker container
noetic.create:
@./docker/run_scripts/run.bash
noetic.create.intel:
@./docker/run_scripts/runIntelGpu.bash
noetic.create.nvidia:
@./docker/run_scripts/runNvidiaGpu.bash

#: Create Navigation Docker container
noetic.navigation.create:
@./docker/run_scripts/run.bash IS_NAVIGATION
noetic.navigation.create.intel:
@./docker/run_scripts/runIntelGpu.bash IS_NAVIGATION
noetic.navigation.create.nvidia:
@./docker/run_scripts/runNvidiaGpu.bash IS_NAVIGATION

#: Create Speech Docker container
noetic.speech.create:
@./docker/run_scripts/run.bash IS_SPEECH
noetic.speech.create.intel:
@./docker/run_scripts/runIntelGpu.bash IS_SPEECH
noetic.speech.create.nvidia:
@./docker/run_scripts/runNvidiaGpu.bash IS_SPEECH

#: Create ObjectDetection Docker container
noetic.objectDetection.create:
@./docker/run_scripts/run.bash IS_OBJECT_DETECTION
noetic.objectDetection.create.intel:
@./docker/run_scripts/runIntelGpu.bash IS_OBJECT_DETECTION
noetic.objectDetection.create.nvidia:
@./docker/run_scripts/runNvidiaGpu.bash IS_OBJECT_DETECTION

#: Start the container in background
melodic.up:
@docker start ros-melodic
melodic.speech.up:
@docker start ros-melodic-speech
melodic.speech.gpu.up:
@docker start ros-melodic-speech-gpu
melodic.navigation.up:
@docker start ros-melodic-navigation
melodic.navigation.gpu.up:
@docker start ros-melodic-navigation-gpu
noetic.up:
@xhost +
@docker start ros-home

#: Stop the container
melodic.down:
@docker stop ros-melodic
melodic.speech.down:
@docker stop ros-melodic-speech
melodic.speech.gpu.down:
@docker stop ros-melodic-speech-gpu
melodic.navigation.down:
@docker stop ros-melodic-navigation
melodic.navigation.gpu.down:
@docker stop ros-melodic-navigation-gpu
noetic.down:
@docker stop ros-home

#: Restarts the container
melodic.restart:
@docker restart ros-melodic
melodic.speech.restart:
@docker restart ros-melodic-speech
melodic.speech.gpu.restart:
@docker restart ros-melodic-speech-gpu
melodic.navigation.restart:
@docker restart ros-melodic-navigation
melodic.navigation.gpu.restart:
@docker restart ros-melodic-navigation-gpu
noetic.restart:
@docker restart ros-home

#: Shows the logs of the ros-melodic service container
melodic.logs:
@docker logs --tail 50 ros-melodic
melodic.speech.logs:
@docker logs --tail 50 ros-melodic-speech
melodic.speech.gpu.logs:
@docker logs --tail 50 ros-melodic-speech-gpu
melodic.navigation.logs:
@docker logs --tail 50 ros-melodic-navigation
melodic.navigation.gpu.logs:
@docker logs --tail 50 ros-melodic-navigation-gpu
#: Shows the logs of the ros-home service container
noetic.logs:
@docker logs --tail 50 ros-home

#: Fires up a bash session inside the ros-melodic service container
melodic.shell:
@docker exec -it ros-melodic bash
melodic.speech.shell:
@docker exec -it ros-melodic-speech bash
melodic.speech.gpu.shell:
@docker exec -it ros-melodic-speech-gpu bash
melodic.navigation.shell:
@docker exec -it ros-melodic-navigation bash
melodic.navigation.gpu.shell:
@docker exec -it ros-melodic-navigation-gpu bash
#: Fires up a bash session inside the ros-home service container
noetic.shell:
@docker exec -it ros-home bash

#: Remove ros-melodic container.
melodic.remove: melodic.down
@docker container rm ros-melodic
melodic.speech.remove: melodic.speech.down
@docker container rm ros-melodic-speech
melodic.speech.gpu.remove: melodic.speech.gpu.down
@docker container rm ros-melodic-speech-gpu
melodic.navigation.remove: melodic.navigation.down
@docker container rm ros-melodic-navigation
melodic.navigation.gpu.remove: melodic.navigation.gpu.down
@docker container rm ros-melodic-navigation-gpu
#: Remove ros-home container.
noetic.remove: noetic.down
@docker container rm ros-home

# ----------------------------------------------------------------------
# General Docker
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img src="roborregos_logo.png" width="400" ><img>
<img src="readme_resources/roborregos_logo.png" width="400" ><img>

# RoBorregos Robocup-Home
This repository contains the development of RoBorregos' robotic solution for [RoboCup's @HOME competition](https://athome.robocup.org/), Open Platform League (OPL), where the robot must be capable of interacting with people, manipulate objects and have intelligent responses for everyday home tasks.
Expand All @@ -8,15 +8,15 @@ See [RoboCup @HOME Rules](https://robocupathome.github.io/RuleBook/rulebook/mast
## Project details

This project is made using:
- [ROS Melodic](https://www.ros.org/)
- [ROS Noetic](https://www.ros.org/)
- [Rasa NLU](https://rasa.com/)
- [Tensorflow](https://www.tensorflow.org/learn)
- [PaddlePaddle](https://github.com/paddlepaddle/paddle)
- [Arduino](https://www.arduino.cc/)
- [VIA EPIA](https://www.viatech.com/en/support/eol/epia-eol/)
- [Jetson](https://developer.nvidia.com/EMBEDDED/jetson-nano-developer-kit)

<img src="SystemDesignv3_gray.png" width="1500" ><img>
<img src="readme_resources/SystemDesignv3_gray.png" width="1500" ><img>

For more information about the project system, structure, and development areas you can check our [Official Documentation](https://github.com/RoBorregos/Robocup-Home/wiki).

Expand Down
Binary file modified catkin_home/play.mp3
Binary file not shown.
9 changes: 9 additions & 0 deletions catkin_home/run/setup_devices.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
## **This are the IPs & Hostnames used for setup during TMR2021.
source ./devel/setup.bash
ROS_IP=192.168.31.187
export ROS_IP
ROS_HOSTNAME="rbrgs"
export ROS_HOSTNAME
ROS_MASTER_URI=http://rbrgs:11311
export ROS_MASTER_URI
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@ then
export ROS_MASTER_URI
fi
fi

echo "Done setting ROS_MASTER_URI=$ROS_MASTER_URI and ROS_IP=$ROS_IP"
ROS_HOSTNAME=$ROS_IP
export ROS_HOSTNAME
echo "Done setting ROS_MASTER_URI=$ROS_MASTER_URI, ROS_IP=$ROS_IP and ROS_HOSTNAME=$ROS_HOSTNAME"
9 changes: 9 additions & 0 deletions catkin_home/run/setup_voice.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
## **This are the IPs & Hostnames used for setup during TMR2021.
source ./devel/setup.bash
ROS_IP=192.168.31.116
export ROS_IP
ROS_MASTER_URI=http://jose-Inspiron:11311
export ROS_MASTER_URI
ROS_HOSTNAME="jose-Inspiron"
export ROS_HOSTNAME
2 changes: 1 addition & 1 deletion catkin_home/src/CMakeLists.txt
27 changes: 27 additions & 0 deletions catkin_home/src/action_selectors/launch/conversation_speech.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<launch>
<!-- Devices -->
<!-- <node name="AudioCapturer" pkg="devices" type="AudioCapturer.py" respawn="true" output="screen"/>
<node name="UsefulAudio" pkg="devices" type="UsefulAudio.py" respawn="true" output="screen"/>
<node name="ImageCapturer" pkg="devices" type="ImageCapture.py" respawn="true">
<param name="RATE" value="15" />
<param name="CAMERAID" value="2" />
</node>
<node name="say" pkg="devices" type="say.py" respawn="true" output="screen" /> -->
<!-- Speech To Text -->
<!-- FORCE_ENGINE: 'online' - Azure, 'offline' - DeepSpeech, 'none' - Both Engines [it depends on internet] -->
<arg name="FORCE_ENGINE" default="online"/>
<node name="hear" pkg="action_selectors" type="hear.py" respawn="true" output="screen">
<param name="FORCE_ENGINE" value="$(arg FORCE_ENGINE)" />
</node>
<node name="azureSpeechText" pkg="action_selectors" type="AzureSpeechToText" output="screen" if="$(eval arg('FORCE_ENGINE') != 'offline')"/>
<node name="DeepSpeech" pkg="action_selectors" type="DeepSpeech.py" output="screen" if="$(eval arg('FORCE_ENGINE') != 'online')"/>
<!-- Conversation -->
<!-- START_TALK: 'True' - Start Conversation, 'False' - Wait until being Spoken -->
<arg name="START_TALK" default="True"/>
<node name="SomeoneToTalk" pkg="action_selectors" type="SomeoneToTalk.py" respawn="true">
<param name="CAMERAID" value="1" />
</node>
<node name="parser" pkg="action_selectors" type="parser.py" respawn="true" output="screen">
<param name="START_TALK" value="$(arg START_TALK)" />
</node>
</launch>
4 changes: 4 additions & 0 deletions catkin_home/src/action_selectors/launch/integration.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<launch>
<node name="Tmr2021Main" pkg="main_engine" type="Tmr2021Main.py" output="screen" />
<node name="NavBridgeServer" pkg="nav_bridge" type="NavBridgeServer.py" output="screen" />
</launch>
11 changes: 0 additions & 11 deletions catkin_home/src/action_selectors/launch/speech_to_text.launch

This file was deleted.

6 changes: 4 additions & 2 deletions catkin_home/src/action_selectors/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@
<build_depend>std_msgs</build_depend>
<build_depend>audio_common_msgs</build_depend>
<build_depend> intercom </build_depend>
<build_depend> python-requests </build_depend>
<!-- Before it was python-requests. I hope it works. This comment will be deleted once it is verified. -->
<build_depend> python3-requests </build_depend>
<build_depend>roslib</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
Expand All @@ -69,7 +70,8 @@
<exec_depend>std_msgs</exec_depend>
<exec_depend>audio_common_msgs</exec_depend>
<exec_depend> intercom </exec_depend>
<exec_depend>python-requests</exec_depend>
<!-- Before it was python-requests. I hope it works. This comment will be deleted once it is verified. -->
<exec_depend>python3-requests</exec_depend>
<exec_depend>roslib</exec_depend>


Expand Down
2 changes: 1 addition & 1 deletion catkin_home/src/action_selectors/scripts/DeepSpeech.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
'''
This script creates the node `DeepSpeech` that taking voice audio from topic
`UsefulAudioDeepSpeech`, does speech-to-text and publishes the resulting text.
Expand Down
Loading

0 comments on commit 2ea5181

Please sign in to comment.