Skip to content

Commit

Permalink
Ros2 migration (#106)
Browse files Browse the repository at this point in the history
* Remove all ros1 nodes.

* Add ros2 submodules.

* Ignore system projects.

* Add cloud_data.

* Add dnn_utils

* Add daemon_ros_client

* Add audio_analyzer.

* Add video_analyzer

* Add pose_classifier.

* Add robot_name_detector.

* Add speech_to_text

* Update submodule

* Update daemon_ros_client_node.cpp

* Add t_top without launch. Refatoring.

* Add dance.

* Add explore.

* Add gesture.

* Add led_animations.

* Add led_emotions

* Add piper_ros

* Add sound_following.

* Add sound_player

* Add talk

* Add too_close_reaction.

* Add t-top_hbba_lite

* Update submodules.

* Add ego_noise_reduction

* Fix DaemonApp.cpp. Add person_identification.

* Add face_following. Impove person_identification.

* Add sound_object_person_following

* Add yolo_performance.

* Add user_interface.

* Add control_panel

* Install control_panel launch files. Update submodules.

* Add smart_speaker

* Update .gitmodules

use https instead of git.

* Add recorders. Add home_logger.

* Update hbba_lite

* Complete video_recorder_node.py

* Fix launch files

* Add watchdog.

* Format

* Move perception msg to perception_msg.

* Move behavior msg to behavior_msg.

* Move piper_ros src to behavior_srvs

* Update submodules.

* Fix for audio_utils_msg and humble.

* Add a missing dependency

* add install script

* Update test_video_analyzer_3d_node.launch.xml.

* use desktop_full

* ongoing fix for launch files

* Full desktop install with cuda and realsense

* Full desktop install with cuda and realsense

* set number of proc properly

* Fixed ROS_ROOT prefix

* Fully working, downgraded cmake to make it compatible with ament

* fixed xml

* Fixed XML launch files

* Fix more XML

* fixed format parameter

* Fixing launch errors, parameters, in progress

* Fix rclpy.shutdown().

* Fixed shutdown, need to fix camera calibration, talk

* Fix nodes using MovementCommands.

* Launching works. Fixed shutdown. Fix deadlocks.

* Fix SQLiteCpp

* Fix specific_face_following_node.py. Fix person_identification.

* Fix ego_noise_reduction. Fix video_analyzer vizualisation nodes. Fix yolo_performance.

* Fix home_logger. Fix smart_speaker. Add logs in cloud_data. Fix video_recorder_node.

* Fix home_logger.

* Add first draft of jetson_configuration.sh for ROS2.

* Update odas_ros

* Better dependencies export for hbba_lite and t_top_hbba_lite, simplifies CMake in demos

* Migrate teleoperation behavior

* Migrate the t_top_opentera teleoperation demo

* Fix build for CMake 3.22.1

* Update jetson_configuration.sh

* Pre-installing some dependencies

* Fixed compilation with hbba and odas_ros

* Updated odas_ros

* Fix message links. Fix ros2 install scripts.

* Fix delays and ifs

* updated gui

* Update README.md

* Fix robot_status and movement_commands

* Fix WiFi network name in robot_status

* Add ROS_VERSION=2

* Connect4 cpp migration

* Test face orientation working, fix launch files

* Fixed control_frequency

* Added opentera-webrtc-ros

* Updated to ros2 version

* Add missing ros2 packages.

* Update odas_ros and hbba_lite.

* Updated realsense configuration, fix recorder node

* Fix roll_angle_rad initialization

* Added build flags, Release

* Update odas_ros

* Fix audio_analyzer when there is no frame_id.

* Add information about ROS_DOMAIN_ID

* Improve voice descriptor.

* Improve audio_analyzer_node.py descriptors.

* Set all audio queue size to 1.

* Update submodules

* Fix jetson_configuration.sh

* Update 13_CALIBRATION.md

Create calib path.

* Update jetson_configuration.sh

Setting system locale.

* Update ros2_humble_install.sh

Fix build.

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

* Update jetson_configuration.sh

---------

Co-authored-by: Dominic Létourneau <[email protected]>
Co-authored-by: philippewarren <[email protected]>
  • Loading branch information
3 people authored Nov 8, 2024
1 parent ad2ba7c commit e081252
Show file tree
Hide file tree
Showing 450 changed files with 19,445 additions and 29,557 deletions.
30 changes: 15 additions & 15 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
[submodule "ros/opentera-webrtc-ros"]
path = ros/opentera-webrtc-ros
url = https://github.com/introlab/opentera-webrtc-ros.git
[submodule "system/optional"]
path = system/optional
url = https://github.com/TartanLlama/optional.git
[submodule "ros/utils/hbba_lite"]
path = ros/utils/hbba_lite
url = https://github.com/introlab/hbba_lite.git
[submodule "ros/utils/audio_utils"]
path = ros/utils/audio_utils
url = https://github.com/introlab/audio_utils.git
[submodule "ros/perceptions/odas_ros"]
path = ros/perceptions/odas_ros
url = https://github.com/introlab/odas_ros.git
[submodule "ros/utils/recorders/3rd_party/SQLiteCpp"]
path = ros/utils/recorders/3rd_party/SQLiteCpp
url = https://github.com/SRombauts/SQLiteCpp.git
[submodule "ros/demos/home_logger/3rd_party/fmt"]
path = ros/demos/home_logger/3rd_party/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "ros/utils/audio_utils"]
path = ros/utils/audio_utils
url = https://github.com/introlab/audio_utils.git
[submodule "ros/utils/hbba_lite"]
path = ros/utils/hbba_lite
url = https://github.com/introlab/hbba_lite.git
[submodule "system/optional"]
path = system/optional
url = https://github.com/TartanLlama/optional.git
[submodule "ros/utils/recorders/3rd_party/SQLiteCpp"]
path = ros/utils/recorders/3rd_party/SQLiteCpp
url = https://github.com/SRombauts/SQLiteCpp.git
[submodule "ros/utils/opentera-webrtc-ros"]
path = ros/utils/opentera-webrtc-ros
url = https://github.com/introlab/opentera-webrtc-ros.git
9 changes: 9 additions & 0 deletions documentation/assembly/01_COMPUTER_CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -712,3 +712,12 @@ export GOOGLE_APPLICATION_CREDENTIALS="[Path to the service account JSON keyfile
```bash
export OPEN_WEATHER_MAP_API_KEY="[The key]"
```

