Skip to content

Commit 1f01359

Browse files
author
Nuofan
committed
Update method description
1 parent f350a5e commit 1f01359

6 files changed

+32
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

MethodExplanation.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22
Fusion 360 API provides a unified way to return informations that can be used in URDF and SDFormat. All the coordinates, vectors is represented w.r.t world coordinate, which is the coordinate of the root component.
33
Thus, to make all these information is suitable for robot description format, some coordinates transformations are necessory.
44

5-
## Fusion360 Assembly Structure
5+
## Fusion 360 Assembly Structure
6+
Fusion 360 API provides the ability to access design model kinematics and dynamics information that is necessay for robot description format. All the elements are represented w.r.t root component frame (world frame).
7+
One of the benefits of this way to define elements is that information only depends on the definition of world frame, does not rely on other elements such as parent link.
8+
This decoupled way reduces constraints in the modelling process.
69

10+
![Fusion 360 model structure](./pictures/Fusion360-Link-Joint-Model.png)
711

812
## URDF Structure
913
URDF (Unified Robot Description Format) is a xml-based format to describe a robot. It is the most widely-used robot description format and supported by plentiful simulators. Although [URDF's specifications](http://wiki.ros.org/urdf/XML) has been expanded with abilities to model sensors and describe robot state, it is mostly used with `joint` and `link` elements in a tree structure.
14+
![URDF-Link-Joint-Model](./pictures/URDF-Link-Joint-Model.png)
1015

1116
Basic elements that match with a Fusion360 design are listed below:
1217
- `<robot>`: the root element of a robot, with the required `name` attribute
@@ -28,9 +33,13 @@ Basic elements that match with a Fusion360 design are listed below:
2833
- `<child>`: the child link which is defined by `link` attribute using the link name
2934
- `<limit>`: defines the joint limitations by `lower`, `upper`, `effort`, and `velocity` attributes
3035

36+
URDF defines child link(joint) information relied on parent link information, this makes information representation in URDF concise, but creates constrains to model robot using URDF.
37+
3138
## SDF Structure
3239
SDFormat (Simulation Description format) is a xml-based format that can contain information not only about robots but also about environments. Its [specifications](http://sdformat.org/spec) are similar to URDF but with more abilities. Here we focus on the element `<model>` which mostly represents the robot.
3340

41+
![SDF-Link-Joint-Model](./pictures/SDF-Link-Joint-Model.png)
42+
3443
Although the `<model>` element of SDFormat has more sub-elements to describe a robot, here we only introduce basic elements that can match a Fusion360 design.
3544
- `<model>`: model element is used to define a complete robot or any other physical object. The `name` attribute is required.
3645
- `<link>`: represents robot's link inside `<model>` element with the required `name` attribute.
@@ -60,4 +69,22 @@ Although the `<model>` element of SDFormat has more sub-elements to describe a r
6069
- `<limit>`: defines the limits of the joint with this axis
6170
- `<lower>`: lower joint limit (radians for revolute joints, meters for prismatic joints)
6271
- `<upper>`: upper joint limit (radians for revolute joints, meters for prismatic joints)
63-
- `<pose>`: defines the joint frame *J*. By default, the joint frame is expressed in the child link frame
72+
- `<pose>`: defines the joint frame *J*. By default, the joint frame is expressed in the child link frame
73+
74+
## Fusion 360 to URDF
75+
| URDF Element | Fusion 360 Elements | Transformation |
76+
| ------------ | ------------------- | -------------- |
77+
| Joint *i* origin $^{L_{i-1}}T_{J_{i}}$| $^{W}T_{L_{i-1}}$, $^{W}T_{J_{i}}$ | $^{L_{i-1}}T_{J_{i}} = {(^{W}T_{L_{i-1}})}^{T} \cdot {^{W}T_{J_{i}}}$ |
78+
| Joint *i* axis $^{J_{i}}\vec{a}$| $^{W}\vec{a}$, $^{W}T_{J_{i}}$| $^{J_{i}}\vec{a} = {(^{W}T_{J_{i}})}^{T} \cdot ^{W}\vec{a}$ |
79+
| Link *i*'s inertial origin $^{J_{i}}{T_{L_{i}CoM}}$ | $^{W}T_{J_{i}}$, $^{W}{T_{L_{i}CoM}}$ | $^{J_{i}}{T_{L_{i}CoM}} = {(^{W}T_{J_{i}})^{T}} \cdot {^{W}{T_{L_{i}CoM}}}$ |
80+
|Link *i*'s visual origin $^{J_{i}}T_{L_{i}}$ | $^{W}T_{J_{i}}$, $^{W}T_{L_{i}}$ | $^{J_{i}}T_{L_{i}} = {(^{W}T_{J_{i}})^{T}} \cdot {^{W}T_{L_{i}}}$ |
81+
|Link *i*'s collision origin $^{J_{i}}T_{L_{i}}$ | $^{W}T_{J_{i}}$, $^{W}T_{L_{i}}$ | $^{J_{i}}T_{L_{i}} = {(^{W}T_{J_{i}})^{T}} \cdot {^{W}T_{L_{i}}}$ |
82+
83+
## Fusion 360 to SDFormat
84+
| SDF Element | Fusion 360 Elements | Transformation |
85+
| ----------- | ------------------- | -------------- |
86+
| Joint *i* pose $^{L_{i}}T_{J_{iC}}$ | $^{W}T_{L_{i}}$, $^{W}T_{J_{iC}}$ | $^{L_{i}}T_{J_{iC}} = {(^{W}T_{L_{i}})^{T}} \cdot {^{W}T_{J_{iC}}}$|
87+
| Joint *i* axis1 $^{J_{iC}}\vec{a_1}$| $^{W}\vec{a_1}$, $^{W}T_{J_{iC}}$ | $^{J_{iC}}\vec{a_1} = {(^{W}T_{J_{iC}})^{T}} \cdot {^{W}\vec{a_1}}$ |
88+
| Joint *i* axis1 $^{J_{iC}}\vec{a_2}$| $^{W}\vec{a_2}$, $^{W}T_{J_{iC}}$ | $^{J_{iC}}\vec{a_2} = {(^{W}T_{J_{iC}})^{T}} \cdot {^{W}\vec{a_2}}$ |
89+
| Link *i*'s pose $^{W}T_{L_{i}}$ | $^{W}T_{L_{i}}$ | $^{W}T_{L_{i}} = {^{W}T_{L_{i}}}$ |
90+
| Link *i*'s inertial pose $^{L_{i}}T_{L_{i}COM}$ | $^{W}T_{L_{i}}$, $^{W}{T_{L_{i}CoM}}$ | $^{L_{i}}T_{L_{i}COM} = {(^{W}T_{L_{i}})^{T}} \cdot {^{W}{T_{L_{i}CoM}}}$ |

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# ACDC4Robot: Automated Conversion of Description Conventions for Robots from Design to Learning
1+
# Fusion2Robot
2+
<!-- Alternative name# ACDC4Robot: Automated Conversion of Description Conventions for Robots from Design to Learning -->
23

34
## Introduction
45
Robot description format (RDF) contains information about robot model which is required by simulation, visualization, planning etc. In this project, we provide a Fusion360 Add-In for generating robot description files automatically from robot design.
44.2 KB
Loading

pictures/SDF-Link-Joint-Model.png

30.1 KB
Loading

pictures/URDF-Link-Joint-Model.png

25.4 KB
Loading

0 commit comments

Comments
 (0)