Outil

Ce fichier présente les différentes Outil - Fonctions de contrôle, Outil - Enumerations & Outil - Topics Niryo disponible avec l’outil

Outil - Fonctions de contrôle

Cette section fait référence à toutes les fonctions de contrôle du robot existante, ce qui inclut

  • Utilise les outils

  • Utilise les préhenseurs

  • Utilise la pompe à vide

  • Utilise l’électroaimant

  • Gestion du PCO

Toutes les fonctions de contrôle du robot sont accessibles grâce à une instance class NiryoRobot

robot = NiryoRobot(<robot_ip_address>)

robot.tool.update_tool()
robot.tool.grasp_with_tool()
robot.tool.release_with_tool()
...

Voir des exemples sur Examples Section

Liste des fonctions de sous-sections

class Tool(client)[source]

Fonctions des outils

Exemple:

ros_instance = NiryoRos("10.10.10.10") # Hotspot
tool_interface = Tool(ros_instance)
Paramètres

client (NiryoRos) – Client Niryo ROS

Fonctions des outils

Tool.update_tool(callback=None, errback=None, timeout=None)[source]

Mise à jour de l’outil équipé

Exemple:

# Synchronous use
tool.update_tool()

# Asynchronous use
def update_tool_callback(result):
    if result["status"] < RobotErrors.SUCCESS.value:
        print("Update failed")
    else:
        print("Update completed with success")

tool.update_tool(update_tool_callback)
Paramètres
  • callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

  • errback (function) – Fonction de retour appelé en cas d’erreur lors de l’exécution

  • timeout – Délai d’exécution de l’opération, en secondes. Utilisé seulement en cas de blocage

Type renvoyé

None

property Tool.tool
Renvoie

Identifiant de l’outil équipé

Type renvoyé

ToolID

property Tool.get_current_tool_id

Retourne le client de l’identifiant de l’outil équipé qui peut être utilisé de manière synchrone ou asynchrone pour récupérer l’identifiant de l’outil équipé.Le topic retourne un attribut du ToolID enum

Exemple:

# Get last value
tool.get_current_tool_id()
tool.get_current_tool_id.value

# Subscribe a callback
def tool_id_callback(tool_id_object):
    print tool_id_object

tool.get_current_tool_id.subscribe(tool_id_callback)
tool.get_current_tool_id.unsubscribe()
Renvoie

Instance du topic de l’identifiant de l’outil

Type renvoyé

NiryoTopic

Tool.grasp_with_tool(callback=None)[source]

Saisie avec outil. Cette action correspond à - Ferme le préhenseur pour Préhenseurs - Aspire l’air pour la pompe à vide - Active l’électroaimant si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.grasp_with_tool()

def tool_callback(_msg)
    print("Grasped") 

tool.grasp_with_tool(callback=tool_callback)
Paramètres

callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Tool.release_with_tool(callback=None)[source]

Saisie avec outil. Cette action correspond à - Ferme le préhenseur pour Préhenseurs - Aspire l’air pour la pompe à vide - Active l’électroaimant si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.release_with_tool()

def tool_callback(_msg)
    print("Released")

tool.release_with_tool(callback=tool_callback)
Paramètres

callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Fonctions des Préhenseurs

Tool.open_gripper(speed=500, max_torque_percentage=100, hold_torque_percentage=30, callback=None)[source]

Ouvre le préhenseur associé au préhenseur équipé avec une vitesse “vitesse”. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.open_gripper()

# Niryo One and Ned
tool.open_gripper(speed=850)

# Ned2
tool.open_gripper(max_torque_percentage=100, hold_torque_percentage=50)

def tool_callback(_msg)
    print("Released")

tool.open_gripper(callback=tool_callback)
Paramètres
  • speed (int) – Entre 100 et 1000 (uniquement pour le Niryo one et le Ned 1)

  • max_torque_percentage (int) – Pourcentage de couple de fermeture (uniquement pour le Ned2)

  • hold_torque_percentage (int) – Pourcentage de couple de maintient après fermeture (uniquement pour le Ned2)

  • callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Tool.close_gripper(speed=500, max_torque_percentage=100, hold_torque_percentage=30, callback=None)[source]

Ferme le préhenseur associé au “gripper_id” à la vitesse “vitesse”. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.close_gripper()

# Niryo One and Ned
tool.close_gripper(speed=850)

# Ned2
tool.close_gripper(max_torque_percentage=100, hold_torque_percentage=50)

def tool_callback(_msg)
    print("Grasped")

tool.close_gripper(callback=tool_callback)
Paramètres
  • speed (int) – Entre 100 et 1000 (uniquement pour le Niryo one et le Ned 1)

  • max_torque_percentage (int) – Pourcentage de couple d’ouverture (uniquement pour le Ned2)

  • hold_torque_percentage (int) – Pourcentage de couple de maintient après ouverture (uniquement pour le Ned2)

  • callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Fonctions de la Pompe à vide

