Skip to content
Open

Doc #55

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
068689e
add more details
dogoepp Nov 17, 2015
df3cb18
Skeleton for the documentation and ignore generated files
dogoepp Nov 17, 2015
c4f272d
germ of tutorials
dogoepp Nov 17, 2015
be4bc62
move information about baud rates to the reference
dogoepp Nov 17, 2015
d40a3ba
flatter structure
dogoepp Nov 17, 2015
1532b4d
update skeleton for the documetation
dogoepp Mar 6, 2017
97f998a
allow cross-links to limbo
dogoepp Mar 6, 2017
b3f990c
add link to repository
dogoepp Mar 6, 2017
973e1d6
fill download and compilation tutorial based on limbo's
dogoepp Mar 6, 2017
fdf324f
minor addition
dogoepp Mar 6, 2017
b878593
draft of explanation of the architecture
dogoepp Mar 6, 2017
5ef8479
Merge branch 'master' into doc
dogoepp Mar 13, 2017
eb3c81a
Merging with master after addition of header detection
dogoepp Mar 13, 2017
7bb5d7f
add Doxygen in sphinx
jbmouret Mar 13, 2017
30700a8
Doxygen OK for errors
jbmouret Mar 13, 2017
d645159
Merge branch 'doc' of https://github.com/jbmouret/libdynamixel into doc
jbmouret Mar 13, 2017
44f2f5b
Low-level API draft of the documentation
jbmouret Mar 13, 2017
4cc3a2e
add a link to the API in the documentation
jbmouret Mar 13, 2017
7994824
remove the modules from the index
jbmouret Mar 13, 2017
d20ee27
First try for high level tutorial
costashatz Mar 13, 2017
bdda43e
high-level API (doc)
jbmouret Mar 13, 2017
897dbf2
Merge branch 'doc' of https://github.com/jbmouret/libdynamixel into doc
jbmouret Mar 13, 2017
7c939bd
High level tutorial complete
costashatz Mar 13, 2017
6585865
Minor fix in configuration
costashatz Mar 13, 2017
93f5d1c
High level tutorial more
costashatz Mar 13, 2017
5d5ec38
Make Boost dependency optional -- it is used only in command line uti…
costashatz Mar 13, 2017
305d9cc
Fixes in tut for compilation
costashatz Mar 13, 2017
2c187e1
Better name for file of high level tut
costashatz Mar 13, 2017
7f367ee
Low level tutorial
costashatz Mar 13, 2017
819f0ae
work on the doc of the API
jbmouret Mar 13, 2017
91e42f5
Merge branch 'doc' of https://github.com/jbmouret/libdynamixel into doc
jbmouret Mar 13, 2017
af913a7
work on the doc of the API
jbmouret Mar 13, 2017
f1c594d
Titles
costashatz Mar 13, 2017
2229fb7
Merge branch 'doc' of github.com:resibots/libdynamixel into doc
costashatz Mar 13, 2017
cd95254
Ignore doxygen generated folder
costashatz Mar 13, 2017
d0351b7
Starting polishing quickstart
costashatz Mar 13, 2017
aae2037
More to quickstarts
costashatz Mar 13, 2017
99012ee
introduction to the architecture
dogoepp Mar 13, 2017
9ab2ac5
better naming
dogoepp Mar 13, 2017
aa06575
fix titles
dogoepp Mar 13, 2017
03f777b
typo
dogoepp Mar 13, 2017
1071e2f
document baudrate for usb2dynamixel
dogoepp Mar 13, 2017
9bafa44
improve the README
jbmouret Mar 13, 2017
7958091
improve the README
jbmouret Mar 13, 2017
78d8698
Merge branch 'doc' of https://github.com/jbmouret/libdynamixel into doc
jbmouret Mar 13, 2017
1bac001
link to the sdk
jbmouret Mar 13, 2017
f883aa2
test with an image
jbmouret Mar 13, 2017
20e19b9
add a picture
jbmouret Mar 13, 2017
192e073
test picture again
jbmouret Mar 13, 2017
169e0f6
add link to Limbo
dogoepp Mar 16, 2017
1df91e0
Merge branch 'doc' of github.com:resibots/libdynamixel into doc
dogoepp Mar 16, 2017
0bf4919
relative path for picture
dogoepp Mar 16, 2017
76c3a99
missing newlines
dogoepp Mar 16, 2017
f61db69
move ROS interface
dogoepp Mar 16, 2017
1074f83
remove udev rule
dogoepp Mar 16, 2017
49529ed
alternative software is a list
dogoepp Mar 16, 2017
0a7c9a9
make documentation header into a link
dogoepp Mar 16, 2017
66bacce
details in the code's doxygen comments
dogoepp Mar 16, 2017
e99d401
syntactic improvements
dogoepp Mar 16, 2017
d53d8bd
move API doc from low level to high level
dogoepp Mar 16, 2017
d167044
correct class name
dogoepp Mar 17, 2017
a094539
fix exception class in doxygen
dogoepp Mar 17, 2017
8a882fd
a todo
dogoepp Apr 28, 2017
9b80a3a
minor rephrase
dogoepp Apr 28, 2017
24712eb
links to USB2AX
dogoepp Apr 28, 2017
ab00256
more on controllers
dogoepp Apr 28, 2017
52b0594
list all supported servis and their control table fields
dogoepp Apr 28, 2017
10d1fa5
refine high level API doc
dogoepp Apr 28, 2017
05ca1d7
updated API
dogoepp Apr 28, 2017
cb18b58
update print syntax
dogoepp Apr 28, 2017
3e059a7
link anchor for cross-referencing
dogoepp Apr 28, 2017
a6ee5fe
adding get_baudrate_id
dogoepp Apr 28, 2017
bf5e8eb
a note on the need of USB2Dynamixel
dogoepp Apr 28, 2017
00f51ef
doxygen comment for baudrate utility
dogoepp Apr 28, 2017
277857a
removed CSS terms (checked that it was not mandatory)
jbmouret Jul 9, 2018
8cf6ec8
merge with the last master
jbmouret Jul 23, 2018
0280c3f
revert a bad commit (tests on mac)
jbmouret Jul 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@ build/
# Clang-format style files
.clang-format

