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