### C. Setup a Different ROS2 Domain on Each Robot

1. Add the following line to `~/.bashrc`

```bash
# Avoid default=0 and make sure each robot has a different domain ID.
export ROS_DOMAIN_ID=[1...101]
```
8 changes: 5 additions & 3 deletions documentation/assembly/13_CALIBRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@

1. Execute the following command.
```bash
roslaunch t_top platform.launch camera_2d_wide_enabled:=true
ros2 launch t_top platform.launch.xml camera_2d_wide_enabled:=true
```
2. Follow the following [steps](http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration).
```bash
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.69 image:=/camera_2d_wide_full_hd/image camera:=/camera_2d_wide_full_hd
# Create calibration path
mkdir -p ~/.ros/t-top/calibration
ros2 run camera_calibration cameracalibrator --size 9x6 --square 0.051 --ros-args -r image:=/camera_2d_wide_full_hd/image -r camera/set_camera_info:=/camera_2d_wide_full_hd/set_camera_info
```

## B. sound_object_person_following

1. Place an object having visual features in front of the robot.
2. Execute the following command.
```bash
roslaunch sound_object_person_following calibrate_sound_object_person_following.launch
ros2 launch sound_object_person_following calibrate_sound_object_person_following.launch.xml
```
3 changes: 0 additions & 3 deletions ros/.gitignore

This file was deleted.

36 changes: 36 additions & 0 deletions ros/behaviors/behavior_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
cmake_minimum_required(VERSION 3.5)
project(behavior_msgs)


# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()

# Default to C++17
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# Find dependencies
find_package(ament_cmake REQUIRED)
find_package(daemon_ros_client REQUIRED)
find_package(rosidl_default_generators REQUIRED)

# Generate messages
rosidl_generate_interfaces(${PROJECT_NAME}
"msg/Done.msg"
"msg/GestureName.msg"
"msg/LedAnimation.msg"
"msg/SoundFile.msg"
"msg/SoundStarted.msg"
"msg/Statistics.msg"
"msg/Text.msg"
DEPENDENCIES daemon_ros_client
)

ament_package()
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
24 changes: 24 additions & 0 deletions ros/behaviors/behavior_msgs/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>behavior_msgs</name>
<version>0.0.0</version>
<description>The behavior_msgs package</description>
<maintainer email="[email protected]">Marc-Antoine Maheux</maintainer>
<license>GPL-3.0 license</license>

<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>

<depend>daemon_ros_client</depend>

<exec_depend>rosidl_default_runtime</exec_depend>
<member_of_group>rosidl_interface_packages</member_of_group>

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>

<export>
<build_type>ament_cmake</build_type>
</export>
</package>
28 changes: 28 additions & 0 deletions ros/behaviors/behavior_srvs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
cmake_minimum_required(VERSION 3.5)
project(behavior_srvs)


# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()

# Default to C++17
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# Find dependencies
find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)

# Generate services
rosidl_generate_interfaces(${PROJECT_NAME}
"srv/GenerateSpeechFromText.srv"
)

ament_package()
22 changes: 22 additions & 0 deletions ros/behaviors/behavior_srvs/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>behavior_srvs</name>
<version>0.0.0</version>
<description>The behavior_srvs package</description>
<maintainer email="[email protected]">Marc-Antoine Maheux</maintainer>
<license>GPL-3.0 license</license>

<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>

<exec_depend>rosidl_default_runtime</exec_depend>
<member_of_group>rosidl_interface_packages</member_of_group>

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>

<export>
<build_type>ament_cmake</build_type>
</export>
</package>
Loading

0 comments on commit e081252

Please sign in to comment.