# Generated content of the documentation
_build/
doxygen_doc/
# Visual Studio code
.vscode
.vscode
89 changes: 89 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
libdynamixel
============
libdynamixel is a C++11, header-only interface to the `Dynamixel <http://en.robotis.com/index/product.php?cate_code=101010>`_ actuators that aims at being lightweight and highly flexible. This library is NOT the `official dynamixel SDK provided by Robotis <https://github.com/ROBOTIS-GIT/DynamixelSDK>`_, but it provides a similar service.

This library is for Unix-like systems (GNU/Linux and Mac OSX)

We also provide a simple command-line tool that allows to change the IDs, the baudrate, the control mode, the position, etc.

Main features
===============

* Support for Dynamixel series AX, MX, EX, XL and Pro
* Support for all instructions and messages of both version 1 and 2 of the Dynamixel communication protocol (including torque control, speed control, etc.)
* Full C++11 API
* An optional ROS interface (hardware interface) is available in a separate repository (`dynamixel_control_hw <https://github.com/resibots/dynamixel_control_hw/>`_).

`Documentation <http://www.resibots.eu/libdynamixel>`_
==============
The full documentation (including tutorials, guides, and API) is available on the `ResiBots website <http://www.resibots.eu/libdynamixel>`_


Projects using this library
===========================

.. image:: doc/pics/three_robots.png
:alt: ResiBots Robots
:align: center


This library is used in most of the robots designed in ERC project `ResiBots <http://www.resibots.eu/photos.html>`_ (funded by the European Research Council), in particular :

* several 18-DOFs hexapod robots (based on MX-28 actuators);
* a mobile manipulator based on Dynamixel Pro actuators and the Kuka Youbot (omnidirectionnal platform);
* a wheel-legged hybrid robot (based on MX-128 actuators);
* several small arms (based on Crustcrawler kits and MX actuators).

*We would be pleased to hear from you if you use this library in one of your projects.*

Scientific publications
-----------------------
This library has been used in many scientific publications, in particular:

* Cully, A., Clune, J. Tarapore, D. and Mouret, J.-B.. "Robots that can adapt like animals." *Nature* 521, no. 7553 (2015): 503-507.
* Cully, A., and J-B. Mouret. "Evolving a Behavioral Repertoire for a Walking Robot." Evolutionary computation (2016).
* Koos, S. and Cully, A. and Mouret, J.-B. (2013). "Fast Damage Recovery in Robotics with the T-Resilience Algorithm". *International Journal of Robotics Research*. Vol 32 No 14 Pages 1700-1723.
* Koos, S. and Mouret, J.-B. and Doncieux, S. (2013). "The Transferability Approach: Crossing the Reality Gap in Evolutionary Robotics". *IEEE Transactions on Evolutionary Computation*. Vol 17 No 1 Pages 122 - 145
* Koos, S. and Mouret, J-B. (2011). "Online Discovery of Locomotion Modes for Wheel-Legged Hybrid Robots: a Transferability-based Approach". *Proceedings of CLAWAR*, World Scientific Publishing Co., publisher. Pages 70-77.
* Koos, S. and Mouret, J.-B. and Doncieux, S. (2010). "Crossing the Reality Gap in Evolutionary Robotics by Promoting Transferable Controllers". *GECCO'10: Proceedings of the 12th annual conference on Genetic and evolutionary computation* ACM, publisher . Pages 119--126.

*Please let us know if you use this library in a scientific publication.*

Building
========
Dependencies :

* python2.x
* C++
* Boost C++

.. highlight:: shell

The build system for this library is Waf. Don't run away yet. It has the big advantage of requiring no more than Python installed on your computer. If you run a GNU/Linux OS or Mac OS, you should already have it. Here is how we compile and install it:

1. configuration
run ``./waf configure`` and add ``--prefix PATH/TO/INSTALL`` if you want to install it to a specific location
2. compilation
is as easy as ``./waf``
3. installation
is simply done with ``./waf install``, with the required rights (might need sudo if you install globally)
4. setup the proper authorisation
please ensure that you have the proper rights to access the serial interfaces. On GNU/Linux, you might have to add your user to the `dialout` group and log out.

You get the ``dynamixel`` toolset and the demo programms compiled in the ``build/default/src`` folder.

Support
=======
This library is actively used and regularly developped. If you need some help, feel free to `fill an issue <https://github.com/resibots/libdynamixel/issues/new>`_ on this repository. We'll do our best to be responsive.

Alternative software
====================

* Inria FLOWERS team developped `pybot <http://poppy-project.github.io/poppy-docs/pypot/doc/index.html>`_, a python library to control a Dynamixel-based robot.
* The official `Robotis SDK <https://github.com/ROBOTIS-GIT/DynamixelSDK>`_.

License and authors
===================
This work is distributed under the terms of the `CeCILL-C <http://www.cecill.info/licences.en.html>`_ license. © UPMC and Inria.

The authors for this library are Jean-Baptiste Mouret, Antoine Cully, Federico Allocati and Dorian Goepp.
Loading