usage & demo
This commit is contained in:
parent
da54b3af2d
commit
4f82c33a84
@ -1 +1,3 @@
|
|||||||
# Web-ROS-API
|
# Bellande Web ROS/ROS2 API
|
||||||
|
|
||||||
|
## - Functionality is to use Bellande API and Models for different functionality related to computer science
|
||||||
|
39
ros_web_api_bellande_step/CMakeLists.txt
Normal file
39
ros_web_api_bellande_step/CMakeLists.txt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.8)
|
||||||
|
project(ros_web_api_bellande_step)
|
||||||
|
|
||||||
|
## Compile as C++11, supported in ROS Kinetic and newer
|
||||||
|
add_compile_options(-std=c++11)
|
||||||
|
|
||||||
|
# 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_step_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_step_api_2d.py DESTINATION lib/${PROJECT_NAME})
|
||||||
|
install(DIRECTORY config/ DESTINATION share/${PROJECT_NAME}/config)
|
||||||
|
install(DIRECTORY launch/ DESTINATION share/${PROJECT_NAME}/launch)
|
||||||
|
endif()
|
37
ros_web_api_bellande_step/package.xml
Normal file
37
ros_web_api_bellande_step/package.xml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>ros_web_api_bellande_step</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>
|
39
ros_web_api_bellande_step/src/bellande_step_api_2d.py
Normal file
39
ros_web_api_bellande_step/src/bellande_step_api_2d.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import json
|
||||||
|
import requests
|
||||||
|
import os
|
||||||
|
|
||||||
|
# Get the parameters from the launch file
|
||||||
|
x1 = float(os.getenv('x1'))
|
||||||
|
y1 = float(os.getenv('y1'))
|
||||||
|
x2 = float(os.getenv('x2')) # Read x2 from launch file
|
||||||
|
y2 = float(os.getenv('y2')) # Read y2 from launch file
|
||||||
|
limit = int(os.getenv('limit'))
|
||||||
|
|
||||||
|
# URL and endpoint path
|
||||||
|
url = "https://bellanderoboticssensorsresearchinnovationcenter-kot42qxp.b4a.run"
|
||||||
|
endpoint_path = "/api/Bellande_Step/bellande_step_2d"
|
||||||
|
|
||||||
|
# JSON payload
|
||||||
|
payload = {
|
||||||
|
"node0": {"x": x1, "y": y1},
|
||||||
|
"node1": {"x": x2, "y": y2}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Headers
|
||||||
|
headers = {
|
||||||
|
'accept': 'application/json',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make POST request
|
||||||
|
try:
|
||||||
|
response = requests.post(
|
||||||
|
url + endpoint_path + '?limit=' + str(limit),
|
||||||
|
json=payload,
|
||||||
|
headers=headers
|
||||||
|
)
|
||||||
|
response.raise_for_status() # Raise an error for unsuccessful responses
|
||||||
|
data = response.json()
|
||||||
|
print("Next Step:", data['next_step'])
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print("Error:", e)
|
Loading…
Reference in New Issue
Block a user