Coder Social home page Coder Social logo

adham-elarabawy / open-quadruped Goto Github PK

View Code? Open in Web Editor NEW
344.0 35.0 64.0 82.42 MB

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.

Home Page: https://adhamelarabawy.com

License: Other

Python 3.34% C++ 96.00% CMake 0.66%
robotics quadruped quadruped-robots quadruped-robot gait gait-generation 3d-printing trajectory trajectory-generation bezier-path

open-quadruped's People

Contributors

adham-elarabawy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-quadruped's Issues

Integrating with ROS

In order to switch to using a ROS infrastructure, there needs to be significant work done on refactoring much of the codebase. It is as follows:

  • Jetson Nano Networking setup
    • autoconnect to laptop's network
    • document connection procedure
  • Install ROS melodic on Jetson Nano
  • Verify ROS functionality
    • sub & pub to topics using nodes on jetson nano
    • serial comm between jetson nano / teensy
    • sub & pub to topics using nodes on jetson nano / teensy
    • sub & pub to topics using nodes on teensy
      • Not possible. Teensy can only act as 1 node.
  • Based on the results of above task, determine proper node layout
  • Refactor codebase
    • Import ros libs in teensy lib dir
    • Implement base ROS init + callback in teensy
    • Test ros joy lib with ds4drv ps4 driver
    • Create custom message for 4 leg poses
    • Header files for custom message on teensy
    • Experiment with ROS ps4 controller packages
    • Minor refactoring for main jetson nano control process. Node-ify it.
    • Modify LLC c++ code to remove Leg IK from teensy (LLC should accept joint angles, not leg htf vectors).

Servo Detach() function

I wondered if you could add a function like this to the servo control code. It is to detach the servos and thus make them loose power. This is handy for shutting the robot down in an emergency for example. i am not familiar enough with your code yet so i can not implement it myself.

Here is the piece of code from the normal arduino Servo.cpp:

void Servo::detach() { servos[this->servoIndex].Pin.isActive = false; timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); if(isTimerActive(timer) == false) { finISR(timer); } }

initial pose at boot needed for servos placement !!

Hey, Adham, working on your package, and need to know what alignement servos need to be at teensy boot !!
Could you quickly tell me their position :

  • Hips right, and parallel to ground ?
  • shoulders // to others shoulders, and perpendicular to ground ?
  • wrist // to others wrists, and perpendicular to ground ?
    Thanks in avance, Adham
    Vincent

Documentation/Website

This project could definitely benefit from better made documentation and a website. The wiki is also sparse in terms of setup.

Assembly specifically belt tensioner

Do you have any documents or guides on assembly. I'm not sure exactly how you did the belt tension. Also the alignment of the servos would also be helpful. If not guides them possibly some pictures.

Thank You.

Parts list link no longer working

Hi Adham
great project, just wondering if you have the parts list still available as it appears to have been deleted?

Cheers
Alex

Installation Of Dependencies

the problem I m facing is installing the

ROS Melodic

  • Well for me, it is a bit difficult to find and install this particular dependency in Ubuntu OS.

  • please add the code line to install dependencies.

  • It is a request that please add an installation guide as well weather in read.me or wiki section.

Additional context

It would be a great help for people like me, who are still beginners or new to Open Source.

Inverse Kinematics Model revision

After using the IK model I created & documented, I have noticed some flaws with my implementation. I'd like to try out a couple of new things:

  • Error catching
    • Out of bounds
    • Ability to set custom limits on arm angles based on hardware restrictions
  • Use right hand rule model consistently
  • Update documentation

Idler stl missing

I see in both the leg folders, there is a idler mount stl. I also see in the CAD model that there is an idler. Yet, I don't see where the actual idler's stl file. Would you please mind uploading this? I assembled the rest, but tensioning the belt would definitely make the legs move better. Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.