Giter Club home page Giter Club logo

stanforddoggoproject's People

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  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

stanforddoggoproject's Issues

Question about the custom frabricated Parts

Hello, I'm on the road to rebuild Doggo. And I have bought a 3D printer, but when I download the model of the custom parts. There are two files that seem not available. They are "Outer Coaxial Tube (Set of 4)" and "3D printed 48T outer pulley":
image
image

The files in these two links are ".temp"(seems not work), where can I get this two complete files?

PS: Would the Doggo works well if I use PLA to print all the 3D printed parts?

Thank You!!

Motor initial position for robot gait

Hi all,

We have prepared everything and assembled the robot. However, currently we have a problem on setting the inital motor position for starting the robot gaits.

Is there anyone knowing how to set up the intial motor position. As far as we know, every time the robot is powered on, the encoder has to calibrate the motor position. It seems that the motor intial position depends on how the legs are manullay placed at the time of powering on. Is that true? Is there a way to sufficiently guarantee that the robot legs can be automatically and correctly configured to a right place no matter how legs are placed when the robot is powered on.

Thanks a lot.

BoM information

Is there any information available on the costs involved in building this little machine? I heard from the video that it wouldn't be more than $3k which is well above what the average tinkerer can afford. I'm not sure what exactly would justify the costs of the current setup but I'm hoping that having some information about it would help figure out how to lower the costs eventually for less demanding environments.

ICRA Paper

Hi Nathan,

Great work you did here! I was wondering if you're planning to share the ICRA paper (or at least a preprint) soon. I'd love to see it.

Thanks!

Regarding current flow amperage of each motor

Hi Nate and team,

I'm trying to build a doggo here, while checking ODrive part, I found that the battery have a peak working current of 75A, each battery supplies four motors. But banana connectors from ODrive to motor is 3.5mm which allow 30A continuous current. This is a bit unclear to follow.

Do we have any test results on how much cuurent each motor draw from the drive? Thanks.

Edit:
Also, I found it hard to figure out how the battery power is distributed to PDB and ODrive boards.
As I have experience working with quadcopter, I can think of some schemes that work, but still, i'm curious how you guys will distribute battery power.

My idea:
Battery#1
.....|
Contactor
.....|-PDB
.....|--ODrive#1
.....|--ODrive#2

Battery#2
.....|--ODrive#3
.....|--ODrive#4

Is this correct?

Some problem in ODrive config.

