latest pushes

This commit is contained in:
Ronaldson Bellande 2024-05-06 03:08:01 -04:00
parent ca1bfb581d
commit 6f06846665
6 changed files with 135 additions and 23 deletions

View File

@ -0,0 +1,51 @@
# 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(ros_web_api_bellande_speech_detection)
# 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, configuration files, and launch files
if($ENV{ROS_VERSION} EQUAL "1")
install(PROGRAMS src/bellande_2d_computer_vision_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_2d_computer_vision_api_2d.py DESTINATION lib/${PROJECT_NAME})
install(DIRECTORY config/ DESTINATION share/${PROJECT_NAME}/config)
install(DIRECTORY launch/ DESTINATION share/${PROJECT_NAME}/launch)
endif()

View File

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

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>ros_web_api_bellande_speech_detection</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,10 +1,6 @@
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():

View File

@ -0,0 +1,16 @@
<?xml version="1.0"?>
<launch>
<arg name="x1"/>
<arg name="y1"/>
<arg name="x2"/>
<arg name="y2"/>
<arg name="limit"/>
<node pkg="ros_web_api_bellande_step" type="bellande_step_api_2d.py" name="bellande_step_api_2d_node" output="screen">
<param name="x1" value="$(arg x1)"/>
<param name="y1" value="$(arg y1)"/>
<param name="x2" value="$(arg x2)"/>
<param name="y2" value="$(arg y2)"/>
<param name="limit" value="$(arg limit)"/>
</node>
</launch>

View File

@ -1,7 +1,6 @@
import json
import os
import requests
import sys
def main():
# Get the absolute path to the config file
@ -18,25 +17,13 @@ def main():
url = config['url']
endpoint_path = config['endpoint_path']
# Get the parameters from the launch file
x1_str = os.getenv('x1')
y1_str = os.getenv('y1')
x2_str = os.getenv('x2')
y2_str = os.getenv('y2')
limit_str = os.getenv('limit')
# Get the parameters from the ROS parameter server
x1 = rospy.get_param('x1')
y1 = rospy.get_param('y1')
x2 = rospy.get_param('x2')
y2 = rospy.get_param('y2')
limit = rospy.get_param('limit')
# Check if any of the environment variables are not set
if any(v is None for v in [x1_str, y1_str, x2_str, y2_str, limit_str]):
print("One or more required environment variables are not set.")
return
# Convert the parameters to float or int
x1 = float(x1_str)
y1 = float(y1_str)
x2 = float(x2_str)
y2 = float(y2_str)
limit = int(limit_str)
# JSON payload
payload = {
"node0": {"x": x1, "y": y1},
@ -64,4 +51,10 @@ def main():
print("Error:", e)
if __name__ == '__main__':
ros_version = os.getenv("ROS_VERSION")
if ros_version == "1":
import rospy
elif ros_version == "2":
rclpy
main()