-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta http-equiv="refresh" content="0; url = | ||
v1.0.1/index.html" /> | ||
</head> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 84f33302e56879422319ce929e7615cb | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
PyNiryo2 Documentation | ||
================================ | ||
|
||
.. image:: _static/PyNiryo_logo_2.png | ||
:width: 600px | ||
:align: center | ||
|
||
|
||
This documentation presents Ned's PyPi package, which is the second version of the python API Pyniryo for the robots: | ||
Niryo One, Ned and Ned2. It is based on the roslibpy library and allows a more complete programming of the robots. | ||
|
||
It offers a simple way for developers to create programs for robot and | ||
to control them via remote communication from their computers. | ||
Contrary to the Python ROS Wrapper, the user will not need to be connected on the robot | ||
through a terminal. | ||
This API is based on `roslibpy <https://roslibpy.readthedocs.io/en/latest/index.html>`_. | ||
|
||
.. note:: This package is able to control Ned in simulation | ||
as well as the physical robot. | ||
|
||
.. figure:: images/niryo_ned_front.jpg | ||
:alt: Niryo Ned | ||
:height: 400px | ||
:align: center | ||
|
||
Niryo Ned | ||
|
||
.. list-table:: | ||
:header-rows: 1 | ||
:widths: auto | ||
:stub-columns: 0 | ||
:align: center | ||
|
||
* - Functionality | ||
- PyNiryo | ||
- PyNiryo2 | ||
* - Robot control | ||
- **YES** | ||
- **YES** | ||
* - Callbacks functions | ||
- **NO** | ||
- **YES** | ||
* - Parallelism of commands | ||
- **NO** | ||
- **YES** | ||
* - Asynchronous functions | ||
- **NO** | ||
- **YES** | ||
|
||
|
||
Before getting started | ||
---------------------------- | ||
|
||
|
||
| If you haven’t already done so , make sure to learn about | ||
the ROS robot software by reading the |ros_doc|_. | ||
| This documentation also contains everything you need to | ||
know if you want to use Ned through simulation. | ||
|
||
Sections organization | ||
----------------------------------- | ||
|
||
This document is organized in 4 main sections | ||
|
||
Setup | ||
^^^^^^^^^^^ | ||
|
||
Install & Setup your environment in order to use Ned with PyNiryo2. | ||
|
||
Firstly, follow :doc:`Installation instructions <source/setup/installation>`, | ||
then :doc:`find your Robot IP address <source/setup/ip_address>` to be ready. | ||
|
||
.. toctree:: | ||
:caption: Setup | ||
:hidden: | ||
|
||
source/setup/installation | ||
source/setup/ip_address | ||
source/setup/verify_setup | ||
|
||
Examples | ||
^^^^^^^^^^^^^^^ | ||
|
||
Learn how to use the PyNiryo2 package to implement various tasks | ||
|
||
.. toctree:: | ||
:hidden: | ||
:caption: Examples | ||
|
||
source/examples/examples_basics | ||
source/examples/examples_movement | ||
source/examples/examples_tool_action | ||
source/examples/examples_conveyor | ||
source/examples/examples_vision | ||
source/examples/examples_frames | ||
source/examples/code_templates | ||
|
||
API Documentation | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
Master controls with PyNiryo2 with full detailed functions | ||
:doc:`here <source/api_doc/niryo_robot>` | ||
|
||
.. toctree:: | ||
:caption: API Documentation | ||
|
||
source/api_doc/niryo_robot | ||
source/api_doc/niryo_topics | ||
source/api_doc/niryo_ros | ||
source/api_doc/arm | ||
source/api_doc/tool | ||
source/api_doc/vision | ||
source/api_doc/io | ||
source/api_doc/conveyor | ||
source/api_doc/saved_poses | ||
source/api_doc/pick_place | ||
source/api_doc/trajectories | ||
source/api_doc/frames | ||
source/api_doc/led_ring | ||
source/api_doc/sound | ||
|
||
|
||
|
||
|
||
Indices and tables | ||
================== | ||
|
||
* :ref:`genindex` | ||
* :ref:`modindex` | ||
* :ref:`search` | ||
|
||
.. |ros_doc| replace:: Ned's Software documentation | ||
.. _ros_doc: https://docs.niryo.com/ros-doc/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
Arm | ||
===================================== | ||
|
||
This file presents the different :ref:`source/api_doc/arm:Arm - Command functions`, | ||
:ref:`source/api_doc/arm:Arm - Enums`, :ref:`source/api_doc/arm:Arm - Niryo Topics` & :ref:`source/api_doc/arm:Arm - Objects` available with the Arm API | ||
|
||
Arm - Command functions | ||
------------------------------------ | ||
|
||
.. automodule:: pyniryo2.arm.arm | ||
:members: | ||
:noindex: | ||
|
||
|
||
This section reference all existing functions to control your robot arm, which include | ||
|
||
- Getting the robot state | ||
- Moving the arm | ||
- Getting inverse and forward kinematics | ||
- Calibrating the robot | ||
|
||
All functions to control the robot are accessible via an instance of | ||
the class :ref:`source/api_doc/niryo_robot:NiryoRobot` :: | ||
|
||
|
||
robot = NiryoRobot(<robot_ip_address>) | ||
|
||
robot.arm.calibrate_auto() | ||
robot.arm.move_joints([0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) | ||
... | ||
|
||
See examples on :ref:`Examples Section <source/examples/examples_basics:Examples: Basics>` | ||
|
||
List of functions subsections: | ||
|
||
.. contents:: | ||
:local: | ||
:depth: 1 | ||
|
||
.. autoclass:: Arm | ||
|
||
|
||
Calibration functions | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. automethod:: Arm.calibrate | ||
.. automethod:: Arm.calibrate_auto | ||
.. automethod:: Arm.request_new_calibration | ||
.. automethod:: Arm.reset_calibration | ||
.. automethod:: Arm.need_calibration | ||
|
||
Robot move functions | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. automethod:: Arm.set_arm_max_velocity | ||
.. automethod:: Arm.go_to_sleep | ||
.. automethod:: Arm.stop_move | ||
.. automethod:: Arm.move_to_home_pose | ||
.. automethod:: Arm.move_joints | ||
.. automethod:: Arm.move_pose | ||
.. automethod:: Arm.move_linear_pose | ||
.. automethod:: Arm.shift_pose | ||
.. automethod:: Arm.move_relative | ||
.. automethod:: Arm.move_linear_relative | ||
.. automethod:: Arm.set_jog_control | ||
.. automethod:: Arm.jog_joints | ||
.. automethod:: Arm.jog_pose | ||
|
||
|
||
Robot status functions | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. autoproperty:: Arm.hardware_status | ||
.. autoproperty:: Arm.joints_state | ||
.. automethod:: Arm.get_joints | ||
.. autoproperty:: Arm.joints | ||
.. autoproperty:: Arm.pose | ||
.. autoproperty:: Arm.get_pose | ||
.. automethod:: Arm.get_pose_quat | ||
|
||
|
||
Learning mode functions | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. autoproperty:: Arm.learning_mode | ||
.. automethod:: Arm.get_learning_mode | ||
.. automethod:: Arm.set_learning_mode | ||
|
||
|
||
Kinematics functions | ||
^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. automethod:: Arm.forward_kinematics | ||
.. automethod:: Arm.inverse_kinematics | ||
|
||
|
||
Arm - Niryo Topics | ||
------------------------------------ | ||
|
||
The use of these functions is explained in the :ref:`source/api_doc/niryo_topics:NiryoTopic` section. | ||
They allow the acquisition of data in real time by callbacks or by direct call. | ||
|
||
.. list-table:: Arm's Niryo Topics | ||
:header-rows: 1 | ||
:widths: auto | ||
:stub-columns: 0 | ||
:align: center | ||
|
||
* - Name | ||
- Function | ||
- Return type | ||
* - ``/joint_states`` | ||
- :attr:`~.arm.Arm.joints_state` | ||
- :class:`~.arm.objects.JointStateObject` | ||
* - ``/niryo_robot/robot_state`` | ||
- :attr:`~.arm.Arm.get_pose` | ||
- :class:`~.objects.PoseObject` | ||
* - ``/niryo_robot_hardware_interface/hardware_status`` | ||
- :attr:`~.arm.Arm.hardware_status` | ||
- :class:`~.arm.objects.HardwareStatusObject` | ||
* - ``/niryo_robot/learning_mode/state`` | ||
- :attr:`~.arm.Arm.learning_mode` | ||
- :exc:`bool` | ||
* - ``/niryo_robot/max_velocity_scaling_factor`` | ||
- :attr:`~.arm.Arm.get_arm_max_velocity` | ||
- :exc:`float` | ||
|
||
Arm - Enums | ||
------------------------------------ | ||
|
||
List of enums: | ||
|
||
* :class:`~.arm.enums.CalibrateMode` | ||
* :class:`~.arm.enums.RobotAxis` | ||
* :class:`~.arm.enums.JogShift` | ||
|
||
.. automodule:: pyniryo2.arm.enums | ||
:members: | ||
:undoc-members: | ||
:member-order: bysource | ||
:noindex: | ||
|
||
Arm - Objects | ||
------------------------------------ | ||
|
||
* :class:`HardwareStatusObject` | ||
|
||
.. autoclass:: pyniryo2.arm.objects.HardwareStatusObject | ||
|
||
|
||
* :class:`JointStateObject` | ||
|
||
.. autoclass:: pyniryo2.arm.objects.JointStateObject | ||
|
||
* :class:`~.objects.PoseObject` | ||
|
||
.. autoclass:: pyniryo2.objects.PoseObject |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
Conveyor | ||
===================================== | ||
|
||
This file presents the different :ref:`source/api_doc/conveyor:Conveyor - Command functions`, | ||
:ref:`source/api_doc/conveyor:Conveyor - Enums`, :ref:`source/api_doc/conveyor:Conveyor - Niryo Topics` & :ref:`source/api_doc/conveyor:Conveyor - Namedtuple` available with the Arm API | ||
|
||
|
||
Conveyor - Command functions | ||
------------------------------------ | ||
|
||
.. automodule:: pyniryo2.conveyor.conveyor | ||
:members: | ||
:noindex: | ||
|
||
This section reference all existing functions to control your robot, which include | ||
|
||
- Controlling conveyors | ||
|
||
All functions to control the robot are accessible via an instance of | ||
the class :ref:`source/api_doc/niryo_robot:NiryoRobot` :: | ||
|
||
robot = NiryoRobot(<robot_ip_address>) | ||
|
||
conveyor_id = robot.conveyor.set_conveyor() | ||
robot.conveyor.run_conveyor(conveyor_id) | ||
... | ||
|
||
See examples on :ref:`Examples Section <source/examples/examples_conveyor:Examples: Conveyor>` | ||
|
||
List of functions subsections: | ||
|
||
.. contents:: | ||
:local: | ||
:depth: 1 | ||
|
||
Conveyor functions | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
.. autoclass:: Conveyor | ||
:members: set_conveyor, unset_conveyor, run_conveyor, | ||
stop_conveyor, control_conveyor, get_conveyors_feedback, conveyors | ||
:member-order: bysource | ||
|
||
Conveyor - Niryo Topics | ||
------------------------------------ | ||
|
||
The use of these functions is explained in the :ref:`source/api_doc/niryo_topics:NiryoTopic` section. | ||
They allow the acquisition of data in real time by callbacks or by direct call. | ||
|
||
.. list-table:: Conveyors's Niryo Topics | ||
:header-rows: 1 | ||
:widths: auto | ||
:stub-columns: 0 | ||
:align: center | ||
|
||
* - Name | ||
- Function | ||
- Return type | ||
* - ``/niryo_robot/conveyor/feedback`` | ||
- :attr:`~.conveyor.Conveyor.get_conveyors_feedback` | ||
- :exc:`list` [ :class:`~.conveyor.objects.ConveyorInfo` ] | ||
|
||
Conveyor - Enums | ||
------------------------------------ | ||
|
||
List of enums: | ||
|
||
* :class:`~.conveyor.objects.ConveyorID` | ||
* :class:`~.conveyor.objects.ConveyorDirection` | ||
* :class:`~.conveyor.objects.ConveyorStatus` | ||
|
||
.. automodule:: pyniryo2.conveyor.enums | ||
:members: | ||
:undoc-members: | ||
:exclude-members: | ||
:member-order: bysource | ||
:noindex: | ||
|
||
|
||
Conveyor - Namedtuple | ||
------------------------------------ | ||
|
||
.. automodule:: pyniryo2.conveyor.objects | ||
:members: | ||
:no-undoc-members: | ||
:member-order: bysource | ||
:noindex: |