{"id":49792469,"url":"https://github.com/labsir-un/hexapod_unal","last_synced_at":"2026-05-12T06:06:49.663Z","repository":{"id":281132676,"uuid":"942681307","full_name":"labsir-un/Hexapod_Unal","owner":"labsir-un","description":"Desarrollos robot  hexapodo","archived":false,"fork":false,"pushed_at":"2025-06-05T01:08:06.000Z","size":36242,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-05T04:58:13.675Z","etag":null,"topics":["hexapod-robot","proyect","ros2"],"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/labsir-un.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,"zenodo":null}},"created_at":"2025-03-04T13:56:08.000Z","updated_at":"2025-05-28T14:07:02.000Z","dependencies_parsed_at":"2025-03-07T07:20:27.393Z","dependency_job_id":"60ba9a02-dc67-41a2-9288-0e928c0f4085","html_url":"https://github.com/labsir-un/Hexapod_Unal","commit_stats":null,"previous_names":["labsir-un/hexapod_unal"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/labsir-un/Hexapod_Unal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsir-un%2FHexapod_Unal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsir-un%2FHexapod_Unal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsir-un%2FHexapod_Unal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsir-un%2FHexapod_Unal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labsir-un","download_url":"https://codeload.github.com/labsir-un/Hexapod_Unal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labsir-un%2FHexapod_Unal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32926049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"online","status_checked_at":"2026-05-12T02:00:06.338Z","response_time":102,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["hexapod-robot","proyect","ros2"],"created_at":"2026-05-12T06:06:45.372Z","updated_at":"2026-05-12T06:06:49.659Z","avatar_url":"https://github.com/labsir-un.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hexapod ROS 2\n\n## Authors\n\n* **Andres Camilo Torres Cajamarca** – *Mechatronics Engineering Student*\n* **Felipe Chaves Delgadillo** – *Mechatronics Engineering Student*\n\n## Tutors\n\n* **Ph.D. Eng. Pedro Fabián Cárdenas Herrera**\n* **Ph.D. Eng. Ricardo Emiro Ramírez Heredia**\n\n## Description\n\nA set of ROS 2 Humble packages designed to control an 18-degree-of-freedom (DOF) hexapod robot, including inverse kinematics, transformation, and motor control nodes.\n\n## User Manual\n\n### Connection with Robot\n\nYou can use either the Raspberry Pi connected to the robot or a laptop.\n\n#### Using Laptop\n\nTo use these packages, install the following prerequisites:\n\n* [Ubuntu 22.04](https://releases.ubuntu.com/jammy/)\n* [ROS 2 Humble](https://docs.ros.org/en/humble/index.html)\n* [DynamixelSDK](https://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/download/)\n\nThen, run the following commands in an Ubuntu terminal:\n\n```bash\ngit clone https://github.com/antorresca/Hexapod\ncd Hexapod\ncolcon build\nsource install/setup.bash\n```\n\nOnce completed, proceed to the Launching ROS 2 Nodes section to run the system.\n\n#### Using Raspberry Pi and SSH\n\nIf using the Raspberry Pi via SSH, first ensure that you are connected to the 'LabFabEx' Wi-Fi network. If you do not have the password, please contact the laboratory manager.\n\nThen, in a Windows CMD or a Unix terminal, connect to the Raspberry Pi using the following credentials:\n\n*User: Hexapodo*\n\n*Password: ***ask to team*** *\n\nRun the following command:\n\n```bash\nssh hexapodo@hexapodo\n```\n\nOnce logged in, proceed to the steps in the ***Launching ROS 2 Nodes*** section.\n\n### Launching ROS 2 Nodes\n\nThe following ROS 2 nodes must be launched in this order, using a new terminal (or tmux pane) for each one:\n\n* *gui_node*\n* *cinematica_node*\n* *transformation_node*\n* *dynamixel_node*\n\n```bash\n# In separate terminals (or tmux panes), run in this order:\nros2 run gui_node gui_client\nros2 run transformation_node transformation_node\nros2 run cinematica_node cinematica_node\nros2 run dynamixel_node dynamixel_node\n```\n\nNotes:\n\n* Ensure that all nodes are properly built and available in your workspace.\n* The gui_node will remain in a loop until transformation_node is launched, and transformation_node will stay in a loop until cinematica_node is launched.\n* If the U2D2 is not connected, dynamixel_node will not work and will attempt to reconnect every 10 seconds.\n* Always check the logger for information about the status and functionality of the nodes.\n\nIn *gui_node*, when you type **'1'**, the program will start, and the trajectory will be calculated in *cinematica_node*.\n\nThen, *transformation_node* will retrieve the first array of positions and attempt to send it to *dynamixel_node* via an action.\n\nOnce *dynamixel_node* reaches all the positions, *transformation_node* will retrieve the next position, repeating the process until the user stops it.\n\n## More information\n\n### Understanding ROS2 nodes, topics, services and actions\n\nThis project consists of five nodes: three general nodes, one for simulation, and one for hardware. Communication between nodes is handled through topics, services, and actions, as shown below.\n\n![1741327637519](images/README/1741327637519.png)\n\n### Video\n\nhttps://github.com/user-attachments/assets/eb56e972-26f8-436f-b74e-e61149061cad\n\n#### Avance\n\nhttps://github.com/user-attachments/assets/610ccf62-d634-4932-befa-e8fde37b9160\n\n#### Giros\n\nhttps://github.com/user-attachments/assets/363c9b54-b7d7-47bb-8460-3d7c6445cb0d\n\nhttps://github.com/user-attachments/assets/74d0b48a-5a30-4c76-9d68-66923a830aa5\n\n#### Reversa\n\nhttps://github.com/user-attachments/assets/5f408fc8-d56d-40ce-a2b4-17a4077839e3\n\n#### Simulación\n\nhttps://github.com/user-attachments/assets/7af156b1-5c92-4b90-be09-eba2ca43c969\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabsir-un%2Fhexapod_unal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabsir-un%2Fhexapod_unal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabsir-un%2Fhexapod_unal/lists"}