cv
This commit is contained in:
		| @@ -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") | ||||||
|   | |||||||
| @@ -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 .. |  | ||||||
		Reference in New Issue
	
	Block a user