Hi, I had some trouble in Odrive config. I run "full_calibration"(odrive/tool/doggo_setup.py) and test motor by "set_pos_position" like this:
odrv.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
odrv.axis1.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(2000.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(2000.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(0.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(0.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(-2000, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(-2000.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(0.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(0.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(4000.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(4000.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(0.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(0.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(-4000, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(-4000.0, 0.0, 0.0)
time.sleep(3)
odrv.axis0.controller.set_pos_setpoint(0.0, 0.0, 0.0)
odrv.axis1.controller.set_pos_setpoint(0.0, 0.0, 0.0)

But the motor sometimes will go crazy and the vel_limit doesn't seem to work. I exchanged the connection of two motor and ODrive, but the motor still go crazy randomly, and not sure which one will. It seems problem is not enconder failure. When I config single axis of ODrive, there is no problem.
And I also don't understand what's the difference between the flag "startup_encoder_index_search" and "startup_encoder_offset_calibration".

Revisions: V2 Motor & Shaft Assemblies

There are a few minor issues in the Shaft, Leg, and Motor assemblies. They range from minor disagreement with the BOM, to a construction tree error.

I'll start with the simplest first:

Leg Assembly:

  • Set Screws missing from assembly.
    - Part #: 94180A333 Cup Point Set Screw
    - This item is present in BOM, but not assembly.

Motor Assembly:

  • Pulley Bracket missing from BOM
    - This part is present in assembly, but not BOM.
    - Part material needs specification: 3dp or Aluminum

  • Lower AS5047 needs mounting nuts
    image

  • Misaligned bolt in upper AS5047 plate
    Part: single plate design > Screws > 92095A181 (1):17
    image

  • Phantom component: Pulley Brace (Aluminum):1 & 2
    image

  • Phantom bodies
    Parts: REV 2 Small Pulley Print, REV 2 Small Pulley LONG Print
    Bodies: 1 & 2

Coaxial Assembly

image

  • 1. Inner shaft: Unintended hole

  • 2. Outer shaft: Unintended 0.5mm web

  • 3. Inner shaft: Missing dowel pin
    - This part is present in BOM, but not assembly
    - Part number: 93600A455
    - Needs interference fit sizing

    • Suggested Fix (file available upon request):
        1. I've removed the inner shaft from the extrude feature which creates the outer shaft's set screw hole
        1. I've perform the outer shaft set screw feature after the outer shaft revolve feature which creates the bearing shoulder
        1. I've added a dowel pin hole hole in the inner shaft, and extend the inner shaft shaft 2 mm past the pulley body as a part holding feature during dowel pin installation
          image

[ ] Outer Big Pulley: BOM collision
- Assembly has: 94510A310 (Brass Screw-to-Expand Inserts)
- BOM has: 94180A333 (Heat-Set Inserts)

[ ] Inner shaft spacer missing from BOM
- Assembly Name: Spacer (1)
- Needs material spec: 3dp or 16.6x12.6x1 Steel washer

[ ] Duplicate Component: SDP_a_6a53m048nf0908 and Rev 2 SDP_a_6a53m048nf0908:1 are identical

[ ] 6704 Bearings: Bom Collision
- Model Specifies 6704-ZZ (Non-Contacting Metal Shield)
- Bom specifies 6704-2RS (2-sided rubber seal)
- Model likely needs updating (2RS is better for this application)

how to use microcontroller to read encoder data from Odrive?

Hi. Nice job! I have a problem with using microcontrollers to communicate with Odrive. I try to read encoder data by following the example given in the Odrive Arduino library. However, no matter what happens, whether the motor is moving or not, the return data is always 0. I have checked the connections by using the Odrive tool for PC, and it can read the encoder data properly. Do you have any suggestions for me? Thanks.

Issue with StanfordDoggoOuterBigPulley.stl.step

Hi!! Thanks for sharing the doggo project to the public. My team is currently facing difficulty in printing StanfordDoggoOuterBigPulley.stl.step as the file appears to be corrupted. Do you have any advice regarding this?
image
I used the download link from the shared BOM

BOM map to CAD

Dear Aaron,
Thanks so much for the great project.
Now I am plan to rebuild the Doggo . I checked the BOM ,but it is hard to map with the CAD,due to missing uniqe component ID. Especially for some small objects. For example in CAD, what is the object under encoder? : Full Doggo Assembly v170/single plate design v471:1/AS5048A v26:4/Component2:1

Is it possible to export a BOM from the CAD and then you give some comment in that BOM ? Or add more information in the CAD file .

Minor design flaw in CAD

Hi gents, while trying to get myself confident with the design (maybe I want to rebuild doggo :-), I found this:

SDP_a_6a53m048nf098
blue: SDP intersects with Outer Leg Shaft
red: SDPs intersect with each other

I trust you have fixed this after printing.

No data sent on Uart1 to Odrive

Hi, Nate711, and the team, I met a problem and do not know why.I have tested the Odrive board with doggo_setup.py, and it looks good. I connected one Odrive board with one motor and the Teensy board through Uart1, then power on. I run the Teensy, and then it started with the led flashing and command line prompts normally. However, the motor has no any movings
or actions. I send command H, or T, or others, still the motor has no response. I use oscilloscope to check the signals on Pin0(RX1) and Pin1(TX1) of Teensy, the signals keep high without any changing all the time. So I can confirm that there is no UART data sent on Pin1 and no data received on Pin0. What is the reason that no data sent on UART 1 of Teensy? Thanks. BEN

about BOM spreadsheet

Hello, thank you very much for providing all the materials of your wonderful work.
My friend and i are going to follow you to make a Doggo, but now we meet some problems.
1.We found that the V3.5 ODrives is not available in online shop, so we plan to buy V3.6 ODrives. Which voltage version is better? 56V or 24V? Should i buy it with connectors?
2.When i checked your BOM spreadsheet, i found that there were two 2mW Wire Antenna. But in README.md you said you used a 5mW Xbee. Which one is correct?
3.The product model of minitactor in BOM spreadsheet is P115Bda while in README.md is P105, which one is correct?
4.I can't find the BNO080 IMU in BOM spreadsheet, but i believed it was used in Doggo and you forgot to write it in the BOM spreadsheet, right?
Thank you very much!

How to calibrate the legs automatically

As using ABI interface on encoders , the leg can only be calibrated to a spectical(actually I put it at) position manually before powering on , or it will keep the position when power is on as its start position and never go to the ideal one . However , the odrive firmware did not have SPI support .
So how to solve it .....

FLIP command the parameters set?

Dear everyone!
Doggo comman 'H' and 'W' are right. The 'F' command doggo is not good. The parameters use the software defualt value {0.15, 0.07, 0.06, 0.2, 0.0, 1.0, 0.0}, // FLIP;whitch value should change.

Thanks.

Wiring Schematics Redux

In issue #18 @bestjinx asks whether there is a circuit schematic for doggo. In issue #20, @HelloPlanet contributed a tentative pinout. I'd like to address the lack of schematic, and propose a way forward towards a community contributed schematic.

In particular, I'd like to entertain the theory that:

  1. There has simply been no need for a formal cad schematic so far / a schematic has been considered out of scope
    • The system uses a breadboard, and has a pretty simple communication pin layout which is encoded in the firmware
    • This would be clear to the designers and people conducting a serious review
    • A schematic would however be a great benefit for hobbyists / students
    • But! Tt would be a substantial labor
    • As such it may be out of scope for doggo designers' current goals

Continuing this line of thought:

  1. We may have an opportunity to contribute a cad diagram as a community. Some notes towards this:
    a) The teensy's pinouts for the AS5047D-TS_EK_AB IMU are mapped here. Note that the current generation doggo BOM does not include the IMU.
    b) Teensy -> Odrive serial ports get mapped here.
    c) The Xbee is connected to the Teensy via the teensy's USB host port, and simply relays USB serial commands to the Teensy (see this)

  2. Last, but certainly not least, the electrical diagram we find in the Doggo Paper shows us that b) and c) are the only data connections in doggo. The rest of the connections are power connections that we can infer with relative ease.

image

A formal CAD model would be a crucial step in reducing hobbyist/student expertise barriers, and would open the way for a fully integrated open source circuit board with no breadboard component.

@bestjinx, @kigerzh, @HelloPlanet - Would you three be interested in helping an effort to reverse engineer the circuit schematic, if necessary?

@Nate711 @CrazyAZ - what would you guys recommend here? Can we get your blessings on an open schematic for doggo?

Is there specific wiring schemetics?

Amazing project!

Where can I find the specific wiring schematics diagram? I'm a bit confusing about the wiring things such as how to connect the Teensy Controller with the four Odrives.

Voltage information

Looking though the docs and the BOM, I'm trying to see the voltage needed to drive the motor controllers. You referenced 48v on the git, but the motor drivers are only 24v. Are you driving each controller through a separate battery? Do you have a better wiring schematic?

How to let the Motor Run? I just want test the system can run success?

Dear Nate711
I just want test the system can run success,next is my operating。But the motor can't run.
Witch of the parameters is necessary to let the motor run?
I use one odrive3.5-24V(Flash firmware success)(tup.config)
image

One motor(is MN5212-KV340) connent to M0,one as5047d lock on moto and connect the M0 ABZ. use the power source is 150W。I send 'H' command(Teensy3.5 can receive the command)。
Odrive connet Teensy3.5 with UART1。
But the motor don't run. Some of parameters which should i set can let the motor run.

AS5047D Lock on the motor The ABI connect the ODrive M0 ABZ;Motro connect M0。
image

AS5047D I PIN is always low
the AB pin wave in picture。
image

I use the Teensy3.5(#define IMU_VERBOSE 1) power on,Receive the message
image

next send HOP command,receive the message
image

Thank You!!!

Turning

Repeat of Nate711/Doggo#39

Is the doggo able to rotate on the spot, or take arcing trajectories?

If no, are there any suggestions on how one might help contribute that functionality? My team and I are replicating doggo and if this is a meaningful contribution we can hopefully spare some manpower to try to develop this capability.

Linkage foot silicone rubber hardness?

Hi Nate and team,

As i have mentioned, I'm working on building a Doggo. (Yay! Thanks!)

While choosing silicone material for Doggo's feet,
I noticed the silicone rubber in BOM, Dragon Skin™ 30,
has a hardness of Shore Hardness 30A.

As i haven't placed order yet, the options I have is from 30A to 90A.
Do I need to choose harder or softer rubber? Please advise. Thanks!

Issue with V2.0 CAD

Hi all,

It looks like Doggo's v2 CAD model is experiencing some issues - From the web viewer:

image

image

Description:

  • There are left-translated copies of the right motor & shaft assemblies and the forward sheet metal component
  • Affected items are translated forward relative to the side plates and legs
  • Affected items are canted WRT the right side plate, so that their right mating faces are vertical
  • All other parts and sub-assemblies appear properly positioned

image
image

The DXF export of the v2 cad shows the same issues. I could not check the file in A360 due to the "Access Denied" issue.

I could eventually rebuild the model's assembly tree if necessary. Before I do that:

  • Can anyone else confirm the issue?
  • If the issue is more than an A360 cache glitch, is a repaired model available?

Issue with the Odrive custom firmware based on version 0.4.0

Hello Nate711,

I flashed your Odrive custom firmware based on version 0.4.0, but it sometimes caused the uncontrolled spinning of some motors. These motors will spin up to full speed if I use odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL. I tested the firmware of version 0.4.0-master, it still happened. But after I flashed version 0.4.11-master, it works. So maybe some problems existed in version 0.4.0.

I'm very sorry to ask if you can migrate your changes to version 0.4.11. Or is there another way to solve this problem?

Thank you so much.

Where is pcb?

Hello, I really like this open source project, I want to know how to find the PCB? I am in China, I think my manufacturing costs are lower.

11111

Encoder mount doesn't fit

image
As shown in the image and the CAD file, there is no space between the upper motor and the side panel, which results in no space to put nuts to fix the encoder mount.

About the belt model

First thank you for making the doggo open source.
Then,My friends and I are planning to make one.
Now I want to check if the belt is this model:

3mm - GT®2 Timing Belts
A 6R53M070060

thank you
Looking forward to your reply

Wondering about the reasoning behind part selections

Awesome project! I'm looking to take a crack at building Doggo, but as $3k is a lot for a humble hobbyist, I'm looking to cut costs/reuse parts I already have. It'd be great to know why you chose certain parts, so I can understand what I'm trading off.

  • Motors

    • ~$800 is a lot! Are there specific advantages to using the T-Motor MN5212 KV340 over motors with the same stator size from another brand? Are there other ways one could cut cost here?
  • Legs

    • Why do they need to be aluminum? I'd guess it has something to do with handling high torque, like with the braces-- if so, are there many scenarios in which the legs would be so stressed (besides jumping / falling)?
    • MIT's Super Mini Cheetah walked around on plastic legs. No backflips, though :)
  • ODrive Controllers

    • I have some SaberTooth and RoboClaw motor controllers from some old projects. How does ODrive outperform its contemporaries?
    • (although honestly, are my controllers even comparable? They're so much fatter than the ODrive)?

Thanks again for sharing your work and taking questions!

Motor Spacer

Can someone tell me whether the Motor Spacer is in purchasing list.
Screenshot (22)

T-Motor MN5212 Not Available

Hi,

The suggested T-Motor MN 5212 is currently unavailable in Amazon. Can you give another one to replace it?

Thanks,
Yiyi

Missing components in item list

Hi,

When we repeat the dog, we can not find some components in item list.

  1. Inner Leg Shaft
  2. Harness Mount
    They all can be found in fusion CAD, but not in item list.

Thanks,
Yiyi

Belts Skipping teeth

@Nate711 @pslade2 @CrazyAZ I just completed the assembly. The issue is the belts are skipping teeth when I try to Trot using default parameters. The robot does stand on its own without any issue, the skipping only takes place at high velocities. I am using the provided 3D Printed Brace and HTD 3M Belts. Can you please help me?

How did you machine the pulley brace?

image
First thank you very much for making the doggo open source.
I am a little confused because this pulley brace seems to have two version: the aluminum one and the ABS plastic one. Which one are you using in the current version? And how did you assemble this part with the bearings? Thanks.

Teensy serial monitor is blank

Hello Nate, I have tried building the firmware using Platformio on both Vs code and Atom. The build was successful without errors and uploaded to the board. Even after successful build and upload. Nothing shows up in the serial monitor, and the led on board is not blinking. what might be the cause? please help me fix this. I am on the verge of completing this project.

Error when open the fusion model version2

Hello,I try to use Autodesk Fusion 360 to open the fusion model version2 for more details of Doggo.But when I upload the 'Full Doggo Assembly.f3z' in the Autodesk Fusion 360 the error comes:

image
Do know how can I solve this problem?
Thanks!

doggo_setup.py doesn't work?

I use ODrvie V3.6-56V and burn the modified firmware. When I run the doggo_setup.py script, it just runs the motor calibration (beep~) and exit. It seems haven't finished all the programs. Should it still have encoder calibration?. I check the errors in odrivetool, no error.

Question of the hardware list

Hello,the project is very great and interesting.And I'm planning to rebuilt following the gudie.You give a hardware list and two version of the Autodesk fusion archive of Doggo.I am some confused about that which version is the hardware list for.Waiting for your answer,Thanks very much!

Unknown component in CAD

what is the object under encoder? Is it magnet ? Its path in the CAD : Full Doggo Assembly v170/single plate design v471:1/AS5048A v26:4/Component2:1

The output value of the encoder fluctuates greatly!!

Hi. It is a nice job. I am trying to make a doggo, but I meet a problem. I am using AS5047P as the encoder, but the output value of the encoder changes a lot. For example, if I set the position at 1000, the output value fluctuates around 1000 and the fluctuation range is around 50. I find the motor jittering. Is it normal? How can I stop it? Now, I am ready to buy the shielded wire. Maybe, it will work. I need your help.

Custom ODrive Firmware build with binary protocol?

Hi Nate and team,

I've cloned your fork of ODrive software from this repo, and was trying to build the "custom binary protocol firmware" and flash it to my ODrives.

Upon building, the config file says
CONFIG_UART_PROTOCOL=ascii

do i need to change this, or should i just build and flash with default config?

Thanks.

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.