Compare commits

...

10 Commits

Author SHA1 Message Date
48cbbbff19 latest pushes
Some checks failed
Docker Image CI / build_ros1 (push) Has been cancelled
Docker Image CI / build_ros2 (push) Has been cancelled
GitHub Clone Count Update Everyday / build (push) Has been cancelled
2024-12-12 16:43:52 -05:00
Ronaldson Bellande
150f842a1d
Update README.md 2024-12-11 23:57:53 -05:00
Ronaldson Bellande
d3ff3322a8
Create CONTRIBUTING.md 2024-10-18 22:05:04 -04:00
1d5e707ae5 recalibrate 2024-09-11 21:53:28 -04:00
ac70c603e1 latest pushes 2024-09-01 13:53:12 -04:00
edc9fa2b67 latest pushes 2024-07-30 17:43:23 -04:00
2927ccf96c latest pushes 2024-07-30 17:42:58 -04:00
9a468a116c latest pushes 2024-07-29 14:00:02 -04:00
97bb453ebf latest pushes 2024-07-29 12:32:16 -04:00
Ronaldson Bellande
6e05e79256
Update README.md 2024-07-29 11:43:12 -04:00
139 changed files with 1073 additions and 316 deletions

72
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,72 @@
# Contributing to Bellande Robotics Sensors Research Innovations Center
We're excited that you're interested in contributing to the Bellande Robotics Sensors Research Innovations Center! This document outlines the process for contributing to our organization and this repository!
## Contributing to the Organization
To contribute to the Bellande Robotics Sensors Research Innovations Center organization, please visit our [Contributing Repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor)
## Table of Contents
1. [Contributing to the Organization](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor)
- [Creating a Repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor)
- [Team Requests](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor)
- [Security](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor)
2. [Contributing to Repositories](#contributing-to-repositories)
- [New Features](#new-features)
- [Bug Fixes](#bug-fixes)
- [Security Issues](#security-issues)
- [Other Contributions](#other-contributions)
### Creating a Repository
1. Fork the [contributor repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor).
2. Create a new branch with a descriptive name for your proposed repository.
3. Add a detailed description of the proposed repository in a markdown file.
4. Submit a pull request with your proposal.
5. Wait for review and approval from the organization administrators.
### Team Requests
1. To request joining a team or creating a new team:
- Open an issue in the [contributor repository](https://github.com/Robotics-Sensors/bellande_robotics_sensors_research_innovations_center_contributor).
- Use the title format: "Team Request: [Team Name]"
- Provide details about your expertise and why you want to join or create the team.
2. An administrator will review your request and respond accordingly.
### Security
For organization-wide security concerns:
1. Do not publicly disclose the issue.
2. Contact the organization administrators directly through a private channel.
3. Provide a detailed description of the security concern.
## Contributing to Repositories
### New Features
1. Fork the repository you want to contribute to.
2. Create a new branch with a descriptive name for your feature.
3. Implement your feature, following the project's coding standards and guidelines.
4. Write tests for your new feature if applicable.
5. Update documentation as necessary.
6. Submit a pull request with a clear description of the new feature.
### Bug Fixes
1. Fork the repository containing the bug.
2. Create a new branch with a descriptive name for your bug fix.
3. Fix the bug and add tests to prevent regression if possible.
4. Update documentation if necessary.
5. Submit a pull request with a clear description of the bug and your fix.
### Security Issues
For repository-specific security issues:
1. Do not publicly disclose the issue.
2. Contact the repository maintainers directly through a private channel or request a issue in the reposiroty
3. Provide a detailed description of the security vulnerability.
4. Wait for further instructions from the maintainers.
### Other Contributions
We welcome other types of contributions, such as:
- Documentation improvements
- Code refactoring
- Performance optimizations- Tooling and infrastructure improvements
For these contributions, follow a similar process to submitting new features or bug fixes.
## Code of Conduct
Please note that all contributors are expected to adhere to our Code of Conduct. Respectful and inclusive behavior is mandatory for all participants in our project.
Thank you for contributing to the Bellande Robotics Sensors Research Innovations Center!

View File

@ -1,4 +1,4 @@
# 🤖 Bellande Algorithms Web ROS/ROS2 API # 🤖 Bellande Algorithms Web BRSOA/ROS/ROS2 API
# Benifits of Using the Bellande API's # Benifits of Using the Bellande API's
- Works in any framework - Works in any framework
@ -16,7 +16,7 @@
## 📧 Explore the Docker image for the Bellande Robotic VPN: ## 📧 Explore the Docker image for the Bellande Robotic VPN:
- **Robotic VPN**: [![ROS1 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_robotic_vpn)](https://hub.docker.com/r/ronaldsonbellande/bellande_robotic_vpn) - **Robotic VPN**: [![ROS1 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_robotic_vpn)](https://hub.docker.com/r/ronaldsonbellande/bellande_robotic_vpn)
## Use the Web-ROS-API Docker Image for your needs with the Bellande API ## Use the Web-API Docker Image for your needs with the Bellande API
- **ROS1**: [![ROS1 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_web_api_packages_ros1)](https://hub.docker.com/r/ronaldsonbellande/bellande_web_api_packages_ros1) - **ROS1**: [![ROS1 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_web_api_packages_ros1)](https://hub.docker.com/r/ronaldsonbellande/bellande_web_api_packages_ros1)
- **ROS2**: [![ROS2 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_web_api_packages_ros2)](https://hub.docker.com/r/ronaldsonbellande/bellande_web_api_packages_ros2) - **ROS2**: [![ROS2 Docker Image](https://img.shields.io/docker/pulls/ronaldsonbellande/bellande_web_api_packages_ros2)](https://hub.docker.com/r/ronaldsonbellande/bellande_web_api_packages_ros2)
@ -44,6 +44,5 @@ The primary functionality of this API is to provide access to Bellande Algorithm
To begin leveraging Bellande's algorithms in your projects, simply pull the Docker image and integrate the API into your robotic environment. Detailed instructions on how to deploy and utilize the API can be found in the provided documentation. To begin leveraging Bellande's algorithms in your projects, simply pull the Docker image and integrate the API into your robotic environment. Detailed instructions on how to deploy and utilize the API can be found in the provided documentation.
# License # License
This API's is distributed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) with all the code Publicly and Privately use case, see [LICENSE](https://github.com/RonaldsonBellande/bellande_web_ros_api/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_web_ros_api/blob/main/LICENSE) for more information. This API's is distributed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) with all the code Publicly and Privately use case, see [LICENSE](https://github.com/RonaldsonBellande/bellande_web_ros_api/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_web_ros_api/blob/main/LICENSE) for more information.

View File

@ -1,53 +0,0 @@
<?xml version="1.0"?>
<!--
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/>.
-->
<package format="3">
<name>ros_web_api_bellande_adaptive_alternate_path_creation</name>
<version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>
<maintainer email="ronaldsonbellande@gmail.com">Ronaldson Bellande</maintainer>
<license>Apache License 2.0</license>
<buildtool_depend condition="$ROS_VERSION == 1">catkin</buildtool_depend>
<build_depend condition="$ROS_VERSION == 1">roscpp</build_depend>
<build_depend condition="$ROS_VERSION == 1">rospy</build_depend>
<build_export_depend condition="$ROS_VERSION == 1">roscpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 1">rospy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 1">roscpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 1">rospy</exec_depend>
<buildtool_depend condition="$ROS_VERSION == 2">ament_cmake</buildtool_depend>
<build_depend condition="$ROS_VERSION == 2">rclcpp</build_depend>
<build_depend condition="$ROS_VERSION == 2">rclpy</build_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclcpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclpy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 2">rclcpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 2">rclpy</exec_depend>
<export>
</export>
</package>

View File

@ -1,54 +0,0 @@
<?xml version="1.0"?>
<!--
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/>.
-->
<package format="3">
<name>ros_web_api_bellande_adaptive_continuious_control_system</name>
<version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>
<maintainer email="ronaldsonbellande@gmail.com">Ronaldson Bellande</maintainer>
<license>Apache License 2.0</license>
<buildtool_depend condition="$ROS_VERSION == 1">catkin</buildtool_depend>
<build_depend condition="$ROS_VERSION == 1">roscpp</build_depend>
<build_depend condition="$ROS_VERSION == 1">rospy</build_depend>
<build_export_depend condition="$ROS_VERSION == 1">roscpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 1">rospy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 1">roscpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 1">rospy</exec_depend>
<buildtool_depend condition="$ROS_VERSION == 2">ament_cmake</buildtool_depend>
<build_depend condition="$ROS_VERSION == 2">rclcpp</build_depend>
<build_depend condition="$ROS_VERSION == 2">rclpy</build_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclcpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclpy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 2">rclcpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 2">rclpy</exec_depend>
<export>
</export>
</package>

View File

@ -1,3 +0,0 @@
# Bellande Search Path Web ROS/ROS2 API Intergration
[Bellande Search Path](https://github.com/RonaldsonBellande/bellande_robots_step)

View File

@ -1,31 +0,0 @@
{
"license": [
"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/>.",
"GNU General Public License v3.0 or later"
],
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run",
"endpoint_path": {
"2d": "/api/Bellande_Step/bellande_step_2d",
"3d": "/api/Bellande_Step/bellande_step_3d",
"4d": "/api/Bellande_Step/bellande_step_4d",
"5d": "/api/Bellande_Step/bellande_step_5d",
"6d": "/api/Bellande_Step/bellande_step_6d",
"7d": "/api/Bellande_Step/bellande_step_7d",
"8d": "/api/Bellande_Step/bellande_step_8d",
"9d": "/api/Bellande_Step/bellande_step_9d",
"10d": "/api/Bellande_Step/bellande_step_10d"
},
"Bellande_Framework_Access_Key": "bellande_web_api_opensource"
}

View File

@ -1,11 +0,0 @@
from distutils.core import setup
from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml
setup_args = generate_distutils_setup(
scripts=['src/bellande_step_api_2d.py'],
packages=['ros_web_api_bellande_step'],
package_dir={'': 'src'},
)
setup(**setup_args)

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_2d_computer_vision) project(web_api_bellande_2d_computer_vision)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -15,7 +15,7 @@
"along with this program. If not, see <https://www.gnu.org/licenses/>.", "along with this program. If not, see <https://www.gnu.org/licenses/>.",
"GNU General Public License v3.0 or later" "GNU General Public License v3.0 or later"
], ],
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"prediction": "/api/Bellande_2D_Computer_Vision/bellande_classification_prediction", "prediction": "/api/Bellande_2D_Computer_Vision/bellande_classification_prediction",
"face_detection": "/api/Bellande_2D_Computer_Vision/bellande_face_detection", "face_detection": "/api/Bellande_2D_Computer_Vision/bellande_face_detection",

View File

@ -27,7 +27,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"usb_cam", "usb_cam_node", "name:=camera", "usb_cam", "usb_cam_node", "name:=camera",
@ -40,12 +40,12 @@ def ros1_launch_description():
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node" "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" "args:=-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz"
]) ])
# Execute the launch command # Execute the launch command
@ -72,7 +72,7 @@ def ros2_launch_description():
)) ))
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_2d_computer_vision', package='web_api_bellande_2d_computer_vision',
executable='bellande_2d_computer_vision_face_detection.py', executable='bellande_2d_computer_vision_face_detection.py',
name='face_detection_node', name='face_detection_node',
output='screen', output='screen',
@ -83,7 +83,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz'] arguments=['-d', '$(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -27,7 +27,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"usb_cam", "usb_cam_node", "name:=camera", "usb_cam", "usb_cam_node", "name:=camera",
@ -40,12 +40,12 @@ def ros1_launch_description():
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node" "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" "args:=-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz"
]) ])
# Execute the launch command # Execute the launch command
@ -72,7 +72,7 @@ def ros2_launch_description():
)) ))
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_2d_computer_vision', package='web_api_bellande_2d_computer_vision',
executable='bellande_2d_computer_vision_face_detection.py', executable='bellande_2d_computer_vision_face_detection.py',
name='face_detection_node', name='face_detection_node',
output='screen', output='screen',
@ -83,7 +83,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz'] arguments=['-d', '$(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -27,7 +27,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_object_detection.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_object_detection.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"usb_cam", "usb_cam_node", "name:=camera", "usb_cam", "usb_cam_node", "name:=camera",
@ -40,12 +40,12 @@ def ros1_launch_description():
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node" "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_face_detection.py", "name:=face_detection_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" "args:=-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz"
]) ])
# Execute the launch command # Execute the launch command
@ -72,7 +72,7 @@ def ros2_launch_description():
)) ))
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_2d_computer_vision', package='web_api_bellande_2d_computer_vision',
executable='bellande_2d_computer_vision_face_detection.py', executable='bellande_2d_computer_vision_face_detection.py',
name='face_detection_node', name='face_detection_node',
output='screen', output='screen',
@ -83,7 +83,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz'] arguments=['-d', '$(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -27,7 +27,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_prediction.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_prediction.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"usb_cam", "usb_cam_node", "name:=camera", "usb_cam", "usb_cam_node", "name:=camera",
@ -40,12 +40,12 @@ def ros1_launch_description():
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_prediction.py", "name:=prediction_node" "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_prediction.py", "name:=prediction_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" "args:=-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz"
]) ])
# Execute the launch command # Execute the launch command
@ -72,7 +72,7 @@ def ros2_launch_description():
)) ))
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_2d_computer_vision', package='web_api_bellande_2d_computer_vision',
executable='bellande_2d_computer_vision_prediction.py', executable='bellande_2d_computer_vision_prediction.py',
name='prediction_node', name='prediction_node',
output='screen', output='screen',
@ -83,7 +83,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz'] arguments=['-d', '$(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -27,7 +27,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_semantic_segmentation.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_semantic_segmentation.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"usb_cam", "usb_cam_node", "name:=camera", "usb_cam", "usb_cam_node", "name:=camera",
@ -40,12 +40,12 @@ def ros1_launch_description():
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_semantic_segmentation.py", "name:=face_detection_node" "web_api_bellande_2d_computer_vision", "bellande_2d_computer_vision_semantic_segmentation.py", "name:=face_detection_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" "args:=-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz"
]) ])
# Execute the launch command # Execute the launch command
@ -72,7 +72,7 @@ def ros2_launch_description():
)) ))
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_2d_computer_vision', package='web_api_bellande_2d_computer_vision',
executable='bellande_2d_computer_vision_semantic_segmentation.py', executable='bellande_2d_computer_vision_semantic_segmentation.py',
name='face_detection_node', name='face_detection_node',
output='screen', output='screen',
@ -83,7 +83,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz'] arguments=['-d', '$(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -25,13 +25,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<param name="io_method" value="mmap" /> <param name="io_method" value="mmap" />
</node> </node>
<node name="face_detection_node" pkg="ros_web_api_bellande_2d_computer_vision" <node name="face_detection_node" pkg="web_api_bellande_2d_computer_vision"
type="bellande_2d_computer_vision_face_detection.py" type="bellande_2d_computer_vision_face_detection.py"
output="screen"> output="screen">
<remap from="camera/image_raw" to="/usb_cam/image_raw" /> <remap from="camera/image_raw" to="/usb_cam/image_raw" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" /> args="-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" />
</launch> </launch>

View File

@ -25,13 +25,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<param name="io_method" value="mmap" /> <param name="io_method" value="mmap" />
</node> </node>
<node name="instance_segmentation_node" pkg="ros_web_api_bellande_2d_computer_vision" <node name="instance_segmentation_node" pkg="web_api_bellande_2d_computer_vision"
type="bellande_2d_computer_vision_instance_segmentation.py" type="bellande_2d_computer_vision_instance_segmentation.py"
output="screen"> output="screen">
<remap from="camera/image_raw" to="/usb_cam/image_raw" /> <remap from="camera/image_raw" to="/usb_cam/image_raw" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" /> args="-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" />
</launch> </launch>

View File

@ -25,13 +25,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<param name="io_method" value="mmap" /> <param name="io_method" value="mmap" />
</node> </node>
<node name="object_detection_node" pkg="ros_web_api_bellande_2d_computer_vision" <node name="object_detection_node" pkg="web_api_bellande_2d_computer_vision"
type="bellande_2d_computer_vision_object_detection.py" type="bellande_2d_computer_vision_object_detection.py"
output="screen"> output="screen">
<remap from="camera/image_raw" to="/usb_cam/image_raw" /> <remap from="camera/image_raw" to="/usb_cam/image_raw" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" /> args="-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" />
</launch> </launch>

View File

@ -25,12 +25,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<param name="io_method" value="mmap" /> <param name="io_method" value="mmap" />
</node> </node>
<node name="prediction_node" pkg="ros_web_api_bellande_2d_computer_vision" <node name="prediction_node" pkg="web_api_bellande_2d_computer_vision"
type="bellande_2d_computer_vision_prediction.py" output="screen"> type="bellande_2d_computer_vision_prediction.py" output="screen">
<remap from="camera/image_raw" to="/usb_cam/image_raw" /> <remap from="camera/image_raw" to="/usb_cam/image_raw" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" /> args="-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" />
</launch> </launch>

View File

@ -25,13 +25,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<param name="io_method" value="mmap" /> <param name="io_method" value="mmap" />
</node> </node>
<node name="face_detection_node" pkg="ros_web_api_bellande_2d_computer_vision" <node name="face_detection_node" pkg="web_api_bellande_2d_computer_vision"
type="bellande_2d_computer_vision_semantic_segmentation.py" type="bellande_2d_computer_vision_semantic_segmentation.py"
output="screen"> output="screen">
<remap from="camera/image_raw" to="/usb_cam/image_raw" /> <remap from="camera/image_raw" to="/usb_cam/image_raw" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" /> args="-d $(find web_api_bellande_2d_computer_vision)/rviz/visualization.rviz" />
</launch> </launch>

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_speech_detection</name> <name>web_api_bellande_2d_computer_vision</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -19,7 +19,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_2d_computer_vision_prediction.py', 'src/bellande_2d_computer_vision_face_detection.py', 'src/bellande_2d_computer_vision_object_detection.py', 'src/bellande_2d_computer_vision_instance_segmentation.py', 'src/bellande_2d_computer_vision_semantic_segmentation.py'], scripts=['src/bellande_2d_computer_vision_prediction.py', 'src/bellande_2d_computer_vision_face_detection.py', 'src/bellande_2d_computer_vision_object_detection.py', 'src/bellande_2d_computer_vision_instance_segmentation.py', 'src/bellande_2d_computer_vision_semantic_segmentation.py'],
packages=['ros_web_api_bellande_2d_computer_vision'], packages=['web_api_bellande_2d_computer_vision'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_3d_computer_vision) project(web_api_bellande_3d_computer_vision)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -15,7 +15,7 @@
"along with this program. If not, see <https://www.gnu.org/licenses/>.", "along with this program. If not, see <https://www.gnu.org/licenses/>.",
"GNU General Public License v3.0 or later" "GNU General Public License v3.0 or later"
], ],
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"prediction": "/api/Bellande_3D_Computer_Vision/bellande_classification_prediction", "prediction": "/api/Bellande_3D_Computer_Vision/bellande_classification_prediction",
"object_detection": "/api/Bellande_3D_Computer_Vision/bellande_object_detection", "object_detection": "/api/Bellande_3D_Computer_Vision/bellande_object_detection",

