{"id":25236874,"url":"https://github.com/ferdi00/ros_deliveryrobot","last_synced_at":"2025-04-05T18:13:39.251Z","repository":{"id":276819291,"uuid":"930409679","full_name":"Ferdi00/ROS_DeliveryRobot","owner":"Ferdi00","description":"The ROS Delivery Robot project is a robotic delivery order management and control system based on ROS (Robot Operating System). The system is designed to automate and optimize the management of delivery orders, providing efficient, automated, and safe delivery operations with visual monitoring through RViz.","archived":false,"fork":false,"pushed_at":"2025-02-10T15:52:18.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T18:13:36.286Z","etag":null,"topics":["delivery-service","order-management","python3","ros-noetic","rviz"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ferdi00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-10T15:35:24.000Z","updated_at":"2025-02-10T15:57:19.000Z","dependencies_parsed_at":"2025-02-10T16:49:03.896Z","dependency_job_id":null,"html_url":"https://github.com/Ferdi00/ROS_DeliveryRobot","commit_stats":null,"previous_names":["ferdi00/ros_deliveryrobot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdi00%2FROS_DeliveryRobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdi00%2FROS_DeliveryRobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdi00%2FROS_DeliveryRobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdi00%2FROS_DeliveryRobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ferdi00","download_url":"https://codeload.github.com/Ferdi00/ROS_DeliveryRobot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378139,"owners_count":20929297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delivery-service","order-management","python3","ros-noetic","rviz"],"created_at":"2025-02-11T15:32:22.107Z","updated_at":"2025-04-05T18:13:39.208Z","avatar_url":"https://github.com/Ferdi00.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Project Overview\n\nThe ROS Delivery Robot project is a robotic delivery order management and control system based on ROS (Robot Operating System). The system is designed to automate and optimize the management of delivery orders, providing efficient, automated, and safe delivery operations with visual monitoring through RViz.\n\n## Features\n\n- **Order Management**: Receives new order requests, validates them, assigns priorities, and publishes them on a ROS topic to be processed by other nodes.\n- **Robot Control**: Manages the robot that physically executes the delivery orders, handling navigation to the destination and managing the queue based on priority.\n- **Navigation**: Gradually moves the robot from its current position to the specified destination, continuously updating the position and visualizing the path.\n- **Visualization**: Provides a visual interface through RViz to monitor the robot's status and path, including visual markers for the robot's position and destination.\n\n## Technologies Used\n\n- **ROS (Robot Operating System)**: The core framework for robot software development.\n- **Python**: The primary programming language used for scripting and node development.\n- **RViz**: A 3D visualization tool for ROS.\n- **ROS Messages and Services**: Custom messages and services for communication between nodes.\n\n## Project Structure\n\n```\ndelivery_robot2/\n├── CMakeLists.txt\n├── config/\n│   └── params.yaml\n├── launch/\n│   └── delivery_robot.launch\n├── msg/\n│   └── DeliveryOrder.msg\n├── package.xml\n├── ReadMe\n├── scripts/\n│   ├── order_manager.py\n│   ├── robot_controller.py\n│   └── robot_helpers/\n│       ├── marker.py\n│       ├── navigation.py\n│       └── position.py\n├── srv/\n│   ├── AddOrder.srv\n│   ├── GetOrdersList.srv\n│   └── TriggerTestOrders.srv\n└── README.md\n```\n\n## Installation\n\n### Prerequisites\n\n- ROS (Robot Operating System) installed on your machine.\n- Python 3.x\n- Catkin workspace set up.\n\n### Steps\n\n1. **Clone the Repository**:\n    ```sh\n    git clone https://github.com/yourusername/ROS_DeliveryRobot.git\n    cd ROS_DeliveryRobot/delivery_robot2\n    ```\n\n2. **Build the Package**:\n    ```sh\n    cd ~/catkin_ws\n    catkin_make\n    source devel/setup.bash\n    ```\n\n3. **Install Dependencies**:\n    Ensure all necessary ROS dependencies are installed:\n    ```sh\n    rosdep install --from-paths src --ignore-src -r -y\n    ```\n\n4. **Launch the System**:\n    ```sh\n    roslaunch delivery_robot2 delivery_robot.launch\n    ```\n\n## Usage\n\n### Order Manager\n\nThe order_manager.py node is responsible for managing delivery orders. It receives new orders, validates them, assigns priorities, and publishes them to be processed by the robot controller.\n\n### Robot Controller\n\nThe robot_controller.py node controls the robot, managing the queue of orders based on priority and handling navigation to the destination.\n\n### Navigation\n\nThe navigation.py script handles the actual navigation of the robot, moving it from its current position to the specified destination and updating the position continuously.\n\n### Visualization\n\nThe system uses RViz to provide a visual interface for monitoring the robot's status and path. Visual markers are used to represent the robot's position and destination.\n\n## Configuration\n\nThe params.yaml file in the `config` directory contains predefined points and test orders that can be used to simulate the system.\n\n```yaml\npredefined_points:\n    point1: [-5.0, 3.2]\n    point2: [7.0, -2.0]\n    point3: [3.0, 6.5]\n\ntest_orders:\n    - order_id: 1\n      start_location: \"current\"\n      destination: \"point1\"\n      priority: \"high\"\n    - order_id: 2\n      start_location: \"point1\"\n      destination: \"point3\"\n      priority: \"low\"\n    - order_id: 3\n      start_location: \"point1\"\n      destination: \"point2\"\n      priority: \"medium\"\n```\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n---\n\nFor more information, please refer to the [ROS documentation](http://wiki.ros.org/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdi00%2Fros_deliveryrobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferdi00%2Fros_deliveryrobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdi00%2Fros_deliveryrobot/lists"}