Tool.pull_air_vacuum_pump(callback=None)[source]

Aspire l’air de la pompe à vide. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.pull_air_vacuum_pump()

def tool_callback(_msg)
    print("Grasped")

tool.pull_air_vacuum_pump(callback=tool_callback)
Paramètres

callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Tool.push_air_vacuum_pump(callback=None)[source]

Relâche l’air de la pompe à vide. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.update_tool()
tool.push_air_vacuum_pump()

def tool_callback(_msg)
    print("Released")

tool.push_air_vacuum_pump(callback=tool_callback)
Paramètres

callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Fonctions de l’électroaimant

Tool.setup_electromagnet(pin_id)[source]

Installe l’électroaimant sur une broche

Exemple:

tool.setup_electromagnet(PinID.GPIO_1A)
Paramètres

pin_id (PinID) –

Type renvoyé

None

Tool.activate_electromagnet(pin_id=None, callback=None)[source]

Active l’électroaimant associé à electromagnet_id sur le pin_id. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.setup_electromagnet(PinID.GPIO_1A)
tool.activate_electromagnet()
tool.activate_electromagnet(PinID.GPIO_1A)

def tool_callback(_msg)
    print("Grasped") 

tool.activate_electromagnet(callback=tool_callback)
Paramètres
  • pin_id (PinID) –

  • callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Tool.deactivate_electromagnet(pin_id=None, callback=None)[source]

Désactive l’électroaimant associé à electromagnet_id sur le pin_id. Si une fonction de retour n’est pas passé en paramètre, la fonction sera bloquée. Sinon, la fonction de retour sera appelé quand l’exécuton de la fonction est finie.

Exemple:

tool.setup_electromagnet(PinID.GPIO_1A)
tool.deactivate_electromagnet()
tool.deactivate_electromagnet(PinID.GPIO_1A)

def tool_callback(_msg)
    print("Deactivated")

tool.deactivate_electromagnet(callback=tool_callback)
Paramètres
  • pin_id (PinID) –

  • callback (function) – Fonction de retour appelé en cas de réussite lors de l’exécution

Type renvoyé

None

Fonctions du PCO

Tool.enable_tcp(enable=True)[source]

Active ou désactive la fonction PCO (Point Central de l’Outil). Si une activation est demandée, la dernière valeur pour le PCO va être appliquée. Par défaut la valeur dépend du préhenseur équipé. Si la désactivation est demandée, le PCO va coincider avec le repère “tool_link”.

Paramètres

enable (Bool) – True pour activer, False pour désactiver.

Type renvoyé

None

Tool.set_tcp(*args)[source]

Active la fonction de PCO (Point Central de l’Outil) et définit la transformation entre le repère “tool_link” et le repère du PCO.

Exemple:

tool.set_tcp(0.02, 0.0, 0.03, 0.0, 1.57, 0.0)
tool.set_tcp([0.02, 0.0, 0.03, 0.0, 1.57, 0.0])
tool.set_tcp(PoseObject(0.02, 0.0, 0.03, 0.0, 1.57, 0.0))
Paramètres

args (Union[tuple[float], list[float], PoseObject]) – Soit 6 arguments (1 pour chaque coordonnées) ou une liste de 6 coordonnées ou un PoseObject

Type renvoyé

None

Tool.reset_tcp()[source]

Réinitialise la transformation appliquée au PCO (Point Central de l’Outil). La valeur par défaut dépend de l’outil actuellement équipé.

Type renvoyé

None

Outil - Topics Niryo

L’utilisation de ces fonctions est expliqué dans la section NiryoTopic. Elles permettent l’acquisition de données en temps réel par des fonctions de rappel ou des appels directs

Topics Niryo pour les Outils

Nom

Fonction

Type du retour

/niryo_robot_tools_commander/current_id

get_current_tool_id

ToolID

Outil - Enumerations

Liste des enumerations

  • ToolID

  • ToolCommand

class ToolID(value)[source]

Enumeration des identifiants des Outils

NONE = 0
GRIPPER_1 = 11
GRIPPER_2 = 12
GRIPPER_3 = 13
GRIPPER_4 = 14
ELECTROMAGNET_1 = 30
VACUUM_PUMP_1 = 31
class ToolCommand(value)[source]

Une enumeration

OPEN_GRIPPER = 1
CLOSE_GRIPPER = 2
PULL_AIR_VACUUM_PUMP = 10
PUSH_AIR_VACUUM_PUMP = 11
SETUP_DIGITAL_IO = 20
ACTIVATE_DIGITAL_IO = 21
DEACTIVATE_DIGITAL_IO = 22