Coder Social home page Coder Social logo

spotmicrojetson's Introduction

SpotMicroAI - Road Balance version

news

  • There's Full video instruction about this project youtube link
  • And also there's Notion Note for whole project process Notion Link
  • Those Contents above are written in Korean

SpotForward

Abstract:

Let's build quadruped robot. Only requires few low-cost parts and this repository :)

Hardware:

The hardware for SpotMicroAI is designed to be both aesthetically pleasing as well as easily obtainable and readily available. Wherever possible standard screws, bolts, and bearings are used. Standard hobby grade servos are currently used for locomotion in development however, they don't appear to have sufficient power to drive the robot at more than the slowest speeds. Other options are currently being investigated (including high-voltage and brushless hobby servos typically used with RC cars) which we hope will lead to a balance between an economical as well as robust robot.

The vast majority of the hardware by volume is designed to be 3D printed. So far complete prints have been successful in PLA, though no technical barriers should exist to printing the robot in other material such as PETG, nylon, ABS, etc. The majority of parts require significant supports to print.

The files available both as STL and STP. As a community we have not yet settled on a servo for this project and therefore multiple versions of the hardware exist to support the physical dimensions of the servos and their respective servo horns. For the most up-to-date version of the hardware please visit: https://www.thingiverse.com/thing:3761340. Please see documentation for details as to which files correspond to which servo.

BOM for Korean Commerce is added and here's the google spreadsheet link

Electronics:

The Jetson Nano operates at 5v, and the PCA9658 for driving the servomotor operates at 6v. In this project, the electronic department was constructed using 7.9v LiPo batteries and LM2596 DC Converter.

PyBullet Simulation:

PyBullet Simulation

Before making the actual robot, we recommend experimenting with the kinematics and walking mechanism of the robot through simulation, and added a simulated environment built with pybullets to this end.

The walking mechanism can be understood through the adjustment of several parameters in simulation, and SpotMicro can also be controlled by the keyboard.

Real Robots

SkyWalk

Finally, it's time to have a real robot and run it. Before uploading and operating the software after assembly, the debugging points such as calibration, center of gravity, and component placement of servo motor are organized and written in Readme file.


Reference && Community

This repository originally forked from FlorianWilk's Jetson Nano SpotMicro Project

COMPLETE DOCUMENTATION AND GETTING STARTED GUIDES CAN BE FOUND AT: https://spotmicroai.readthedocs.io/en/latest/

spotmicroai.readthedocs.io

The best place to get started is to read the getting started documentation at spotmicroai.readthedocs.io. The documentation will eventually contain a complete tutorial for building a SpotMicroAI including where to source components, links to most recent 3D files for printing, assembly, and installing the software. It's being updated as we go.

For questions or more information please see the Forums at SpotMicroAI.org, or asked on slack. Join our slack at: https://spotmicroai-inviter.herokuapp.com/

Logo

BostonDynamics Spot robot: https://www.youtube.com/watch?v=wlkCQXHEgjA

Can you make it dance? join the challenge: https://www.youtube.com/watch?v=kHBcVlqpvZ8&list=PLp5v7U2tXHs3BYfe93GZwuUZLGsisapic&index=2

Original idea by KDY0523 https://www.thingiverse.com/thing:3445283

Some of the community videos: https://www.youtube.com/playlist?list=PLp5v7U2tXHs3BYfe93GZwuUZLGsisapic

This is the repository for simulation code, usually in combination with nVIDIA Jetson Nano board, of SpotMicro project.

In here you can find all the project repositories: https://gitlab.com/custom_robots/spotmicro

Community:

The primary community discussions take place on SpotMicro.org. The message boards there contain a repository of topics which span hardware and software.

Real-time question-and-answer (or as close to real time as is possible when run by volunteers with full-time jobs and families) can happen on slack (LINK coming soon).

Other questions occasionally surface on other location such as on Thingiverse or on robotshop.com. We do our best answers these as we see them, but if you want to be heard the best way is either on SpotMicro.org or on slack.

As a community we do have some small expenses such as web hosting fees and occasional developing fees. In the future, we would also like to hold events and competitions. To anyone who finds enjoyment or education in this project we appreciate the financial support you're able to give. Donations coming soon.

All donations stay in the community and go towards future development.

If you use this worker will any work derived from it in academic publication please cite it as: insert citation here.

spotmicrojetson's People

Contributors

kimsooyoung avatar siddarth09 avatar ssh98son avatar yyohany 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

Watchers

 avatar  avatar  avatar  avatar

spotmicrojetson's Issues

Had a doubt regarding the motion command

I was looking at all the program files pertaining to the motion command, I didn't get what was 'Lp' in the code. If you could please help me out it would be great. Also, are there any resources that can help me set up the cmd_vel topic for the spot?

모터 변경 후 frequency 문제

pca = list()
pca.append(PCA9685(i2c_bus0, address=0x40))
pca[-1].frequency = 330

모터를 CLS-200MD로 변경하여 구동을 하고 있는데, 위 모터는 frequency가 310으로 입력해야 제대로 동작을 합니다.

그래서 start_automatic_gait.py을 실행시키면 over180, under0가 지속적으로 나옵니다.

