Skip to main content

A python robotic driver for a quadruped robot

Project description

https://raw.githubusercontent.com/walchko/quadruped/master/pics/spiderbot_dev.JPG

Quadruped

https://img.shields.io/pypi/v/quadruped.svg https://img.shields.io/pypi/l/quadruped.svg https://travis-ci.org/MomsFriendlyRobotCompany/quadruped.svg?branch=master

My robot software.

Documentation

Note: This re-write is still very early and not fully running yet, just parts.

Install

linux

You will also need:

pip install ds4drv

pip

The recommended way to install this library is:

pip install quadruped

Development

If you wish to develop and submit git-pulls, you can do:

git clone https://github.com/MomsFriendlyRobotCompany/quadruped
cd quadruped
pip install -e .

Testing

Since I have both python2 and python3 installed, I need to test with both:

python2 -m nose *.py
python3 -m nose *.py

Layout

Here is sort of the layout of the code:

  • Quadruped (see examples folders):
    • Engine(serial)

    • AHRS() - tilt compensated compass

    • IMU() - NXP IMU from Adafruit

    • MCP3208() - ADC for IR and whatever else

    • Gait:
      • command() - plans all feet through 1 gait cycle (12 steps)

      • eachLeg(x,y,z)

  • Engine({serial}): - handles movement hardware
    • legs[4]
      • servos[3]
        • angle

        • setServoLimits()

        • bulkWrite() - change to sync

      • coxa, femur, tibia

      • fk()

      • ik()

      • moveFoot(x,y,z)

      • moveFootAngle(a,b,c)

The example quadruped (in the examples folder), takes a dictionary. Currently it takes:

data = {
        'serialPort': '/dev/tty.usbserial-AL034G2K',
        'write': 'bulk'
}

If you don’t pass it a serial port, then it falls back to a simulated serial port (which does nothing) which is useful for testing.

Tools

This directory contains several tools for the robot:

Change Log

2017-Jul-07

0.4.1

broke out into package and published to PyPi

2016-Aug-10

0.0.1

init

MIT License

Copyright (c) 2016 Kevin J. Walchko

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quadruped-0.4.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distributions

quadruped-0.4.1-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

quadruped-0.4.1-py2-none-any.whl (21.9 kB view details)

Uploaded Python 2

File details

Details for the file quadruped-0.4.1.tar.gz.

File metadata

  • Download URL: quadruped-0.4.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for quadruped-0.4.1.tar.gz
Algorithm Hash digest
SHA256 d3ff2e852c7a462db568af5dfdefb723848cdf890337b7f05a9fb2464c168628
MD5 45194d88760db00d828849f1801a3cfb
BLAKE2b-256 1c609a8bee5476086fb6dd4e7b7c4b59eede17cb5897286deb3a07d0d4cd79b5

See more details on using hashes here.

File details

Details for the file quadruped-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for quadruped-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad6d23959b6010dd0cb58f3834643456071793c71ecb3a09516d95056d1e5979
MD5 1501674a480bd427fc7267fabecad8dd
BLAKE2b-256 7e885c27b1459aabb80360fe10dace0a156bc2dcf2f492171b412b2b2184431f

See more details on using hashes here.

File details

Details for the file quadruped-0.4.1-py2-none-any.whl.

File metadata

File hashes

Hashes for quadruped-0.4.1-py2-none-any.whl
Algorithm Hash digest
SHA256 a3a14841c18d18433e41ee85ca905b49d13e91113f41e58c78e364bfc2e73d22
MD5 f077928f9095ec6898a951b084d65798
BLAKE2b-256 ff699edbf8b11003579943e827908ccde30feabbb00670457ee590abe691e9aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page