diff --git a/Package/python/.gitignore b/Package/python/.gitignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/Package/python/.gitignore @@ -0,0 +1 @@ +dist diff --git a/Package/python/publish.sh b/Package/python/publish.sh new file mode 100755 index 0000000..64ae1ac --- /dev/null +++ b/Package/python/publish.sh @@ -0,0 +1,4 @@ +cp ../../README.md ./ +python setup.py sdist +twine upload dist/* +rm -r ./README.md diff --git a/Package/python/setup.py b/Package/python/setup.py new file mode 100644 index 0000000..e23e46d --- /dev/null +++ b/Package/python/setup.py @@ -0,0 +1,40 @@ +from setuptools import setup, find_packages + +with open("./README.md", "r", encoding="utf-8") as fh: + long_description = fh.read() + +setup( + name="bellande_motion_probability", + version="0.1.0", + description="The Bellande Motion Probability algorithm calculates particle movement probabilities using Bellande distributions for enhanced motion estimation", + long_description=long_description, + long_description_content_type="text/markdown", + author="RonaldsonBellande", + author_email="ronaldsonbellande@gmail.com", + packages=find_packages(where="src"), + package_dir={"": "src"}, + include_package_data=True, + install_requires=[ + "numpy", + ], + classifiers=[ + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Programming Language :: Python", + ], + keywords=["package", "setuptools"], + python_requires=">=3.0", + extras_require={ + "dev": ["pytest", "pytest-cov[all]", "mypy", "black"], + }, + entry_points={ + 'console_scripts': [ + 'bellande_motion_probability_api = bellande_motion_probability.bellande_motion_probability_api:main' + ], + }, + project_urls={ + "Home": "https://github.com/Robotics-Sensors/bellande_motion_probability", + "Homepage": "https://github.com/Robotics-Sensors/bellande_motion_probability", + "documentation": "https://github.com/Robotics-Sensors/bellande_motion_probability", + "repository": "https://github.com/Robotics-Sensors/bellande_motion_probability", + }, +) diff --git a/Package/python/src/.gitignore b/Package/python/src/.gitignore new file mode 100644 index 0000000..6dea853 --- /dev/null +++ b/Package/python/src/.gitignore @@ -0,0 +1 @@ +bellande_motion_probability.egg-info diff --git a/Package/python/src/__init__.py b/Package/python/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Package/python/src/bellande_motion_probability/__init__.py b/Package/python/src/bellande_motion_probability/__init__.py new file mode 100644 index 0000000..14b2a3f --- /dev/null +++ b/Package/python/src/bellande_motion_probability/__init__.py @@ -0,0 +1,3 @@ +""" +ros_extension +""" diff --git a/Package/python/src/bellande_motion_probability/bellande_motion_probability_api.py b/Package/python/src/bellande_motion_probability/bellande_motion_probability_api.py new file mode 100644 index 0000000..0a88a5f --- /dev/null +++ b/Package/python/src/bellande_motion_probability/bellande_motion_probability_api.py @@ -0,0 +1,99 @@ +# 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 . + +#!/usr/bin/env python3 + +import requests +import argparse +import json +import sys + +def make_bellande_motion_probability_request(particle_state, previous_pose, current_pose, + noise_params=None, search_radius=50, sample_points=20): + url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Motion_Probability/bellande_motion_probability" + + # Convert string inputs to lists if they're strings + if isinstance(particle_state, str): + particle_state = json.loads(particle_state) + if isinstance(previous_pose, str): + previous_pose = json.loads(previous_pose) + if isinstance(current_pose, str): + current_pose = json.loads(current_pose) + if isinstance(noise_params, str): + noise_params = json.loads(noise_params) + + payload = { + "particle_state": particle_state, + "previous_pose": previous_pose, + "current_pose": current_pose, + "noise_params": noise_params or { + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + }, + "search_radius": search_radius, + "sample_points": sample_points, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + } + + headers = { + 'accept': 'application/json', + 'Content-Type': 'application/json' + } + + try: + response = requests.post(url, json=payload, headers=headers) + response.raise_for_status() + return response.json() + except requests.RequestException as e: + print(f"Error making request: {e}", file=sys.stderr) + sys.exit(1) + +def main(): + parser = argparse.ArgumentParser(description="Run Bellande Motion Probability API") + parser.add_argument("--particle-state", required=True, + help="Current particle state as JSON-formatted list [x, y, heading, weight]") + parser.add_argument("--previous-pose", required=True, + help="Previous pose as JSON-formatted list [x, y, heading]") + parser.add_argument("--current-pose", required=True, + help="Current pose as JSON-formatted list [x, y, heading]") + parser.add_argument("--noise-params", + help="Noise parameters as JSON object with trans_sigma, rot_sigma, and head_sigma") + parser.add_argument("--search-radius", type=float, default=50.0, + help="Search radius for motion probability calculation") + parser.add_argument("--sample-points", type=int, default=20, + help="Number of sample points for motion probability calculation") + + args = parser.parse_args() + + try: + result = make_bellande_motion_probability_request( + args.particle_state, + args.previous_pose, + args.current_pose, + args.noise_params, + args.search_radius, + args.sample_points + ) + + print(json.dumps(result, indent=2)) + except json.JSONDecodeError as e: + print(f"Error: Invalid JSON format in input parameters - {e}", file=sys.stderr) + sys.exit(1) + +if __name__ == "__main__": + main() diff --git a/Package/rust/.gitignore b/Package/rust/.gitignore new file mode 100644 index 0000000..a9d37c5 --- /dev/null +++ b/Package/rust/.gitignore @@ -0,0 +1,2 @@ +target +Cargo.lock diff --git a/Package/rust/Cargo.toml b/Package/rust/Cargo.toml new file mode 100644 index 0000000..b7d6c48 --- /dev/null +++ b/Package/rust/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "bellande_motion_probability" +version = "0.1.0" +edition = "2021" +authors = ["Bellande Robotics Sensors Research Innovation Center"] +description = "The Bellande Motion Probability algorithm calculates particle movement probabilities using Bellande distributions for enhanced robot motion estimation" +license = "GPL-3.0-or-later" +repository = "https://github.com/Robotics-Sensors/bellande_motion_probability" +documentation = "https://bellande-robotics-sensors-research-innovation-center.org/api/bellande_motion_probability" +homepage = "https://bellande-robotics-sensors-research-innovation-center.org" +readme = "README.md" +keywords = ["robotics", "motion-planning", "probability", "particle-filter", "state-estimation"] +categories = ["science::robotics", "algorithms", "mathematics", "simulation"] + +[dependencies] +reqwest = { version = "0.11", features = ["json", "rustls-tls"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +structopt = "0.3" +tokio = { version = "1.0", features = ["full"] } +thiserror = "1.0" +anyhow = "1.0" +rand = "0.8" +nalgebra = "0.32" +num-traits = "0.2" + +[lib] +name = "bellande_motion_probability" +path = "src/bellande_motion_probability.rs" diff --git a/Package/rust/publish.sh b/Package/rust/publish.sh new file mode 100755 index 0000000..7d4afa0 --- /dev/null +++ b/Package/rust/publish.sh @@ -0,0 +1,4 @@ +cp ../../README.md . +bash ../../git_scripts/push.sh +cargo publish +rm -f README.md diff --git a/Package/rust/src/bellande_motion_probability.rs b/Package/rust/src/bellande_motion_probability.rs new file mode 100644 index 0000000..08b7fcd --- /dev/null +++ b/Package/rust/src/bellande_motion_probability.rs @@ -0,0 +1,236 @@ +// 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 . + +use reqwest; +use serde_json::{json, Value}; +use std::error::Error; +use std::path::{Path, PathBuf}; +use std::process::{self, Command}; +use structopt::StructOpt; + +#[derive(StructOpt, Debug)] +#[structopt( + name = "bellande_motion_probability", + about = "Bellande Motion Probability Tool" +)] +struct Opt { + #[structopt( + long, + help = "Current particle state as JSON-formatted list [x, y, heading, weight]" + )] + particle_state: String, + + #[structopt(long, help = "Previous pose as JSON-formatted list [x, y, heading]")] + previous_pose: String, + + #[structopt(long, help = "Current pose as JSON-formatted list [x, y, heading]")] + current_pose: String, + + #[structopt( + long, + help = "Noise parameters as JSON object with trans_sigma, rot_sigma, and head_sigma" + )] + noise_params: Option, + + #[structopt( + long, + default_value = "50.0", + help = "Search radius for motion probability calculation" + )] + search_radius: f64, + + #[structopt( + long, + default_value = "20", + help = "Number of sample points for motion probability calculation" + )] + sample_points: i32, + + #[structopt(long, help = "Use local executable instead of API")] + use_executable: bool, +} + +async fn make_bellande_motion_probability_request( + particle_state: Value, + previous_pose: Value, + current_pose: Value, + noise_params: Option, + search_radius: f64, + sample_points: i32, +) -> Result> { + let client = reqwest::Client::new(); + let url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Motion_Probability/bellande_motion_probability"; + + let payload = json!({ + "particle_state": particle_state, + "previous_pose": previous_pose, + "current_pose": current_pose, + "noise_params": noise_params.unwrap_or(json!({ + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + })), + "search_radius": search_radius, + "sample_points": sample_points, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }); + + let response = client + .post(url) + .header("accept", "application/json") + .header("Content-Type", "application/json") + .json(&payload) + .send() + .await? + .json::() + .await?; + + Ok(response) +} + +fn get_executable_path() -> PathBuf { + if cfg!(target_os = "windows") { + Path::new(env!("CARGO_MANIFEST_DIR")).join("Bellande_Motion_Probability.exe") + } else { + Path::new(env!("CARGO_MANIFEST_DIR")).join("Bellande_Motion_Probability") + } +} + +fn run_bellande_motion_probability_executable( + particle_state: &str, + previous_pose: &str, + current_pose: &str, + noise_params: Option<&str>, + search_radius: f64, + sample_points: i32, +) -> Result<(), Box> { + let executable_path = get_executable_path(); + let passcode = "bellande_motion_probability_executable_access_key"; + + // Parse and validate inputs + let particle_state_val: Value = serde_json::from_str(particle_state)?; + let previous_pose_val: Value = serde_json::from_str(previous_pose)?; + let current_pose_val: Value = serde_json::from_str(current_pose)?; + let noise_params_val: Value = noise_params + .map(|n| serde_json::from_str(n)) + .transpose()? + .unwrap_or(json!({ + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + })); + + // Validate particle state dimensions + let particle_state_arr = particle_state_val + .as_array() + .ok_or("Invalid particle state format")?; + if particle_state_arr.len() != 4 { + return Err("Particle state must have 4 components [x, y, heading, weight]".into()); + } + + // Validate pose dimensions + for (name, pose) in [ + ("Previous pose", &previous_pose_val), + ("Current pose", ¤t_pose_val), + ] { + if let Some(arr) = pose.as_array() { + if arr.len() != 3 { + return Err(format!("{} must have 3 components [x, y, heading]", name).into()); + } + } + } + + // Prepare and run command + let mut command = Command::new(executable_path); + command.args(&[ + passcode, + particle_state, + previous_pose, + current_pose, + &serde_json::to_string(&noise_params_val)?, + &search_radius.to_string(), + &sample_points.to_string(), + ]); + + let output = command.output()?; + + if output.status.success() { + println!("{}", String::from_utf8_lossy(&output.stdout)); + Ok(()) + } else { + Err(format!( + "Process failed: {}", + String::from_utf8_lossy(&output.stderr) + ) + .into()) + } +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + let opt = Opt::from_args(); + + // Parse JSON strings to Values for validation + let particle_state: Value = serde_json::from_str(&opt.particle_state) + .map_err(|e| format!("Error parsing particle state: {}", e))?; + let previous_pose: Value = serde_json::from_str(&opt.previous_pose) + .map_err(|e| format!("Error parsing previous pose: {}", e))?; + let current_pose: Value = serde_json::from_str(&opt.current_pose) + .map_err(|e| format!("Error parsing current pose: {}", e))?; + let noise_params_ref = opt.noise_params.as_ref(); + let noise_params: Option = noise_params_ref + .map(|n| serde_json::from_str(n)) + .transpose() + .map_err(|e| format!("Error parsing noise parameters: {}", e))?; + + if opt.use_executable { + // Run using local executable + if let Err(e) = run_bellande_motion_probability_executable( + &opt.particle_state, + &opt.previous_pose, + &opt.current_pose, + noise_params_ref.map(String::as_str), + opt.search_radius, + opt.sample_points, + ) { + eprintln!("Error: {}", e); + process::exit(1); + } + } else { + // Run using API + match make_bellande_motion_probability_request( + particle_state, + previous_pose, + current_pose, + noise_params, + opt.search_radius, + opt.sample_points, + ) + .await + { + Ok(result) => { + println!("{}", serde_json::to_string_pretty(&result)?); + } + Err(e) => { + eprintln!("Error: {}", e); + process::exit(1); + } + } + } + + Ok(()) +} diff --git a/README.md b/README.md index 6c6a05f..926c88c 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,145 @@ -# 📦 Bellande Motion Probabilistic -## Multi-Dimensional/Infinity-Dimensional Motion Probabilistic -## BMP(Bellande Motion Probabilistic) Algorithm API +# 📦 Bellande Motion Probability -# Check Out Research Organization for open-source/semi-open-source API -- https://robotics-sensors.github.io -- Check out website for more information avaliable open-source API +## 🧙 Organization Website +- [![Organization Website](https://img.shields.io/badge/Explore%20Our-Website-0099cc?style=for-the-badge)](https://robotics-sensors.github.io) -# API in api_docs -- Temporarily Enabled -- 2D Space -- 3D Space -- 4D Space -- 5D Space -- 6D Space -- 7D Space -- 8D Space -- 9D Space -- 10D Space -- 11D Space -- 12D Space -- 13D Space -- 14D Space -- 15D Space -- ..... -- Infinity-Dimention Space +## 🧙 Organization Github +- [![Organization Github ](https://img.shields.io/badge/Explore%20Our-Github-0099cc?style=for-the-badge)](https://github.com/Robotics-Sensors) + +# Author, Creator and Maintainer +- **Ronaldson Bellande** + +# API HTTP Usability (BELLANDE FORMAT) +``` +# 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 . +# GNU General Public License v3.0 or later + +url: https://bellande-robotics-sensors-research-innovation-center.org + +endpoint_path: + bellande_motion_probability: /api/Bellande_Motion_Probability/bellande_motion_probability + +Bellande_Framework_Access_Key: bellande_web_api_opensource +``` + +# API HTTP Usability (JSON FORMAT) +``` +{ + "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 .", + "GNU General Public License v3.0 or later" + ], + "url": "https://bellande-robotics-sensors-research-innovation-center.org", + "endpoint_path": { + "bellande_motion_probability": "/api/Bellande_Motion_Probability/bellande_motion_probability" + }, + "Bellande_Framework_Access_Key": "bellande_web_api_opensource" +} +``` + +# API Payload Example +``` +{ + "particle_state": [0, 0, 0, 1.0], + "previous_pose": [0, 0, 0], + "current_pose": [100, 100, 90], + "noise_params": { + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + }, + "search_radius": 50, + "sample_points": 20, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } +``` + +# 🧙 Website Bellande API Testing +- [![Website API Testing](https://img.shields.io/badge/Bellande%20API-Testing-0099cc?style=for-the-badge)](https://bellande-robotics-sensors-research-innovation-center.org/api/bellande_motion_probability_experiment) + +# Quick Bellande API Testing +``` +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Motion_Probability/bellande_motion_probability' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "particle_state": [0, 0, 0, 1.0], + "previous_pose": [0, 0, 0], + "current_pose": [100, 100, 90], + "noise_params": { + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + }, + "search_radius": 50, + "sample_points": 20, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }' +``` + +# Bellande Motion_Probability Usage + +## Website Crates +- https://crates.io/crates/bellande_motion_probability + +### Installation +- `cargo add bellande_motion_probability` + +## Website PYPI +- https://pypi.org/project/bellande_motion_probability + +### Installation +- `$ pip install bellande_motion_probability` + +### Usage +``` +bellande_motion_probability \ + --particle-state "[1.0, 2.0, 0.5, 1.0]" \ + --previous-pose "[0.0, 0.0, 0.0]" \ + --current-pose "[1.0, 1.0, 0.5]" \ + --noise-params '{"trans_sigma": 0.1, "rot_sigma": 0.1, "head_sigma": 0.1}' +``` + +### Upgrade (if not upgraded) +- `$ pip install --upgrade bellande_motion_probability` + +``` +Name: bellande_motion_probability +Summary: The Bellande Motion Probability algorithm calculates particle movement probabilities using Bellande distributions for enhanced robot motion estimation +Home-page: github.com/Robotics-Sensors/bellande_motion_probability +Author: Ronaldson Bellande +Author-email: ronaldsonbellande@gmail.com +License: GNU General Public License v3.0 +``` -# Can also checkout portion of the docs at [Portion API DOCS](https://github.com/Robotics-Sensors/bellande_motion_probabilistic/blob/main/api_docs.md) ## License -This Algorithm or Models is distributed under the [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/), see [LICENSE](https://github.com/RonaldsonBellande/bellande_motion_probabilistic/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_motion_probabilistic/blob/main/LICENSE) for more information. +This Algorithm or Models is distributed under the [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/), see [LICENSE](https://github.com/RonaldsonBellande/bellande_step/blob/main/LICENSE) and [NOTICE](https://github.com/RonaldsonBellande/bellande_step/blob/main/LICENSE) for more information. diff --git a/configs/bellande/http_configs.bellande b/configs/bellande/http_configs.bellande new file mode 100644 index 0000000..a76d38c --- /dev/null +++ b/configs/bellande/http_configs.bellande @@ -0,0 +1,21 @@ +# 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 . +# GNU General Public License v3.0 or later + +url: https://bellande-robotics-sensors-research-innovation-center.org + +endpoint_path: + bellande_motion_probability: /api/Bellande_Motion_Probability/bellande_motion_probability + +Bellande_Framework_Access_Key: bellande_web_api_opensource diff --git a/configs/bellande/tcp_configs.bellande b/configs/bellande/tcp_configs.bellande new file mode 100644 index 0000000..25e880a --- /dev/null +++ b/configs/bellande/tcp_configs.bellande @@ -0,0 +1,21 @@ +# 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 . +# GNU General Public License v3.0 or later + +url: tcp://bellande-robotics-sensors-research-innovation-center.org + +endpoint_path: + bellande_motion_probability: /api/Bellande_Motion_Probability/bellande_motion_probability + +Bellande_Framework_Access_Key: bellande_web_api_opensource diff --git a/configs/bellande/tls_configs.bellande b/configs/bellande/tls_configs.bellande new file mode 100644 index 0000000..f1ea008 --- /dev/null +++ b/configs/bellande/tls_configs.bellande @@ -0,0 +1,21 @@ +# 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 . +# GNU General Public License v3.0 or later + +url: tls://bellande-robotics-sensors-research-innovation-center.org + +endpoint_path: + bellande_motion_probability: /api/Bellande_Motion_Probability/bellande_motion_probability + +Bellande_Framework_Access_Key: bellande_web_api_opensource diff --git a/configs/json/http_configs.json b/configs/json/http_configs.json new file mode 100644 index 0000000..3be55e1 --- /dev/null +++ b/configs/json/http_configs.json @@ -0,0 +1,23 @@ +{ + "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 .", + "GNU General Public License v3.0 or later" + ], + "url": "https://bellande-robotics-sensors-research-innovation-center.org", + "endpoint_path": { + "bellande_motion_probability": "/api/Bellande_Motion_Probability/bellande_motion_probability" + }, + "Bellande_Framework_Access_Key": "bellande_web_api_opensource" +} diff --git a/configs/json/tcp_configs.json b/configs/json/tcp_configs.json new file mode 100644 index 0000000..1ebb507 --- /dev/null +++ b/configs/json/tcp_configs.json @@ -0,0 +1,23 @@ +{ + "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 .", + "GNU General Public License v3.0 or later" + ], + "url": "tcp://bellande-robotics-sensors-research-innovation-center.org", + "endpoint_path": { + "bellande_motion_probability": "/tcp/Bellande_Motion_Probability/bellande_motion_probability" + }, + "Bellande_Framework_Access_Key": "bellande_tcp_api_opensource" +} diff --git a/configs/json/tls_configs.json b/configs/json/tls_configs.json new file mode 100644 index 0000000..acae2c3 --- /dev/null +++ b/configs/json/tls_configs.json @@ -0,0 +1,23 @@ +{ + "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 .", + "GNU General Public License v3.0 or later" + ], + "url": "tls://bellande-robotics-sensors-research-innovation-center.org", + "endpoint_path": { + "bellande_motion_probability": "/tls/Bellande_Motion_Probability/bellande_motion_probability" + }, + "Bellande_Framework_Access_Key": "bellande_tls_api_opensource" +} diff --git a/git_scripts/.gitignore b/git_scripts/.gitignore new file mode 100644 index 0000000..e5a7a9c --- /dev/null +++ b/git_scripts/.gitignore @@ -0,0 +1,3 @@ +fix_errors.sh +push.sh +repository_recal.sh diff --git a/run_api.bellos b/run_api.bellos new file mode 100755 index 0000000..04043f4 --- /dev/null +++ b/run_api.bellos @@ -0,0 +1,20 @@ +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Motion_Probability/bellande_motion_probability' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "particle_state": [0, 0, 0, 1.0], + "previous_pose": [0, 0, 0], + "current_pose": [100, 100, 90], + "noise_params": { + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + }, + "search_radius": 50, + "sample_points": 20, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }' +echo "" diff --git a/run_api.sh b/run_api.sh new file mode 100755 index 0000000..04043f4 --- /dev/null +++ b/run_api.sh @@ -0,0 +1,20 @@ +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Motion_Probability/bellande_motion_probability' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "particle_state": [0, 0, 0, 1.0], + "previous_pose": [0, 0, 0], + "current_pose": [100, 100, 90], + "noise_params": { + "trans_sigma": 0.1, + "rot_sigma": 0.1, + "head_sigma": 0.1 + }, + "search_radius": 50, + "sample_points": 20, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }' +echo ""