View File

@ -26,20 +26,20 @@ from launch.substitutions import LaunchConfiguration
def ros1_launch_description(): def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
roslaunch_command = ["roslaunch", "ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"param", "config_file", "param", "config_file",
"value:=$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" "value:=$(find web_api_bellande_3d_computer_vision)/config/configs.json"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.py", "name:=pointcloud_prediction_node" "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.py", "name:=pointcloud_prediction_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" "args:=-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz"
]) ])
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -49,7 +49,7 @@ def ros2_launch_description():
nodes_to_launch = [] nodes_to_launch = []
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_3d_computer_vision', package='web_api_bellande_3d_computer_vision',
executable='bellande_3d_computer_vision_prediction.py', executable='bellande_3d_computer_vision_prediction.py',
name='pointcloud_prediction_node', name='pointcloud_prediction_node',
output='screen', output='screen',
@ -61,7 +61,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz'] arguments=['-d', '$(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -26,20 +26,20 @@ from launch.substitutions import LaunchConfiguration
def ros1_launch_description(): def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
roslaunch_command = ["roslaunch", "ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_object_detection.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_object_detection.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"param", "config_file", "param", "config_file",
"value:=$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" "value:=$(find web_api_bellande_3d_computer_vision)/config/configs.json"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_object_detection.py", "name:=pointcloud_object_detection_node" "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_object_detection.py", "name:=pointcloud_object_detection_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" "args:=-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz"
]) ])
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -49,7 +49,7 @@ def ros2_launch_description():
nodes_to_launch = [] nodes_to_launch = []
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_3d_computer_vision', package='web_api_bellande_3d_computer_vision',
executable='pointcloud_object_detection_node.py', executable='pointcloud_object_detection_node.py',
name='pointcloud_object_detection_node', name='pointcloud_object_detection_node',
output='screen', output='screen',
@ -61,7 +61,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz'] arguments=['-d', '$(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -26,20 +26,20 @@ from launch.substitutions import LaunchConfiguration
def ros1_launch_description(): def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
roslaunch_command = ["roslaunch", "ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.launch"] + args
roslaunch_command.extend([ roslaunch_command.extend([
"param", "config_file", "param", "config_file",
"value:=$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" "value:=$(find web_api_bellande_3d_computer_vision)/config/configs.json"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"ros_web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.py", "name:=pointcloud_prediction_node" "web_api_bellande_3d_computer_vision", "bellande_3d_computer_vision_prediction.py", "name:=pointcloud_prediction_node"
]) ])
roslaunch_command.extend([ roslaunch_command.extend([
"rviz", "rviz", "name:=rviz", "rviz", "rviz", "name:=rviz",
"args:=-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" "args:=-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz"
]) ])
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -49,7 +49,7 @@ def ros2_launch_description():
nodes_to_launch = [] nodes_to_launch = []
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_3d_computer_vision', package='web_api_bellande_3d_computer_vision',
executable='bellande_3d_computer_vision_prediction.py', executable='bellande_3d_computer_vision_prediction.py',
name='pointcloud_prediction_node', name='pointcloud_prediction_node',
output='screen', output='screen',
@ -61,7 +61,7 @@ def ros2_launch_description():
package='rviz2', package='rviz2',
executable='rviz2', executable='rviz2',
name='rviz', name='rviz',
arguments=['-d', '$(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz'] arguments=['-d', '$(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz']
)) ))
return LaunchDescription(nodes_to_launch) return LaunchDescription(nodes_to_launch)

