Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rdeits/rigidbodytreeinspector.jl
Simple visualization for the RigidBodyDynamics.jl library
https://github.com/rdeits/rigidbodytreeinspector.jl
ijulia julia robotics urdf visualization
Last synced: about 1 month ago
JSON representation
Simple visualization for the RigidBodyDynamics.jl library
- Host: GitHub
- URL: https://github.com/rdeits/rigidbodytreeinspector.jl
- Owner: rdeits
- License: other
- Created: 2016-05-18T19:40:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-08T17:20:18.000Z (almost 5 years ago)
- Last Synced: 2024-10-10T05:35:21.061Z (about 1 month ago)
- Topics: ijulia, julia, robotics, urdf, visualization
- Language: Julia
- Size: 530 KB
- Stars: 13
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
# RigidBodyTreeInspector
[![Build Status](https://travis-ci.org/rdeits/RigidBodyTreeInspector.jl.svg?branch=master)](https://travis-ci.org/rdeits/RigidBodyTreeInspector.jl)
[![codecov.io](https://codecov.io/github/rdeits/RigidBodyTreeInspector.jl/coverage.svg?branch=master)](https://codecov.io/github/rdeits/RigidBodyTreeInspector.jl?branch=master)---
**Note:** This package should still work, but development has moved to [MeshCatMechanisms.jl](https://github.com/JuliaRobotics/MeshCatMechanisms.jl) which offers more features and fewer binary dependencies. New users are encouraged to use MeshCatMechanisms.jl instead of this package.
---
This package provides a simple tool for inspecting and manipulating the kinematic structure of a robot inside of an [IJulia](https://github.com/JuliaLang/IJulia.jl) notebook. It relies on several other packages to provide this functionality:
* [tkoolen/RigidBodyDynamics.jl](https://github.com/tkoolen/RigidBodyDynamics.jl) to parse and represent kinematic structures
* [RobotLocomotion/director](https://github.com/RobotLocomotion/director) for 3D visualization
* [rdeits/DrakeVisualizer.jl](https://github.com/rdeits/DrakeVisualizer.jl) to communicate with `director`
* [rdeits/LCMCore.jl](https://github.com/rdeits/LCMCore.jl) for message-passing and communication## Demos
For detailed examples of usage, check out the IJulia notebook demos in [examples](https://github.com/rdeits/RigidBodyTreeInspector.jl/tree/master/examples).
# Examples
Here we show the three different visualization modes available in this package. In each case, we'll be looking at the NASA Valkyrie robot, which we loaded from the URDF files in . These results are all taken from [examples/urdf.ipynb](https://github.com/rdeits/RigidBodyTreeInspector.jl/blob/master/examples/urdf.ipynb)
### Pure kinematic skeleton
This visualization shows every joint in the model as a sphere, with a cylindrical rod between every pair of connected joints. It's useful primarily for inspecting the way various joints and bodies can move.
![valkyrie skeleton](img/val_skeleton.png)
When rendered inside an IJulia notebook, a slider is created for each joint in the model:
![inspector sliders](img/sliders.png)
### Inertial ellipsoids
The inertial visualization adds to every link on the robot an ellipsoid which would have the same mass and rotational inertia as the robot's actual link. Note that different ellipsoids may have different densities, so this may produce strange results for robot links that have large rotational inertias but small masses (like the fingers in the Valkyrie model):
![valkyrie inertia](img/val_inertia.png)
### Meshes
Finally, we can render the actual meshes for each link in the robot:
![valkyrie meshes](img/val_mesh.png)