diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ceb8485 --- /dev/null +++ b/LICENSE @@ -0,0 +1,17 @@ +Copyright (C) 2024 Bellande Robotics Sensors Research Innovation Center, Ronaldson Bellande + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. + +You are free to: + +- Share — copy and redistribute the material in any medium or format +- Adapt — remix, transform, and build upon the material for any purpose, even commercially. + +Under the following terms: + +- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. +- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. +- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. + +This is a human-readable summary of (and not a substitute for) the license. See the full license text for more details. 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..cba9dec --- /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_particle", + version="0.0.1", + description="Robotics Particle", + 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_particle_api = bellande_particle.bellande_particle_api:main', + ], + }, + project_urls={ + "Home": "https://github.com/Robotics-Sensors/bellande_particle", + "Homepage": "https://github.com/Robotics-Sensors/bellande_particle", + "documentation": "https://github.com/Robotics-Sensors/bellande_particle", + "repository": "https://github.com/Robotics-Sensors/bellande_particle", + }, +) diff --git a/Package/python/src/.gitignore b/Package/python/src/.gitignore new file mode 100644 index 0000000..120b011 --- /dev/null +++ b/Package/python/src/.gitignore @@ -0,0 +1 @@ +bellande_particle.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_particle/__init__.py b/Package/python/src/bellande_particle/__init__.py new file mode 100644 index 0000000..14b2a3f --- /dev/null +++ b/Package/python/src/bellande_particle/__init__.py @@ -0,0 +1,3 @@ +""" +ros_extension +""" diff --git a/Package/python/src/bellande_particle/bellande_particle_api.py b/Package/python/src/bellande_particle/bellande_particle_api.py new file mode 100644 index 0000000..465f080 --- /dev/null +++ b/Package/python/src/bellande_particle/bellande_particle_api.py @@ -0,0 +1,83 @@ +# 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_particles_request(particle, movement=None, world=None, count=None): + url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Particles/bellande_particles" + + # Convert string inputs to lists/dicts if they're strings + if isinstance(particle, str): + particle = json.loads(particle) + if isinstance(movement, str): + movement = json.loads(movement) + if isinstance(world, str): + world = json.loads(world) + + payload = { + "particle": particle, + "movement": movement, + "world": world, + "count": count, + "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 Particles API") + parser.add_argument("--particle", required=True, + help="Particle state as JSON-formatted list [x, y, heading, weight]") + parser.add_argument("--movement", + help="Movement parameters as JSON-formatted list [rotation1, translation, rotation2]") + parser.add_argument("--world", + help="world information as JSON object with width, height, and markers") + parser.add_argument("--count", type=int, + help="Particle count for random generation") + + args = parser.parse_args() + + try: + result = make_bellande_particles_request( + args.particle, + args.movement, + args.world, + args.count + ) + + 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..71359bc --- /dev/null +++ b/Package/rust/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "bellande_particle" +version = "0.1.0" +edition = "2021" +authors = ["Bellande Robotics Sensors Research Innovation Center"] +description = "A particle system using Bellande distributions for robust state estimation and localization" +license = "GPL-3.0-or-later" +repository = "https://github.com/Robotics-Sensors/bellande_particle" +documentation = "https://bellande-robotics-sensors-research-innovation-center.org/bellande_particle/docs" +homepage = "https://bellande-robotics-sensors-research-innovation-center.org" +readme = "README.md" +keywords = ["robotics", "particle-filter", "state-estimation", "localization", "bellande"] +categories = ["science::robotics", "algorithms", "mathematics", "simulation"] + +[dependencies] +reqwest = { version = "0.11", features = ["json", "rustls-tls"] } +serde_json = "1.0" +structopt = "0.3" +tokio = { version = "1.0", features = ["full"] } + +[dev-dependencies] +tokio-test = "0.4" +mockito = "0.31" +assert_approx_eq = "1.1" + +[lib] +name = "bellande_particle" +path = "src/bellande_particle.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_particle.rs b/Package/rust/src/bellande_particle.rs new file mode 100644 index 0000000..488e8d9 --- /dev/null +++ b/Package/rust/src/bellande_particle.rs @@ -0,0 +1,114 @@ +// 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 structopt::StructOpt; + +#[derive(StructOpt, Debug)] +#[structopt(name = "bellande_particle", about = "Bellande Particles Tool")] +struct Opt { + #[structopt( + long, + help = "Particle state as JSON-formatted list [x, y, heading, weight]" + )] + particle: String, + + #[structopt( + long, + help = "Movement parameters as JSON-formatted list [rotation1, translation, rotation2]" + )] + movement: Option, + + #[structopt( + long, + help = "World information as JSON object with width, height, and markers" + )] + world: Option, + + #[structopt(long, help = "Particle count for random generation")] + count: Option, +} + +async fn make_bellande_particles_request( + particle: Value, + movement: Option, + world: Option, + count: Option, +) -> Result> { + let client = reqwest::Client::new(); + let url = "https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Particle/bellande_particle"; + + let payload = json!({ + "particle": particle, + "movement": movement, + "world": world, + "count": count, + "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) +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + let opt = Opt::from_args(); + + // Parse JSON strings to Values for validation + let particle: Value = serde_json::from_str(&opt.particle) + .map_err(|e| format!("Error parsing particle: {}", e))?; + + // Parse optional movement + let movement: Option = match opt.movement { + Some(ref m) => { + Some(serde_json::from_str(m).map_err(|e| format!("Error parsing movement: {}", e))?) + } + None => None, + }; + + // Parse optional world + let world: Option = match opt.world { + Some(ref w) => { + Some(serde_json::from_str(w).map_err(|e| format!("Error parsing world: {}", e))?) + } + None => None, + }; + + // Run using API + match make_bellande_particles_request(particle, movement, world, opt.count).await { + Ok(result) => { + println!("{}", serde_json::to_string_pretty(&result)?); + } + Err(e) => { + eprintln!("Error: {}", e); + std::process::exit(1); + } + } + + Ok(()) +} diff --git a/README.md b/README.md index 316db57..af2e701 100644 --- a/README.md +++ b/README.md @@ -1 +1,149 @@ -# bellande_particle \ No newline at end of file +# 📦 Bellande Particles + +## 🧙 Organization Website +- [![Organization Website](https://img.shields.io/badge/Explore%20Our-Website-0099cc?style=for-the-badge)](https://robotics-sensors.github.io) + +## 🧙 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_particle: /api/Bellande_Particle/bellande_particle + +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_particle": "/api/Bellande_Particle/bellande_particle" + }, + "Bellande_Framework_Access_Key": "bellande_web_api_opensource" +} +``` + +# API Payload Example +``` +{ + "particle": [0, 0, 0, 1.0], + "movement": { + "rotation1": 45.0, + "translation": 1.0, + "rotation2": -45.0 + }, + "world": { + "width": 10.0, + "height": 10.0, + "markers": [[1.0, 1.0]] + }, + "count": 10, + "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_particles_experiment) + +# Quick Bellande API Testing +``` +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Particle/bellande_particle' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "particle": [0, 0, 0, 1.0], + "movement": { + "rotation1": 45.0, + "translation": 1.0, + "rotation2": -45.0 + }, + "world": { + "width": 10.0, + "height": 10.0, + "markers": [[1.0, 1.0]] + }, + "count": 10, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }' +``` + +# Bellande Particles Usage + +## Website Crates +- https://crates.io/crates/bellande_particle + +### Installation +- `cargo add bellande_particle` + +## Website PYPI +- https://pypi.org/project/bellande_particle + +### Installation +- `$ pip install bellande_particle` + +### Usage +``` +bellande_particle \ + --particle "[0, 0, 0, 1.0]" \ + --movement '{"rotation1": 45.0, "translation": 1.0, "rotation2": -45.0}' \ + --world '{"width": 10.0, "height": 10.0, "markers": [[1.0, 1.0]]}' \ + --count 10 +``` + +### Upgrade (if not upgraded) +- `$ pip install --upgrade bellande_particle` + +``` +Name: bellande_particle +Summary: A particle system using Bellande distributions for robust state estimation and localization +Home-page: github.com/Robotics-Sensors/bellande_particle +Author: Ronaldson Bellande +Author-email: ronaldsonbellande@gmail.com +License: GNU General Public License v3.0 +``` + +## 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/Robotics-Sensors/bellande_particle/blob/main/LICENSE) and [NOTICE](https://github.com/Robotics-Sensors/bellande_particle/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..53888b2 --- /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_particle: /api/Bellande_Limit/bellande_particle + +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..2c0c16a --- /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_particle: /api/Bellande_Limit/bellande_particle + +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..dbd9dea --- /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_particle: /api/Bellande_Limit/bellande_particle + +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..ca0c538 --- /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_particle": "/api/Bellande_Limit/bellande_particle" + }, + "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..c64487e --- /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_particle": "/tcp/Bellande_Limit/bellande_particle" + }, + "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..ab431f1 --- /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_particle": "/tls/Bellande_Limit/bellande_particle" + }, + "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..5a64912 --- /dev/null +++ b/run_api.bellos @@ -0,0 +1,23 @@ +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Limit/bellande_particle' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "node0": [0, 0, 0], + "node1": [100, 100, 100], + "environment": [1000, 1000, 1000], + "size": [10, 10, 10], + "goal": [200, 200, 200], + "obstacles": [ + { + "position": [50, 50, 50], + "dimensions": [20, 20, 20] + } + ], + "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..5a64912 --- /dev/null +++ b/run_api.sh @@ -0,0 +1,23 @@ +curl -X 'POST' \ + 'https://bellande-robotics-sensors-research-innovation-center.org/api/Bellande_Limit/bellande_particle' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "node0": [0, 0, 0], + "node1": [100, 100, 100], + "environment": [1000, 1000, 1000], + "size": [10, 10, 10], + "goal": [200, 200, 200], + "obstacles": [ + { + "position": [50, 50, 50], + "dimensions": [20, 20, 20] + } + ], + "search_radius": 50, + "sample_points": 20, + "auth": { + "authorization_key": "bellande_web_api_opensource" + } + }' +echo ""