View File

@ -17,14 +17,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<launch> <launch>
<param name="config_file" <param name="config_file"
value="$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" /> value="$(find web_api_bellande_3d_computer_vision)/config/configs.json" />
<node name="pointcloud_prediction_node" pkg="ros_web_api_bellande_3d_computer_vision" <node name="pointcloud_prediction_node" pkg="web_api_bellande_3d_computer_vision"
type="bellande_3d_computer_vision_prediction.py" output="screen"> type="bellande_3d_computer_vision_prediction.py" output="screen">
<remap from="input_pointcloud" to="/pointcloud_topic" /> <remap from="input_pointcloud" to="/pointcloud_topic" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" /> args="-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" />
</launch> </launch>

View File

@ -17,14 +17,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<launch> <launch>
<param name="config_file" <param name="config_file"
value="$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" /> value="$(find web_api_bellande_3d_computer_vision)/config/configs.json" />
<node name="pointcloud_object_detection_node" pkg="ros_web_api_bellande_3d_computer_vision" <node name="pointcloud_object_detection_node" pkg="web_api_bellande_3d_computer_vision"
type="pointcloud_object_detection_node.py" output="screen"> type="pointcloud_object_detection_node.py" output="screen">
<remap from="input_pointcloud" to="/pointcloud_topic" /> <remap from="input_pointcloud" to="/pointcloud_topic" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" /> args="-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" />
</launch> </launch>

