Trajectoires

Ce fichier présente les différentes Trajectoires - Fonctions de Commande disponibles avec l’API des Trajectoires

Trajectoires - Fonctions de Commande

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

  • Effectuer une trajectoire par points d’intérêts lissée

  • Gère les trajectoires sauvegardées

Toutes les fonctions pour contrôler le robot sont accessibles grâce à une instance de la classe NiryoRobot

robot = NiryoRobot(<robot_ip_address>)

trajectories = robot.trajectories.get_saved_trajectory_list()
if len(trajectories) > 0:
    robot.trajectories.execute_trajectory_saved(trajectories[0])
...

Voir des exemples dans la section Section Exemples

Liste des fonctions de sous-sections

Fonctions de Trajectoires

class Trajectories(client, action_timeout=3600)[source]
get_saved_trajectory(trajectory_name)[source]

Obtient la trajectoire sauvegardée dans la mémoire interne du robot. Génère une erreur si la trajectoire n’existe pas

Exemple:

trajectories.get_saved_trajectory("trajectory_01")
Paramètres

trajectory_name (str) – nom de la trajectoire

Lève

NiryoRosWrapperException – Si le fichier de trajectoire n’existe pas.

Renvoie

list de [j1, j2, j3, j4, j5, j6] en radians

Type renvoyé

list[list[float]]

execute_registered_trajectory(trajectory_name, callback=None)[source]

Execute une trajectoire depuis la mémoire du Ned. Si une fonction de rappel n’est pas donnée en paramètre, cette fonction sera bloquante. Sinon, la fonction de rappel sera appelé quand l’exécution de la fonction est terminée.

Exemples:

trajectories.execute_trajectory_saved("trajectory_01")

from threading import Event
trajectory_event = Event()
trajectory_event.clear()

def trajectory_callback(result):
    print(result)
    trajectory_event.set()

trajectories.execute_trajectory_saved("trajectory_01", callback=trajectory_callback)
trajectory_event.wait()
Paramètres

callback (function) – Fonction de rappel lancée en cas de réussite lors de l’exécutio

Type renvoyé

None

execute_trajectory_from_poses(list_poses, dist_smoothing=0.0, callback=None)[source]

Réalise la trajectory à partir d’une liste de positions. Si une fonction de rappel n’est pas passée en paramètre, cette fonction sera bloquante. Sinon la fonction de rappel sera appelé une fois l’exécution de la fonction terminée.

Exemples:

trajectory = [[0.3, 0.1, 0.3, 0., 0., 0., 1.],
              [0.3, -0.1, 0.3, 0., 0., 0., 1.],
              [0.3, -0.1, 0.4, 0., 0., 0., 1.],
              [0.3, 0.1, 0.4, 0., 0., 0., 1.]]

trajectories.execute_trajectory_from_poses(trajectory)
trajectories.execute_trajectory_from_poses(trajectory, dist_smoothing=0.02)
trajectories.execute_trajectory_from_poses([[0.3, 0.1, 0.3, 0., 0., 0., 1.], #[x,y,z,qx,qy,qz,qw]
                                     PoseObject(0.3, -0.1, 0.3, 0., 0., 0.),
                                     [0.3, -0.1, 0.4, 0., 0., 0.], #[x,y,z,roll,pitch,yaw]
                                     PoseObject(0.3, 0.1, 0.4, 0., 0., 0.)])

from threading import Event
trajectory_event = Event()
trajectory_event.clear()

def trajectory_callback(result):
    print(result)
    trajectory_event.set()

trajectories.execute_trajectory_from_poses(trajectory, callback=trajectory_callback)
trajectory_event.wait()
Paramètres
  • callback (function) – Fonction de rappel lancée en cas de réussite lors de l’exécutio

  • list_poses (list[Union[tuple[float], list[float], PoseObject]]) – Liste de: [x,y,z,qx,qy,qz,qw] ou [x,y,z,roll,pitch,yaw] ou PoseObject

  • dist_smoothing (float) – Distance de lissage de la trajectoire des points d epassage

Type renvoyé

None

save_trajectory(trajectory, trajectory_name, description)[source]

Sauvegarde la trajectoire dans la mémoire du robot

Exemples:

trajectory = [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
              [1.57, 0.0, 0.0, 0.0, -1.57, 0.0],
              [-1.57, 0.0, 0.0, 0.0, -1.57, 0.0]]

trajectories.save_trajectory(trajectory, "trajectory_1", "test description trajectory_1")
Paramètres
  • trajectory (list[joints]) – liste des positions des articulations par lesquelles le robotdoit passer dans la trajectoire

  • trajectory_name (str) – nom que vous donnez trajectoire dans la mémoire du robot

  • description (str) – description que vous donnez trajectoire dans la mémoire du robot

Type renvoyé

None

save_last_learned_trajectory(trajectory_name, description)[source]

Sauvegarde la dernière trajectoire apprise, dans la mémoire du robot

Exemples:

trajectories.save_last_learned_trajectory("trajectory_1", "test description trajectory_1")
Paramètres
  • trajectory_name (str) – nom que vous donnez trajectoire dans la mémoire du robot

  • description (str) – description que vous donnez trajectoire dans la mémoire du robot

Type renvoyé

None

delete_trajectory(trajectory_name)[source]

Supprime la trajectoire de la mémoire du robot

Exemple:

if "trajectory_1" in trajectories.get_saved_trajectory_list():
    trajectories.delete_trajectory("trajectory_1")
Type renvoyé

None

clean_trajectory_memory()[source]

Supprime toutes les trajectoires de la mémoire du robot

Exemple:

trajectories.clean_trajectory_memory()
Type renvoyé

None

get_saved_trajectory_list()[source]

Obtient la liste des noms des trajectoires présentent dans la mémoire du robot

Exemple:

if "trajectory_1" in trajectories.get_saved_trajectory_list():
    trajectories.delete_trajectory("trajectory_1")
Renvoie

liste de tuple (nom de la trajectoire, définition de la trajectoire)

Type renvoyé

list[tuple(str, str)]

update_trajectory_infos(name, new_name, description='')[source]

Mettre à jour les informations de la trajectoire : nom et description

Exemple:

trajectories.update_trajectory_infos("trajectory_1", "trajectory_2", callback="change description")
Paramètres
  • name (str) – nom de la trajectoire dont vous souhaitez modifier les infos

  • new_name (str) – nouveau nom que vous voulez donner à la trajectoire

  • description (str) – nouvelle description que vous voulez donner à la trajectoire

Type renvoyé

None