yanshil / fusion2pybullet Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Hello, I am having the following problem:
Before Running:
After Running:
On the side, you can see the joints go yellow when I run the script. Could this be a reason? Some of the joints were created with the "As-built joint" which results in a rigid joint.
I tried debugging it myself:
But I can't print with ui.messageBox inside the Joint.py file, even if I pass in ui
That's a really nice tool you made, I am sad I just discovered it!
However, I found a small issue or maybe I've missed something :
In Fusion 360 if the document settings are in anything other than mm , the URDF model will not scale.
For example if I use cm as default units in Fusion then the URDF model will be 1/10 the size of the original.
Not a huge deal just good to know.
Thanks again for your work!
I have follow instruction but get same error index-1 out of range...
using fusion2urdf, my project is perfect generated...
Hi i have used your plugin in the past with great success but now (supposetly after latest F360 update) joints are rotated by 90 degrees in the same direction. Please refer to the images below. I deduct the issue is somehow related on fusion2urdf plugin that your plugin is based on since i've got similar results while using the other one.
[EDIT] I will just add that i've also tried without adding assemblies, just every single part imported to the design and joined to the base link. I'am almost sure my joints are set correctly (as i said, I've used the plugin in the past) and i've also doublechecked them with Joint2Grphviz.
I set material in fusion360, but in urdf I just see one material 'silver', and the physical property is different from property in fuison360, for example mass, moment of inertial.
I will appreciate if someone can answer my question.
Hi there,
I am having what seems to be the same joint location calculation issue that was previously fixed. I am using the latest code and the latest fusion. I can successfully create a URDF file, but when placed in a viewer / pybullet the rotation of the joints is incorrect. I have attatched the URDF file that I have generated, and can also provide the fusion file if neccessary.
Thanks
Assembly_urdf_modded.zip
Hi! Thank you for this Addin!
It saves a lot of time, as before we had to export each mesh file in a separate format(via fusion2urdf) in-order for Pybullet to accept the mesh file format. This takes care of it instantaneously.
Although I ran into a joint axes mismatch (below). I think that you can use the mesh exporter that you have here, and fusion2urdf's original code for joint axes and urdf creation and it would be perfect
I have also provided the video of how it should actually look like (which was made with fusion2urdf)
Output: (Please excuse the music. This is my first time using screenrecord application )
Fusion to Pybullet Video:
Fusion to URDF Video:
My modified hello_bullet.py code, video output:
#!/usr/bin/env python3
import pybullet as p
import time
import pybullet_data
physicsClient = p.connect(p.GUI)#or p.DIRECT for non-graphical version
p.setAdditionalSearchPath(pybullet_data.getDataPath()) #optionally
p.setGravity(0,0,0)
# planeId = p.loadURDF("plane.urdf")
cubeStartPos = [0,0,0]
cubeStartOrientation = p.getQuaternionFromEuler([0,0,0])
robotId = p.loadURDF("V14_URDF.urdf",cubeStartPos, cubeStartOrientation,
# useMaximalCoordinates=1, ## New feature in Pybullet
useFixedBase=True,
flags=p.URDF_USE_INERTIA_FROM_FILE)
val = 0
for i in range (10000):
p.stepSimulation()
time.sleep(1./240.)
# for j in range(p.getNumJoints(robotId)):
# p.setJointMotorControl2(robotId,j,controlMode=p.POSITION_CONTROL,targetPosition=val)
# val = val +0.001
p.setJointMotorControl2(robotId,2,controlMode=p.POSITION_CONTROL,targetPosition=val)
val = val +0.001
p.setJointMotorControl2(robotId,3,controlMode=p.POSITION_CONTROL,targetPosition=val)
val = val +0.001
cubePos, cubeOrn = p.getBasePositionAndOrientation(robotId)
print(cubePos,cubeOrn)
p.disconnect()
Warm Regards,
Rohit Kumar J
I am trying to export my biped robot from fusion but I get the following error:
Joint Rigid5: There seems to be an error with the connection between
old_component1
and
servo_v11
Check whether the connections
parent=component2=old_component1
child=cpmponent1=servo_v11
are correct or if you need to swap component1<=>component2
I can't seem to find any error between the connections in the model. Also, I checked the design with Joint2Graphviz, and evrrything looks fine.
The project looks really great and useful, but it's a bit hard to understand how to setup the joints in fusion to make it work. As someone that does use fusion regularly, it is still unclear to me how to name or set up joints. Is a walkthrough available somewhere, or could something be worked on?
Hi! We could add a few preset joint criteria as shown here. Of course, it will need manual tuning to get it even close to being realistic (eg. joint-limits, calibration, damping, effort, etc), But I think this could be a good enhancement. I will try to create a pull request.
Example:
We could just input these values directly and the users can modify them at will. We will need to provide a disclaimer in the Readme file tho.
Warm Regards,
Rohit
Hi,
This looks like a great tool. One issue I have is that it will not run. No error message or anything. I have tried both this version also the stable version. And i have tried it on a simple 4DOF legged robot and also a simple box. The graphwiz does work the the tree structure looks good as far as I can tell.
This is the text output:
digraph G { "base_link" -> "leg_v21leg1" [ label = "Rev1" ]
"base_link" -> "leg_v22leg1" [ label = "Rev2" ]
"base_link" -> "leg_v23leg1" [ label = "Rev3" ]
"base_link" -> "leg_v24leg1" [ label = "Rev4" ]
}
I ensured I have no nested components and that my base_link is called base_link.
Do you have any suggestions on how I might get it to work?
Thanks,
Stephen
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.