View File

@ -17,14 +17,14 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<launch> <launch>
<param name="config_file" <param name="config_file"
value="$(find ros_web_api_bellande_3d_computer_vision)/config/configs.json" /> value="$(find web_api_bellande_3d_computer_vision)/config/configs.json" />
<node name="pointcloud_prediction_node" pkg="ros_web_api_bellande_3d_computer_vision" <node name="pointcloud_prediction_node" pkg="web_api_bellande_3d_computer_vision"
type="bellande_3d_computer_vision_prediction.py" output="screen"> type="bellande_3d_computer_vision_prediction.py" output="screen">
<remap from="input_pointcloud" to="/pointcloud_topic" /> <remap from="input_pointcloud" to="/pointcloud_topic" />
</node> </node>
<node name="rviz" pkg="rviz" type="rviz" <node name="rviz" pkg="rviz" type="rviz"
args="-d $(find ros_web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" /> args="-d $(find web_api_bellande_3d_computer_vision)/rviz/pointcloud_visualization.rviz" />
</launch> </launch>

View File

@ -17,7 +17,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_3d_computer_vision</name> <name>web_api_bellande_3d_computer_vision</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -4,7 +4,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_3d_computer_vision_prediction.py', 'src/bellande_3d_computer_vision_object_detection.py', 'src/bellande_3d_computer_vision_instance_segmentation.py'], scripts=['src/bellande_3d_computer_vision_prediction.py', 'src/bellande_3d_computer_vision_object_detection.py', 'src/bellande_3d_computer_vision_instance_segmentation.py'],
packages=['ros_web_api_bellande_3d_computer_vision'], packages=['web_api_bellande_3d_computer_vision'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_adaptive_alternate_path_creation) project(web_api_bellande_adaptive_alternate_path_creation)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -1,5 +1,5 @@
{ {
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"2d": "/api/Bellande_Adaptive_Alternate_Path_Creation/bellande_adaptive_alternate_path_creation_2d", "2d": "/api/Bellande_Adaptive_Alternate_Path_Creation/bellande_adaptive_alternate_path_creation_2d",
"3d": "/api/Bellande_Adaptive_Alternate_Path_Creation/bellande_adaptive_alternate_path_creation_3d", "3d": "/api/Bellande_Adaptive_Alternate_Path_Creation/bellande_adaptive_alternate_path_creation_3d",

View File

@ -12,7 +12,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_step", "bellande_step_api_2d.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_step", "bellande_step_api_2d.launch"] + args
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -34,7 +34,7 @@ def ros2_launch_description():
x1_arg, y1_arg, x2_arg, y2_arg, limit_arg, x1_arg, y1_arg, x2_arg, y2_arg, limit_arg,
] ]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_step', package='web_api_bellande_step',
executable='bellande_step_api_2d.py', executable='bellande_step_api_2d.py',
name='bellande_step_api_2d_node', name='bellande_step_api_2d_node',
output='screen', output='screen',

View File

@ -21,7 +21,7 @@ the License.
<arg name="y2" /> <arg name="y2" />
<arg name="limit" /> <arg name="limit" />
<node pkg="ros_web_api_bellande_step" type="bellande_step_api_2d.py" <node pkg="web_api_bellande_step" type="bellande_step_api_2d.py"
name="bellande_step_api_2d_node" output="screen"> name="bellande_step_api_2d_node" output="screen">
<param name="x1" value="$(arg x1)" /> <param name="x1" value="$(arg x1)" />
<param name="y1" value="$(arg y1)" /> <param name="y1" value="$(arg y1)" />

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_extremum_optimization</name> <name>web_api_bellande_adaptive_alternate_path_creation</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -23,7 +23,7 @@ cd ..
# Run ROS launch file # Run ROS launch file
if [ $ROS_VERSION -eq 1 ]; then if [ $ROS_VERSION -eq 1 ]; then
roslaunch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 roslaunch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
else else
ros2 launch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 ros2 launch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
fi fi

