{"id":20077987,"url":"https://github.com/erc-bpgc/spiderbot","last_synced_at":"2025-05-05T22:31:48.290Z","repository":{"id":46075554,"uuid":"326005759","full_name":"ERC-BPGC/SpiderBot","owner":"ERC-BPGC","description":"Official repository of Project SpiderBot","archived":false,"fork":false,"pushed_at":"2024-09-10T11:52:36.000Z","size":614707,"stargazers_count":4,"open_issues_count":3,"forks_count":19,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T05:24:00.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ERC-BPGC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-01-01T15:34:53.000Z","updated_at":"2024-12-31T09:09:33.000Z","dependencies_parsed_at":"2024-09-10T13:08:44.736Z","dependency_job_id":"c11e0320-4a4b-47e9-96c1-2bad3ccadc12","html_url":"https://github.com/ERC-BPGC/SpiderBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERC-BPGC%2FSpiderBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERC-BPGC%2FSpiderBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERC-BPGC%2FSpiderBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERC-BPGC%2FSpiderBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ERC-BPGC","download_url":"https://codeload.github.com/ERC-BPGC/SpiderBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252586130,"owners_count":21772257,"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":[],"created_at":"2024-11-13T15:12:19.622Z","updated_at":"2025-05-05T22:31:47.660Z","avatar_url":"https://github.com/ERC-BPGC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Project Spiderbot**\n\nOfficial repository of Project SpiderBot.\n\nProject is currently under development and this repository will serve as\na place to work on the software stack of the project.\n\n## Current branch division:\n\n`main` - Latest stable code of the project.\u003cbr/\u003e \n`dev` - Development code of the project of the hexapod system. \u003cbr/\u003e\n`test` - Testing branch for trying out concepts and features on other simpler systems like robotic arm and quadruped.\u003cbr/\u003e\n\n## **Introduction**\n\nThe SpiderBot project aims to create an advanced robotic platform\ncapable of agile exploration and surveillance in dynamic and challenging\nenvironments. Drawing inspiration from the remarkable abilities of\nspiders, SpiderBot will incorporate cutting-edge locomotion mechanisms,\nsensory perception, and autonomous decision-making capabilities. This\nproject description outlines the primary goals, features, and potential\napplications of SpiderBot. Through rigorous development, testing, and\nvalidation, SpiderBot will provide a reliable and adaptable solution for\na wide range of real-world applications, contributing to advancements in\nrobotics and enhancing human capabilities.\n\n## **Why a Hexapod?**\n\n Six legs yield extra stability and maneuverability, especially when\nclimbing something like rubble. With 4 or less legs, the robot needs to\nbe very careful about how it positions its center of gravity and which\nlegs are off the ground, so as not to fall over. With 6 or more legs,\nthe robot can lift multiple legs up without tipping over, and does not\nneed to exert much effort try not to fall. It also means, from a\nrobotics perspective, the algorithms for locomotion do not necessarily\nneed to be closed loop, and do not necessarily need to take into\nconsideration the momentum or center of gravity of the robot. Therefore,\ncontrolling such a robot, even though it has more limbs, is actually\neasy.More than six consumes a lot of power and moreover the gait\npatterns are complex .The more the legs the more complex it becomes\n\n## **Uses**\n\nFollowing are few places where spiderbot can used:\n\n-   Search and Rescue: Spiderbots can navigate through complex and\n    challenging environments, such as collapsed buildings or disaster\n    zones, to search for survivors or assess the situation. Their\n    ability to climb over debris and uneven surfaces makes them valuable\n    for search and rescue missions.\n\n-   Inspection and Maintenance: Spiderbots can access difficult-to-reach\n    areas, such as tall structures, bridges, or pipelines, to perform\n    inspection and maintenance tasks. Their climbing abilities make them\n    ideal for assessing the integrity of infrastructure.\n\n-   Surveillance and Security: Spiderbots can be deployed for\n    surveillance and security purposes. They can navigate indoor and\n    outdoor spaces, providing real-time video or sensor data to monitor\n    and secure locations.\n\n-   Medical Applications: Spiderbots may be utilized in medical\n    applications, such as minimally invasive surgery. Their compact size\n    and ability to move around obstacles can be beneficial in accessing\n    hard-to-reach areas within the human body.\n\n-   Mapping and Environmental Monitoring: Spiderbots can be equipped\n    with various sensors to map terrain, monitor environmental\n    parameters, or collect data in remote locations.\n\n-   Military and Defense: In military applications, spiderbots can be\n    used for reconnaissance and surveillance missions. Their ability to\n    move quietly and traverse challenging landscapes can be advantageous\n    in certain scenarios.\n\n-   Space Exploration: Spider-like robots have been proposed for use in\n    space missions, both for planetary exploration and satellite\n    maintenance.\n\n## **Mechanical design**\n\nAll the legs are 3D printed and the base is made up of 5.5mm of plywood.\nThe bot has a covering of Acrylic.\n\n### **Dimensions**\n\nBase-Hexagon of side 140 MM\n\nLeg-6 legs. Each leg having 3 joints. The three joints provide 3 DOF\nmimicking a human Leg of which dimensions are\n\nHIP 124 mm\n\nLEG 174 MM\n\nHip to Base 66 mm\n\n## **Electronics**\n\n### **List of Components used**\n\nSingle pole MCB, 10A buck converter, 10amg wires, 35kg-cm servo (RKI\n1202), 16kg-cm servo (RKI 1206), Lippo battery 4200mah, Raspberry pi 4,2\nArduino Mega\n\n### **PCB design**\n\nTrace widths used: 188.89mils, 13.79mils, 6mils Components: Arduino,\nMale-Male Headers, XT-60 connector Current rating: 20A\nCopper weight: 2oz\n\n### **Software**\n\nWe have used ROS (Robot Operating system) framework. The programming\nlanguage used is Python\n\nRosserial is used for communication between the raspi and arduino\n\n### **Rosserial**\n\nRosserial is a protocol to send data through a serial interface. In a\nclient-server rosserial implementation, a rosserial-server is a computer\nrunning ROS and a rosserial-client is the microprocessor that receives\nsensors' data and transports it to the server in the form of ROS\nmessages. rosserial-server in this implementation is a publishing node\nwhile rosserial-client is a subscriber node, although this can sometimes\nbe the other way round.\n\n## **Requirements**\n\n-   *ROS Environment*: First, you need to have a working ROS environment\n    on your computer. This involves installing ROS and setting up a ROS\n    workspace with your packages.\n\n-   *Install Rosserial*: Install the Rosserial package on your ROS\n    computer by running the appropriate command\n```bash\nsudo apt-get install ros-\\\u003cdistro\\\u003e-rosserial-arduino\n```\n```bash\nsudo apt-get install ros-\\\u003cdistro\\\u003e-rosserial-python\n```\n\n\n-   Install Rosserial on Arduino\n\n-   *Configure Rosserial:* In the Arduino code, include the necessary\n    Rosserial headers, and configure the communication parameters, such\n    as the serial port and the baud rate\n\n-   *Run Rosserial*: Run the Rosserial node on your ROS computer. This\n    node handles the communication between the computer and the\n    microcontroller\n\n-   *Upload Arduino Code*: Upload the Arduino code with the Rosserial\n    integration to your Arduino board.\n\nIn our workspace directory it is present in\n\n```~/catkin_ws/rosserial```\n\n## **Running the code**\n\nRun the given lines to start the spiderbot\n\n```bash \nroslaunch spiderbot arduino.launch\n```\n\n```bash \nroslaunch automation automation.launch\n```\n\n\n## **Future goals**\n\nImplementing CPG , improving the mechanical design to make the bot\nlighter Using RL to developing non slipping motion. Last but not the\nleast, making the robot autonomous. Upgrading the circuitry of the\nrobot. It includes replacing current electrical devices with better\nalternatives.egArduino ,raspi with jetson nano and STM board\nrespectively. Using motors which give feedback as it will be needed for\nimplementing CPG/using sensors at legs which detect elevation and depth\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferc-bpgc%2Fspiderbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferc-bpgc%2Fspiderbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferc-bpgc%2Fspiderbot/lists"}