{"id":20590546,"url":"https://github.com/ndhana94/hyperdog_ros2","last_synced_at":"2026-03-07T11:30:54.793Z","repository":{"id":71131631,"uuid":"482342568","full_name":"NDHANA94/hyperdog_ros2","owner":"NDHANA94","description":"HyperDog is a quadruped robot which is fully based on ROS 2 and Micro-ROS","archived":false,"fork":false,"pushed_at":"2024-09-08T19:58:06.000Z","size":5109,"stargazers_count":99,"open_issues_count":3,"forks_count":25,"subscribers_count":5,"default_branch":"foxy","last_synced_at":"2025-05-09T02:53:12.936Z","etag":null,"topics":["micro-ros","micro-ros-stm32","quadruped-robot","quadruped-robot-gaits","quadruped-simulation","ros2"],"latest_commit_sha":null,"homepage":"","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/NDHANA94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://revolut.me/nipun420"]}},"created_at":"2022-04-16T19:24:09.000Z","updated_at":"2025-05-08T10:17:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"5936376e-ad4a-428c-8973-6f5930a5dd32","html_url":"https://github.com/NDHANA94/hyperdog_ros2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NDHANA94/hyperdog_ros2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDHANA94%2Fhyperdog_ros2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDHANA94%2Fhyperdog_ros2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDHANA94%2Fhyperdog_ros2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDHANA94%2Fhyperdog_ros2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NDHANA94","download_url":"https://codeload.github.com/NDHANA94/hyperdog_ros2/tar.gz/refs/heads/foxy","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDHANA94%2Fhyperdog_ros2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30212124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["micro-ros","micro-ros-stm32","quadruped-robot","quadruped-robot-gaits","quadruped-simulation","ros2"],"created_at":"2024-11-16T07:37:14.179Z","updated_at":"2026-03-07T11:30:54.749Z","avatar_url":"https://github.com/NDHANA94.png","language":"Python","funding_links":["https://revolut.me/nipun420"],"categories":[],"sub_categories":[],"readme":"# hyperdog_ros2\nHyperDog is a quadruped robot which is fully based on ROS 2 and Micro-ROS. \n\n### Publications:\n- [`HyperDog` | IEEE SMC-2022](https://ieeexplore.ieee.org/document/9945526)\n- [`DogTouch` | IEEE VTC-2022](https://ieeexplore.ieee.org/document/9860815)\n- [`HyperGuider` | IEEE SMC-2022](https://ieeexplore.ieee.org/document/9945364)\n- [`HyperPalm` | IEEE SMC-2022](https://ieeexplore.ieee.org/document/9945223)\n\n### YouTube:\n- [HyperDog Demo](https://youtu.be/Dx1U2J1avO0)\n- [IEEE SMC-2023 presentation](https://youtu.be/mFgaS3f5-pw)\n- [HyperDog Playlist](https://www.youtube.com/watch?v=1CIkmu7lIlY\u0026list=PL8ZSjYfd0W-1BoGKr-xrBt6LwaWn_EVaN)\n\n## Contains\nThis repository contains ros2 packages for quadruped robot HyperDog.\npackages are :\n  1. **`hyperdog_msgs`** : this package contains the msgs those used by other packages.\n  \n        1. `JoyCtrlCmds` : this contains the control variables of the robot from the gamepad\n              - `bool[3] states` : { start, walk, side_move_mode} \n              - `uint8 gait_type` : to change the gait type\n              - `geometry_msgs/Pose pose` : to control slant(x,y) and roll,pitch,yaw\n              - `geometry_msgs/Vector3 gait_step` : gait_step.x = steplen_x, gait_step.y = steplen_y, gait_step.z = swing_height\n              \n        2. `Geometry`: this contains the parameters for coordinate of each leg and body orientation(roll,pitch,yaw)\n              - `geometry_msgs/Point32 fr` : x,y,z end effector coordinates of FR leg\n              - `geometry_msgs/Point32 fl` : x,y,z end effector coordinates of FL leg\n              - `geometry_msgs/Point32 br` : x,y,z end effector coordinates of BR leg\n              - `geometry_msgs/Point32 bl` : x,y,z end effector coordinates of BL leg\n              - `geometry_msgs/Quaternion euler_ang` : roll, pitch, yaw angles\n              \n  2. **`hyperdog_teleop`** : this pkg creates `/hyperdog_teleop_gamepad_node. \n        - Node 1 : `/joy_node`\n            This node creates commands to robot from Gamepad commands\n            - subscriber : `/joy_node` \n            - publisher : `/hyperdog_joy_ctrl_cmd` using the interface `hyperdog_msgs/msg/JoyCtrlCmd`\n\n  3. **`hyperdog_ctrl`** : This pkg has `Body_motion_planner` and `gait_generater` and creates the nodes `/command_manager_node` and `/IK_node`\n        - `Body_motion_planner` : plans body motions from control commands receive from `/command_manager_node`\n        - `gait_generator` : generates gaits acording to the given gait_type command from the Gamepad \n   \n        - Node 1 : `/command_manager_node` \n            - subscriber : `/hyperdog_joy_ctrl_cmd` via `hyperdog_msgs/msg/JoyCtrlCmds` interface\n            - publisher : `/hyperdog_geometry` via `hyperdog_msgs/msg/Geometry` interface\n\n        - Node 2 : `/IK_node`\n            - subscriber : `/hyperdog_geometry` via `hyperdog_msgs/msg/Geometry` interface\n            - publisher  : `/hyperdog_jointController/commands`\n  \n  4. **`uros`** : this is the micro_ros package from its official git. this package is used to launch `micro_ros_agent` to communicate with micro-controllers which run micro_ros via ROS2\n  \n  5. **`hyperdog_launch`** : This contains the launch file for all the above nodes and `micro_ros_agent`\n  \n  6. **`hyperdog_gazebo_sim`** : Gazebo simmulation \n  \n  7. **`hyperdog_gazebo_joint_cmd`** : this pkg contains the node `/hyperdog_gazebo_joint_cmd` to send joint angles to gazebo\n        - Node : `/hyperdog_gazebo_joint_cmd`\n            - subscriber : `/hyperdog_jointController/commands`\n            - publisher : '/gazebo_joint_controller/commands`\n\n\n## Building\n\n 1. Create a ROS2 workspace and build this package for ROS2 foxy\n ```\n # make the workspace\n mkdir hyperdog_ws/src \n cd hyperdog_ws/src\n \n # download the pkg\n git clone https://github.com/NDHANA94/hyperdog_ros2.git\n \n # build the pkg\n cd .. \n colcon build\n ```\n \n 2. build `micro_ros_agent`  in hyperdog_ws from the git repository https://github.com/micro-ROS/micro_ros_setup/tree/foxy. follow instuction and build the micro_ros_agent.\n 3. edit line 41 in hyperdog_ros2/src/hyperdog_launch/launch/hyperdog.launch.py script to configure your serial port.\n 4. go to `hyperdog_ws` directory and build all the packages again\n \n \n # Launching\n source the workspace  \n ```\n source hyperdog_ws/install/setup.bash\n ```\n to add workspace source permenently to .bashrc:\n  ```\n    \n    # add source \n    echo \"source /home/$USER/hyperdog_ws/install/setup.bash\" \u003e\u003e ~/.bachrc\n  ```\n  \n  to launch run following \n  ```\n  ros2 launch hyperdog_launch hyperdog.launch.py\n \n  ```\n  \n  to launch gazebo with hyperdog\n  ```\n  ros2 launch hyperdog_gazebo_sim hyperdog_gazebo_sim.launch.py\n  ```\n\n# Known bugs:\n- gazebo-ros2-control pkg doesn't work properly. So the robot slides on the ground.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndhana94%2Fhyperdog_ros2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndhana94%2Fhyperdog_ros2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndhana94%2Fhyperdog_ros2/lists"}