View File

@ -4,7 +4,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_step_api_2d.py'], scripts=['src/bellande_step_api_2d.py'],
packages=['ros_web_api_bellande_step'], packages=['web_api_bellande_step'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_adaptive_continuious_control_system) project(web_api_bellande_adaptive_continuious_control_system)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -0,0 +1 @@
# Bellande Adaptive Continuious Control System Web ROS/ROS2 API Intergration

View File

@ -15,8 +15,10 @@
"along with this program. If not, see <https://www.gnu.org/licenses/>.", "along with this program. If not, see <https://www.gnu.org/licenses/>.",
"GNU General Public License v3.0 or later" "GNU General Public License v3.0 or later"
], ],
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"bellande_control_system_base": "/api/Bellande_Adaptive_Continuious_Control_System/bellande_adaptive_continuious_control_system" "bellande_control_system_base": "/api/Bellande_Adaptive_Continuious_Control_System/bellande_adaptive_continuious_control_system"
} },
"connectivity_passcode": "user_input_passcode",
"Bellande_Framework_Access_Key": "bellande_web_api_opensource"
} }

View File

@ -23,29 +23,26 @@ from launch.substitutions import LaunchConfiguration
def ros1_launch_description(): def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
roslaunch_command = ["roslaunch", "bellande_control_system", "bellande_control_system.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_adaptive_continuious_control_system", "bellande_control_system.launch"] + args
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
def ros2_launch_description(): def ros2_launch_description():
initial_state_arg = DeclareLaunchArgument('initial_state', default_value='idle') initial_state_arg = DeclareLaunchArgument('initial_state', default_value='idle')
name_arg = DeclareLaunchArgument('name', default_value='BellandeControlSystem') name_arg = DeclareLaunchArgument('name', default_value='BellandeControlSystem')
action_parameters_arg = DeclareLaunchArgument('action_parameters', default_value='{}')
nodes_to_launch = [] nodes_to_launch = []
ros_launch_arguments = [ ros_launch_arguments = [
initial_state_arg, name_arg, action_parameters_arg, initial_state_arg, name_arg,
] ]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='bellande_control_system', package='web_api_bellande_adaptive_continuious_control_system',
executable='bellande_control_system.py', executable='bellande_control_system.py',
name='bellande_control_system_node', name='bellande_control_system_node',
output='screen', output='screen',
parameters=[ parameters=[
{'initial_state': LaunchConfiguration('initial_state')}, {'initial_state': LaunchConfiguration('initial_state')},
{'name': LaunchConfiguration('name')}, {'name': LaunchConfiguration('name')},
{'action_parameters': LaunchConfiguration('action_parameters')},
], ],
)) ))

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande <!-- Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
@ -19,12 +18,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<!-- Arguments --> <!-- Arguments -->
<arg name="initial_state" default="idle"/> <arg name="initial_state" default="idle"/>
<arg name="name" default="BellandeControlSystem"/> <arg name="name" default="BellandeControlSystem"/>
<arg name="action_parameters" default="{}"/>
<!-- Launch the BellandeControlSystem node --> <!-- Launch the BellandeControlSystem node -->
<node name="bellande_control_system_node" pkg="bellande_control_system" type="bellande_control_system.py" output="screen"> <node name="bellande_control_system_node" pkg="bellande_control_system" type="bellande_control_system.py" output="screen">
<param name="initial_state" value="$(arg initial_state)"/> <param name="initial_state" value="$(arg initial_state)"/>
<param name="name" value="$(arg name)"/> <param name="name" value="$(arg name)"/>
<param name="action_parameters" value="$(arg action_parameters)"/>
</node> </node>
</launch> </launch>

View File

@ -17,7 +17,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_adaptive_continuious_controller</name> <name>web_api_bellande_adaptive_continuious_control_system</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -19,7 +19,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_control_system.py'], scripts=['src/bellande_control_system.py'],
packages=['ros_web_api_bellande_adaptive_continuious_control_system'], packages=['web_api_bellande_adaptive_continuious_control_system'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -25,7 +25,8 @@ def bellande_control_system(state, action, parameters):
"parameters": parameters "parameters": parameters
} }
headers = { headers = {
"Authorization": f"Bearer {api_access_key}" "Authorization": f"Bearer {api_access_key}",
"X-Connectivity-Passcode": connectivity_passcode
} }
response = requests.post(api_url, json=payload, headers=headers) response = requests.post(api_url, json=payload, headers=headers)
if response.status_code == 200: if response.status_code == 200:
@ -36,20 +37,24 @@ def bellande_control_system(state, action, parameters):
return None, None return None, None
def control_callback(msg): def control_callback(msg):
data = json.loads(msg.data)
current_state = rospy.get_param('current_state', 'idle') current_state = rospy.get_param('current_state', 'idle')
action = msg.data action = data['action']
parameters = json.loads(rospy.get_param('action_parameters', '{}')) parameters = data['parameters']
output, next_state = bellande_control_system(current_state, action, parameters) output, next_state = bellande_control_system(current_state, action, parameters)
if output is not None: if output is not None:
output_msg = String() output_msg = String()
output_msg.data = json.dumps({"output": output, "next_state": next_state}) output_msg.data = json.dumps({
"output": output,
"next_state": next_state
})
pub.publish(output_msg) pub.publish(output_msg)
if next_state: if next_state:
rospy.set_param('current_state', next_state) rospy.set_param('current_state', next_state)
def main(): def main():
global api_url, api_access_key, pub global api_url, api_access_key, connectivity_passcode, pub
config_file_path = os.path.join(os.path.dirname(__file__), '../config/configs.json') config_file_path = os.path.join(os.path.dirname(__file__), '../config/configs.json')
if not os.path.exists(config_file_path): if not os.path.exists(config_file_path):
@ -60,6 +65,7 @@ def main():
config = json.load(config_file) config = json.load(config_file)
url = config['url'] url = config['url']
endpoint_path = config['endpoint_path']["bellande_control_system_base"] endpoint_path = config['endpoint_path']["bellande_control_system_base"]
connectivity_passcode = config["connectivity_passcode"]
api_access_key = config["Bellande_Framework_Access_Key"] api_access_key = config["Bellande_Framework_Access_Key"]
# Initialize ROS node # Initialize ROS node

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_adaptive_continuious_controller) project(web_api_bellande_adaptive_continuious_controller)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -15,7 +15,7 @@
"along with this program. If not, see <https://www.gnu.org/licenses/>.", "along with this program. If not, see <https://www.gnu.org/licenses/>.",
"GNU General Public License v3.0 or later" "GNU General Public License v3.0 or later"
], ],
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"bellande_controller": "/api/Bellande_Adaptive_Continuious_Controller/bellande_adaptive_continuious_controller" "bellande_controller": "/api/Bellande_Adaptive_Continuious_Controller/bellande_adaptive_continuious_controller"
} }

