Other

项目介绍

adham-elarabawy/open-quadruped 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 Other 许可证,目前获得 519 个 Star、90 次 Fork。

仓库全名
adham-elarabawy/open-quadruped
开源许可证
Other
Star 数
519
Fork 数
90
未关闭 Issue
11

README 摘要

open-quadruped An open-source 3D-printed quadrupedal robot. Intuitive gait generation through 12-DOF Bezier Curves. Full 6-axis body pose manipulation. Custom 3DOF Leg Inverse Kinematics Model accounting for offsets. Current Status To-Do List [x] Hardware // Redesign legs to move actuators closer to hip + reinforce all servo mounting. [ ] Design // Research transition between gait & body pose. [x] Software //…

完整内容见 GitHub 原始 README 或本页 。

常见问题

open-quadruped 用什么语言开发?

主要使用 C++ 编写,采用 Other 许可证,目前有 519 个 Star。

open-quadruped 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 open-quadruped 的源码?

可以直接克隆仓库:git clone https://github.com/adham-elarabawy/open-quadruped.git,默认分支为 master;安装与运行步骤见仓库 README。

open-quadruped 最近还在维护吗?

仓库最近一次更新为 2024年8月24日,当前有 11 个未关闭 Issue;Star 数为 519,可作为社区活跃度的参考。

关于

An open-source 3D-printed quadrupedal robot. Intuitive gait generation through 12-DOF Bezier Curves. Full 6-axis body pose manipulation. Custom 3DOF Leg Inverse Kinematics Model accounting for offsets.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

C++
CMake
Python

README

open-quadruped

Maintenance PR Open Source Love png2 MIT license

An open-source 3D-printed quadrupedal robot. Intuitive gait generation through 12-DOF Bezier Curves. Full 6-axis body pose manipulation. Custom 3DOF Leg Inverse Kinematics Model accounting for offsets.

Current Status

To-Do List

  • Hardware // Redesign legs to move actuators closer to hip + reinforce all servo mounting.
  • Design // Research transition between gait & body pose.
  • Software // Implementing ROS infrastructure for all control processes (including cpp on teensy).
  • Software // Write & automate pytest unit tests.
  • Software // Integrate unit tests with github actions.
  • Simulation // Create URDF model. (or port collaborater’s URDF: Maurice Rahme)
  • Simulation // Gazebo
  • Simulation // RViz Realtime Model
  • Design // Solve offset 3DOF IK model for right limbs OR validate that mirroring angles works for left/right legs
  • Simulation // Implement WebGazebo clientside support for non-linux users
  • Sim-to-Real // Joint servo calibration
  • Sim-to-Real // Refining gait parameters
  • Simulation // Reinforcement learning via ARS
  • Software // Raibert Huerestic for converting desired velocities into gait parameters
  • Software // ROS Nav Stack Layer

Papers

I’ve been formally documenting this project in the form of papers. You can find them here: adhamelarabawy.com/images/IK_Model.pdf

Documentation

You can find a summary of this project on my portfolio website’s project page. I’m hosting most of the technical documentation for this project on this repo’s wiki.

3D Model

In the model folder, you can find all of the step & stl files that I used for my build of OpenQuadruped. There, you can also find a Bill of Materials, and some guides (in progress).

Hardware

I made a custom pcb board to control the position and speed of 12 servos simultaneously, as well as interface with all of the sensors.

You can find the gerber files for the custom pcb in the hardware folder in this repository.

You can find the bill of materials for this project here.

Visualization Usage

NOTE: There are 3 different visualization tools: Gazebo Simulator (ROS + Physics), RViz (ROS), & my custom 3d-matplotlib visualization tool (body IK model + leg IK model). The latter tool is still under development, and I haven’t ported it to use my new control library yet, so it is likely broken for the time being.

To try the visualization tool out, you’ll need to run the animate.py python file with the proper libraries installed. (matplotlib 3.0.3 supported).

You can then use keyboard controls: use x, y, z, a, p, r to select (x axis, y axis, z axis, yaw, pitch, roll), and then the up and down buttons to increment the selected position. If you click ‘1’ on your keyboard, it will reset the position.

Right now, if you try to go to an impossible pose that would result in collisions, the body will do some weird things. If that happens, just click “1” on your keyboard to reset the position.

Note: Pitch and Roll are currently not working. I am currently trying to fix that.

More Demos

Force Sensitive Leg TestIK Model Demo 0IK Model Demo 1IK Model Visualization

评论

暂无评论