구동코드에서 frequency를 변경해줘야 할거같은데, 어디서 변경을 진행해야 하는가요?

그리고 확인해보니 CLS-200MD와 MG996R 두가지 모터가 회전방향이 서로 반대인데, 이부분은 어떻게 수정을 해야할까요?

automatic_gait 실행시 kinematics 모듈 실행 불가에러

안녕하세요 automatic_gait.py를 실행하는데 지속적으로 no moduled not found kinematics.kinematics as kn 에러가 발생합니다. 우선은 지침을 모두 다 따라서 설치 하였지만 해당 임포트 에러가 지속적으로 발생하여 도움을 요청합니다. 제가 어느부분을 잘못한것인가요?

(lee-env) lee@lee-desktop:~/SpotMicroJetson/JetsonNano$ python start_automatic_gait.py
Traceback (most recent call last):
File "start_automatic_gait.py", line 18, in
import Kinematics.Kinematics as kn
ModuleNotFoundError: No module named 'Kinematics.Kinematics'

개발환경 :제슨나노
에러 : kinmatics모듈 로드불가로인한 시스템 구동 불가

requirements.txt실행시 오류가 발생합니다.

Jetson Nano 사용중이며
강의자료에 나와있는 순서대로 작업을 진행했습니다.

(test_env) spot@spot-desktop:~/SpotMicroJetson/JetsonNano$ pip3 install -U -r requirements.txt
Collecting numpy-stl (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/8f/4b/885cfe0754b1692cb47eb1666d7b1beece4c8eeb99cffddc31ccc8725d23/numpy-stl-2.13.0.tar.gz (477kB)
100% |████████████████████████████████| 481kB 816kB/s
Collecting matplotlib (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/7b/b3/7c48f648bf83f39d4385e0169d1b68218b838e185047f7f613b1cfc57947/matplotlib-3.3.3.tar.gz (37.9MB)
100% |████████████████████████████████| 37.9MB 13kB/s

Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-9y1jf38v/numpy-1.20.0rc1/setup.py", line 30, in <module>
    from setuptools import setup, find_packages, Extension
RuntimeError: Python version >= 3.7 required.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-u4n_e7fk/matplotlib/setup.py", line 298, in <module>
    cmdclass=cmdclass,
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/__init__.py", line 128, in setup
    _install_setup_requires(attrs)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires
    dist.fetch_build_eggs(dist.setup_requires)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/dist.py", line 513, in fetch_build_eggs
    replace_conflicting=True,
  File "/home/spot/test_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 774, in resolve
    replace_conflicting=replace_conflicting
  File "/home/spot/test_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1057, in best_match
    return self.obtain(req, installer)
  File "/home/spot/test_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1069, in obtain
    return installer(requirement)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/dist.py", line 580, in fetch_build_egg
    return cmd.easy_install(req)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 698, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 724, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 909, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1177, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1163, in run_setup
    run_setup(setup_script, args)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 253, in run_setup
    raise
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 166, in save_modules
    saved_exc.resume()
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 141, in resume
    six.reraise(type, exc, self._tb)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/_vendor/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/spot/test_env/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-9y1jf38v/numpy-1.20.0rc1/setup.py", line 30, in <module>
    from setuptools import setup, find_packages, Extension
RuntimeError: Python version >= 3.7 required.

Edit setup.cfg to change the build options; suppress output with --quiet.

BUILDING MATPLOTLIB
  matplotlib: yes [3.3.3]
      python: yes [3.6.9 (default, Oct  8 2020, 12:12:24)  [GCC 8.4.0]]
    platform: yes [linux]
 sample_data: yes [installing]
       tests: no  [skipping due to configuration]
      macosx: no  [Mac OS-X only]


----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-u4n_e7fk/matplotlib/
위의 오류가 발생합니다.

모터드라이버문의

안녕하세요
동작중 모터드라이버pca9685가 타는일이생겨문의드립니다.
cls모터를사용하였고 pca에는 약 5V를 V+에연결하여 6개의모터를 동작시켰는데요
부하를 조금받자마자 드라이버소손이 발생했습니다.
5V로는 cls모터가충분한출력토크생성을못하는것같은데 혹시 다른방법이있을지문의드립니다. 그리고 충분한 토크생성이안될경우 저와같이 소손이일어날수있는지도궁금합니다. 감사합니다

Pybullet 오동작입니다.

b
a
안녕하세요.
g.camp강의로 알게됐습니다만, Pybullet 시뮬실행하면 첨부사진처럼 공중에떠있어 w,s 눌러도 이동이 안되고 허공에서 동작하는데, 바닥으로 내릴방법은 없는지요?
좋은 강의 감사드리며 방법아시면 답변부탁드리겠습니다.

특정 자세 추가 방법.

space를 입력하면 초기 자세로 돌아가는 것 처럼 특정 키를 입력하면 특정자세를 취하도록 하고 싶은데,

어디를 추가해야하는지 모르겠네요.

multiprocess_kb.py에 while 문 안에 self.resetStatus() 처럼 추가하면 될거같은데,

특정자세의 각도 등을 어떻게 입력을 해야하는지 감이 안잡히네요.

no module

Screenshot from 2021-06-03 15-32-15
그림과 같이 모듈이 없다고 나오는데 어떻게 해야 할까요?

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.