View File

@ -25,7 +25,7 @@ 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 command # Construct the ROS 1 launch command
roslaunch_command = ["roslaunch", "ros_web_api_bellande_adaptive_continuious_controller", "bellande_controller.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_adaptive_continuious_controller", "bellande_controller.launch"] + args
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -44,7 +44,7 @@ def ros2_launch_description():
] ]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_adaptive_continuious_controller', package='web_api_bellande_adaptive_continuious_controller',
executable='bellande_controller.py', executable='bellande_controller.py',
name='bellande_controller_node', name='bellande_controller_node',
output='screen', output='screen',

View File

@ -24,7 +24,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<arg name="output_limits" default="[-1000.0, 1000.0]"/> <arg name="output_limits" default="[-1000.0, 1000.0]"/>
<!-- Launch the BellandeController node --> <!-- Launch the BellandeController node -->
<node name="bellande_controller_node" pkg="ros_web_api_bellande_adaptive_continuious_controller" type="bellande_controller.py" output="screen"> <node name="bellande_controller_node" pkg="web_api_bellande_adaptive_continuious_controller" type="bellande_controller.py" output="screen">
<param name="gains" value="$(arg gains)"/> <param name="gains" value="$(arg gains)"/>
<param name="name" value="$(arg name)"/> <param name="name" value="$(arg name)"/>
<param name="output_limits" value="$(arg output_limits)"/> <param name="output_limits" value="$(arg output_limits)"/>

View File

@ -15,8 +15,9 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_motion_probabilistic</name> <name>web_api_bellande_adaptive_continuious_controller</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -19,7 +19,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_controller.py'], scripts=['src/bellande_controller.py'],
packages=['ros_web_api_bellande_adaptive_continuious_controller'], packages=['web_api_bellande_adaptive_continuious_controller'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_ai_system) project(web_api_bellande_ai_system)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)
@ -44,6 +44,7 @@ if($ENV{ROS_VERSION} EQUAL 1)
catkin_install_python( catkin_install_python(
PROGRAMS PROGRAMS
src/bellande_ai_system_base.py src/bellande_ai_system_base.py
src/bellande_ai_system_command.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
) )
endif() endif()
@ -51,10 +52,12 @@ endif()
# Install Python scripts, configuration files, and launch files # Install Python scripts, configuration files, and launch files
if($ENV{ROS_VERSION} EQUAL "1") if($ENV{ROS_VERSION} EQUAL "1")
install(PROGRAMS src/bellande_ai_system_base.py DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) install(PROGRAMS src/bellande_ai_system_base.py DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
install(PROGRAMS src/bellande_ai_system_command.py DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
install(DIRECTORY config/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/config) install(DIRECTORY config/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/config)
install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch) install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch)
elseif($ENV{ROS_VERSION} EQUAL "2") elseif($ENV{ROS_VERSION} EQUAL "2")
install(PROGRAMS src/bellande_ai_system_base.py DESTINATION lib/${PROJECT_NAME}) install(PROGRAMS src/bellande_ai_system_base.py DESTINATION lib/${PROJECT_NAME})
install(PROGRAMS src/bellande_ai_system_command.py DESTINATION lib/${PROJECT_NAME})
install(DIRECTORY config/ DESTINATION share/${PROJECT_NAME}/config) install(DIRECTORY config/ DESTINATION share/${PROJECT_NAME}/config)
install(DIRECTORY launch/ DESTINATION share/${PROJECT_NAME}/launch) install(DIRECTORY launch/ DESTINATION share/${PROJECT_NAME}/launch)
ament_package() ament_package()

View File

@ -4,7 +4,7 @@
# ROS1 Launch # ROS1 Launch
- python3 bellande_step_api_2d.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 - python3 bellande_step_api_2d.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
- roslaunch ros_web_api_bellande_step bellande_step_api_2d.launch x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 - roslaunch web_api_bellande_step bellande_step_api_2d.launch x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
# ROS2 Launch # ROS2 Launch
- ros2 launch ros_web_api_bellande_step bellande_step_api_2d.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 - ros2 launch web_api_bellande_step bellande_step_api_2d.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3

View File

@ -0,0 +1,24 @@
{
"license": [
"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/>.",
"GNU General Public License v3.0 or later"
],
"url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": {
"base": "/api/Bellande_AI_System/base",
"command": "api/Bellande_AI_System/command"
},
"Bellande_Framework_Access_Key": "bellande_web_api_opensource"
}

View File

@ -25,7 +25,7 @@ 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 command # Construct the ROS 1 launch command
roslaunch_command = ["roslaunch", "ros_web_api_bellande_ai_system", "bellande_ai_system_base.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_ai_system", "bellande_ai_system_base.launch"] + args
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -33,7 +33,7 @@ def ros2_launch_description():
# Declare launch arguments # Declare launch arguments
config_file_arg = DeclareLaunchArgument( config_file_arg = DeclareLaunchArgument(
'config_file', 'config_file',
default_value='$(find ros_web_api_bellande_ai_system)/config/configs.json', default_value='$(find web_api_bellande_ai_system)/config/configs.json',
description='Path to the AI system configuration file' description='Path to the AI system configuration file'
) )
@ -44,7 +44,7 @@ def ros2_launch_description():
ros_launch_arguments = [config_file_arg] ros_launch_arguments = [config_file_arg]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_ai_system', package='web_api_bellande_ai_system',
executable='bellande_ai_system_base.py', executable='bellande_ai_system_base.py',
name='bellande_ai_system_base_node', name='bellande_ai_system_base_node',
output='screen', output='screen',

View File

@ -0,0 +1,67 @@
# 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 sys
import subprocess
from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
def ros1_launch_description():
# Get command-line arguments
args = sys.argv[1:]
# Construct the ROS 1 launch command
roslaunch_command = ["roslaunch", "web_api_bellande_ai_system", "bellande_ai_system_command.launch"] + args
# Execute the launch command
subprocess.call(roslaunch_command)
def ros2_launch_description():
# Declare launch arguments
config_file_arg = DeclareLaunchArgument(
'config_file',
default_value='$(find web_api_bellande_ai_system)/config/configs.json',
description='Path to the AI system configuration file'
)
# Create a list to hold all nodes to be launched
nodes_to_launch = []
# ROS2 specific configurations
ros_launch_arguments = [config_file_arg]
nodes_to_launch.append(Node(
package='web_api_bellande_ai_system',
executable='bellande_ai_system_command.py',
name='bellande_ai_system_command_node',
output='screen',
parameters=[
{'config_file': LaunchConfiguration('config_file')},
],
))
# Return the LaunchDescription containing all nodes and arguments
return LaunchDescription(ros_launch_arguments + nodes_to_launch)
if __name__ == "__main__":
ros_version = os.getenv("ROS_VERSION")
if ros_version == "1":
ros1_launch_description()
elif ros_version == "2":
ros2_launch_description()
else:
print("Unsupported ROS version. Please set the ROS_VERSION environment variable to '1' for ROS 1 or '2' for ROS 2.")
sys.exit(1)

