This commit is contained in:
Ronaldson Bellande 2024-06-29 23:35:31 -04:00
parent 75b4bc32ea
commit d965446abf
2 changed files with 68 additions and 28 deletions

View File

@ -1,25 +1,87 @@
# Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
import os import os
import sys import sys
import subprocess import subprocess
from launch import LaunchDescription from launch import LaunchDescription
from launch_ros.actions import Node from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument from launch.substitutions import FindExecutable
from launch.substitutions import LaunchConfiguration
def ros1_launch_description(): def ros1_launch_description():
# Get command-line arguments # Get command-line arguments
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch command
roslaunch_command = ["roslaunch", "ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args roslaunch_command = ["roslaunch", "ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args
# Add the pointcloud publisher node
roslaunch_command.extend([
"ros_web_api_bellande_3d_computer_vision", "pointcloud_pradiction_node", "name:=pointcloud_publisher",
"frame_id:=base_link"
])
# Add the prediction node
roslaunch_command.extend([
"ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.py", "name:=pointcloud_prediction_node"
])
# Add the rviz node
roslaunch_command.extend([
"rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz"
])
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
def ros2_launch_description(): def ros2_launch_description():
pass # Create a list to hold all nodes to be launched
nodes_to_launch = []
# Add the pointcloud publisher node
nodes_to_launch.append(Node(
package='ros_web_api_bellande_3d_computer_vision',
executable='pointcloud_pradiction_node',
name='pointcloud_publisher',
output='screen',
parameters=[{'frame_id': 'base_link'}]
))
# Add the prediction node
nodes_to_launch.append(Node(
package='ros_web_api_bellande_3d_computer_vision',
executable='bellande_3d_computer_vision_prediction.py',
name='pointcloud_prediction_node',
output='screen',
remappings=[('input_pointcloud', '/pointcloud_topic')]
))
# Add the rviz node
nodes_to_launch.append(Node(
package='rviz2',
executable='rviz2',
name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz']
))
# Return the LaunchDescription containing all nodes
return LaunchDescription(nodes_to_launch)
if __name__ == "__main__": if __name__ == "__main__":
ros_version = os.getenv("ROS_VERSION") ros_version = os.getenv("ROS_VERSION")

View File

@ -1,22 +0,0 @@
#!/bin/bash
# Create and navigate to build directory
mkdir -p build && cd build
# Build package
if [ $ROS_VERSION -eq 1 ]; then
cmake -DROS_VERSION=1 ..
make -j$(nproc)
else
cmake -DROS_VERSION=2 ..
make -j$(nproc)
fi
# Source package setup file
source devel/setup.bash
# Run rosdep
rosdep install --from-paths ../src --ignore-src -y
# Return to package root directory
cd ..