View File

@ -18,11 +18,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
<?xml version="1.0"?> <?xml version="1.0"?>
<launch> <launch>
<!-- Load configuration file --> <!-- Load configuration file -->
<arg name="config_file" default="$(find ros_web_api_bellande_ai_system)/config/configs.json" /> <arg name="config_file" default="$(find web_api_bellande_ai_system)/config/configs.json" />
<param name="ai_system_config" textfile="$(arg config_file)" /> <param name="ai_system_config" textfile="$(arg config_file)" />
<!-- Launch the AI System base node --> <!-- Launch the AI System base node -->
<node name="bellande_ai_system_base_node" pkg="ros_web_api_bellande_ai_system" <node name="bellande_ai_system_base_node" pkg="web_api_bellande_ai_system"
type="bellande_ai_system_base.py" output="screen"> type="bellande_ai_system_base.py" output="screen">
<param name="config_file" value="$(arg config_file)" /> <param name="config_file" value="$(arg config_file)" />
</node> </node>

View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!--
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/>.
-->
<?xml version="1.0"?>
<launch>
<!-- Load configuration file -->
<arg name="config_file" default="$(find web_api_bellande_ai_system)/config/configs.json" />
<param name="ai_system_config" textfile="$(arg config_file)" />
<!-- Launch the AI System command node -->
<node name="bellande_ai_system_command_node" pkg="web_api_bellande_ai_system"
type="bellande_ai_system_command.py" output="screen">
<param name="config_file" value="$(arg config_file)" />
</node>
</launch>

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_ai_system</name> <name>web_api_bellande_ai_system</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -0,0 +1,26 @@
# 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/>.
from distutils.core import setup
from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml
setup_args = generate_distutils_setup(
scripts=["src/bellande_ai_system_base.py", "src/bellande_ai_system_command.py"],
packages=['web_api_bellande_ai_system'],
package_dir={'': 'src'},
)
setup(**setup_args)

View File

@ -62,13 +62,13 @@ def main():
# Initialize ROS node # Initialize ROS node
if ros_version == "1": if ros_version == "1":
rospy.init_node('ai_system_node', anonymous=True) rospy.init_node('ai_system_node', anonymous=True)
pub = rospy.Publisher('ai_response', String, queue_size=10) pub = rospy.Publisher('ai_system_node_ai_response', String, queue_size=10)
sub = rospy.Subscriber('ai_input', String, input_callback) sub = rospy.Subscriber('ai_system_node_ai_input', String, input_callback)
elif ros_version == "2": elif ros_version == "2":
rclpy.init() rclpy.init()
node = rclpy.create_node('ai_system_node') node = rclpy.create_node('ai_system_node')
pub = node.create_publisher(String, 'ai_response', 10) pub = node.create_publisher(String, 'ai_system_node_ai_response', 10)
sub = node.create_subscription(String, 'ai_input', input_callback, 10) sub = node.create_subscription(String, 'ai_system_node_ai_input', input_callback, 10)
api_url = f"{url}{endpoint_path}" api_url = f"{url}{endpoint_path}"

View File

@ -0,0 +1,96 @@
# 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 json
import os
import requests
from std_msgs.msg import String
def get_ai_response(input_command):
payload = {
"input_command": input_command
}
headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
"Authorization": f"Bearer {api_access_key}"
}
try:
response = requests.post(
api_url,
json=payload,
headers=headers
)
response.raise_for_status()
data = response.json()
return String(f"AI Response: {data['response']}")
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
def input_callback(msg):
ai_response = get_ai_response(msg.data)
if ai_response:
pub.publish(ai_response)
def main():
global api_url, api_access_key, pub
config_file_path = os.path.join(os.path.dirname(__file__), '../config/configs.json')
if not os.path.exists(config_file_path):
print("Config file not found:", config_file_path)
return
with open(config_file_path, 'r') as config_file:
config = json.load(config_file)
url = config['url']
endpoint_path = config['endpoint_path']["command"]
api_access_key = config["Bellande_Framework_Access_Key"]
# Initialize ROS node
if ros_version == "1":
rospy.init_node('ai_system_node', anonymous=True)
pub = rospy.Publisher('ai_system_node_ai_command_response', String, queue_size=10)
sub = rospy.Subscriber('ai_system_node_ai_coomand_input', String, input_callback)
elif ros_version == "2":
rclpy.init()
node = rclpy.create_node('ai_system_node')
pub = node.create_publisher(String, 'ai_system_node_ai_command_response', 10)
sub = node.create_subscription(String, 'ai_system_node_ai_command_input', input_callback, 10)
api_url = f"{url}{endpoint_path}"
try:
print("AI system node is running. Ctrl+C to exit.")
if ros_version == "1":
rospy.spin()
elif ros_version == "2":
rclpy.spin(node)
except KeyboardInterrupt:
print("Shutting down AI system node.")
except Exception as e:
print(f"An error occurred: {str(e)}")
finally:
if ros_version == "2":
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
ros_version = os.getenv("ROS_VERSION")
if ros_version == "1":
import rospy
elif ros_version == "2":
import rclpy
main()

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_motion_probabilistic) project(web_api_bellande_extremum_optimization)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -1,5 +1,5 @@
{ {
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"2d": "/api/Bellande_Extremum_Optimization/bellande_extremum_optimization_2d", "2d": "/api/Bellande_Extremum_Optimization/bellande_extremum_optimization_2d",
"3d": "/api/Bellande_Extremum_Optimization/bellande_extremum_optimization_3d", "3d": "/api/Bellande_Extremum_Optimization/bellande_extremum_optimization_3d",

View File

@ -12,7 +12,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_step", "bellande_step_api_2d.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_step", "bellande_step_api_2d.launch"] + args
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -34,7 +34,7 @@ def ros2_launch_description():
x1_arg, y1_arg, x2_arg, y2_arg, limit_arg, x1_arg, y1_arg, x2_arg, y2_arg, limit_arg,
] ]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_step', package='web_api_bellande_step',
executable='bellande_step_api_2d.py', executable='bellande_step_api_2d.py',
name='bellande_step_api_2d_node', name='bellande_step_api_2d_node',
output='screen', output='screen',

View File

@ -21,7 +21,7 @@ the License.
<arg name="y2" /> <arg name="y2" />
<arg name="limit" /> <arg name="limit" />
<node pkg="ros_web_api_bellande_step" type="bellande_step_api_2d.py" <node pkg="web_api_bellande_step" type="bellande_step_api_2d.py"
name="bellande_step_api_2d_node" output="screen"> name="bellande_step_api_2d_node" output="screen">
<param name="x1" value="$(arg x1)" /> <param name="x1" value="$(arg x1)" />
<param name="y1" value="$(arg y1)" /> <param name="y1" value="$(arg y1)" />

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<package format="3"> <package format="3">
<name>ros_web_api_bellande_2d_computer_vision</name> <name>web_api_bellande_extremum_optimization</name>
<version>0.0.1</version> <version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description> <description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author> <author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>

View File

@ -23,7 +23,7 @@ cd ..
# Run ROS launch file # Run ROS launch file
if [ $ROS_VERSION -eq 1 ]; then if [ $ROS_VERSION -eq 1 ]; then
roslaunch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 roslaunch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
else else
ros2 launch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 ros2 launch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
fi fi

View File

@ -4,7 +4,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_step_api_2d.py'], scripts=['src/bellande_step_api_2d.py'],
packages=['ros_web_api_bellande_step'], packages=['web_api_bellande_step'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -14,7 +14,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
cmake_minimum_required(VERSION 3.8) cmake_minimum_required(VERSION 3.8)
project(ros_web_api_bellande_extremum_optimization) project(web_api_bellande_motion_probabilistic)
# Find ROS # Find ROS
if($ENV{ROS_VERSION} EQUAL 1) if($ENV{ROS_VERSION} EQUAL 1)

View File

@ -1,5 +1,5 @@
{ {
"url": "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run", "url": "https://bellande-robotics-sensors-research-innovation-center.org",
"endpoint_path": { "endpoint_path": {
"2d": "/api/Bellande_Motion_Probabilistic/bellande_motion_probabilistic_2d", "2d": "/api/Bellande_Motion_Probabilistic/bellande_motion_probabilistic_2d",
"3d": "/api/Bellande_Motion_Probabilistic/bellande_motion_probabilistic_3d", "3d": "/api/Bellande_Motion_Probabilistic/bellande_motion_probabilistic_3d",

View File

@ -12,7 +12,7 @@ def ros1_launch_description():
args = sys.argv[1:] args = sys.argv[1:]
# Construct the ROS 1 launch commandi # Construct the ROS 1 launch commandi
roslaunch_command = ["roslaunch", "ros_web_api_bellande_step", "bellande_step_api_2d.launch"] + args roslaunch_command = ["roslaunch", "web_api_bellande_step", "bellande_step_api_2d.launch"] + args
# Execute the launch command # Execute the launch command
subprocess.call(roslaunch_command) subprocess.call(roslaunch_command)
@ -34,7 +34,7 @@ def ros2_launch_description():
x1_arg, y1_arg, x2_arg, y2_arg, limit_arg, x1_arg, y1_arg, x2_arg, y2_arg, limit_arg,
] ]
nodes_to_launch.append(Node( nodes_to_launch.append(Node(
package='ros_web_api_bellande_step', package='web_api_bellande_step',
executable='bellande_step_api_2d.py', executable='bellande_step_api_2d.py',
name='bellande_step_api_2d_node', name='bellande_step_api_2d_node',
output='screen', output='screen',

View File

@ -21,7 +21,7 @@ the License.
<arg name="y2" /> <arg name="y2" />
<arg name="limit" /> <arg name="limit" />
<node pkg="ros_web_api_bellande_step" type="bellande_step_api_2d.py" <node pkg="web_api_bellande_step" type="bellande_step_api_2d.py"
name="bellande_step_api_2d_node" output="screen"> name="bellande_step_api_2d_node" output="screen">
<param name="x1" value="$(arg x1)" /> <param name="x1" value="$(arg x1)" />
<param name="y1" value="$(arg y1)" /> <param name="y1" value="$(arg y1)" />

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<!--
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/>.
-->
<package format="3">
<name>web_api_bellande_motion_probabilistic</name>
<version>0.0.1</version>
<description>Bellande ROS/ROS2 package with a JSON config file for making HTTP requests</description>
<author email="ronaldsonbellande@gmail.com">Ronaldson Bellande</author>
<maintainer email="ronaldsonbellande@gmail.com">Ronaldson Bellande</maintainer>
<license>Apache License 2.0</license>
<buildtool_depend condition="$ROS_VERSION == 1">catkin</buildtool_depend>
<build_depend condition="$ROS_VERSION == 1">roscpp</build_depend>
<build_depend condition="$ROS_VERSION == 1">rospy</build_depend>
<build_export_depend condition="$ROS_VERSION == 1">roscpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 1">rospy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 1">roscpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 1">rospy</exec_depend>
<buildtool_depend condition="$ROS_VERSION == 2">ament_cmake</buildtool_depend>
<build_depend condition="$ROS_VERSION == 2">rclcpp</build_depend>
<build_depend condition="$ROS_VERSION == 2">rclpy</build_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclcpp</build_export_depend>
<build_export_depend condition="$ROS_VERSION == 2">rclpy</build_export_depend>
<exec_depend condition="$ROS_VERSION == 2">rclcpp</exec_depend>
<exec_depend condition="$ROS_VERSION == 2">rclpy</exec_depend>
<export>
</export>
</package>

View File

@ -23,7 +23,7 @@ cd ..
# Run ROS launch file # Run ROS launch file
if [ $ROS_VERSION -eq 1 ]; then if [ $ROS_VERSION -eq 1 ]; then
roslaunch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 roslaunch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
else else
ros2 launch ros_web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3 ros2 launch web_api_bellande_step bellande_step_api_2d_launch.launch.py x1:=0 y1:=0 x2:=5 y2:=5 limit:=3
fi fi

View File

@ -4,7 +4,7 @@ from catkin_pkg.python_setup import generate_distutils_setup
# fetch values from package.xml # fetch values from package.xml
setup_args = generate_distutils_setup( setup_args = generate_distutils_setup(
scripts=['src/bellande_step_api_2d.py'], scripts=['src/bellande_step_api_2d.py'],
packages=['ros_web_api_bellande_step'], packages=['web_api_bellande_step'],
package_dir={'': 'src'}, package_dir={'': 'src'},
) )

View File

@ -0,0 +1,61 @@
# 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/>.
cmake_minimum_required(VERSION 3.8)
project(web_api_bellande_probabilistic)
# Find ROS
if($ENV{ROS_VERSION} EQUAL 1)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
)
else()
find_package(ament_cmake REQUIRED COMPONENTS
rclcpp
rclpy
)
endif()
if($ENV{ROS_VERSION} EQUAL 1)
catkin_package(
INCLUDE_DIRS
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS
roscpp
rospy
)
endif()
# Install Python scripts for both ROS 1
if($ENV{ROS_VERSION} EQUAL 1)
catkin_install_python(
PROGRAMS
src/bellande_probabilistic_api_2d.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
endif()
# Install Python scripts, configuration files, and launch files
if($ENV{ROS_VERSION} EQUAL "1")
install(PROGRAMS src/bellande_probabilistic_api_2d.py DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
install(DIRECTORY config/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/config)
install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch)
elseif($ENV{ROS_VERSION} EQUAL "2")
install(PROGRAMS src/bellande_probabilistic_api_2d.py DESTINATION lib/${PROJECT_NAME})
install(DIRECTORY config/ DESTINATION share/${PROJECT_NAME}/config)
install(DIRECTORY launch/ DESTINATION share/${PROJECT_NAME}/launch)
ament_package()
endif()

Some files were not shown because too many files have changed in this diff Show More