New in version 1.2.0
✨ Features
New property
collision detected()to know if a collision occurredNew method
clear_collision_detected()to clear thecollision_detectedflagNew method
__handshake()to initiate the connection between the client and the server.New movements methods which can’t take either PoseObject or JointsPosition objects:
move()replacemove_joints(),move_pose()andmove_linear_pose().
jog(), replacejog_joints()andjog_pose().
pick(), replacepick_from_pose().
place(), replaceplace_from_pose().
execute_trajectory(), replaceexecute_trajectory_from_poses()andexecute_trajectory_from_poses_and_joints().Added an optional parameter
obs_posetovision_pick()Added an optional parameter
linear=Falsetoshift_pose(), replaceshift_linear_pose()Added an optional parameter
linear=Falsetomove_relative(), replacemove_linear_relative()Improved
PoseObjectclass
add a
metadataattribute which carries information about the poseadd
__iter__(),__getitem__()and__len__()methods to make the class an iteratoradd
from_dict()andto_dict()to easily serialize / deserialize the objectadd a
quaternion()function which returns the pose’s rotation quaternionNew
JointsPositionclass. This is the class which have to be used to represent a joints position in the codeAdded a logging system to the library. It replace the previous logs which where simple prints
Added
verboseparameter to theNiryoRobotconstructor. Use it to mute the pyniryo logsAdded support for vacuum pump v2
🛠️ Improvements
Overall better documentation (docstring and sphinx build system)
Replaced all the wildcard imports (
from pyniryo import *) by explicit imports (from pyniryo import NiryoRobot)The error message when a command fail now include the command name. It allow an easier debugging process
All the methods which were taking arrays of float to represent a joints position or a pose can also take a
JointsPositionor apyniryo.api.objects.PoseObjectAdded .style.yapf file
Delete useless CMakeLists.txt
Added a context manager for the robot jog control
Added new functions: *
get_conveyors_feedback()Deprecate
move_relative()
inverse_kinematics()returns a pose v1 andinverse_kinematics_v2()returns a pose v2Revamped unit tests. They are now more readable and more efficient, and more independent from each other
🪲 Bugfixes
Replaced deprecated use of
value in EnumClassbyisinstance(value, EnumClass)The function
save_last_learned_trajectory()didn’t sendnameanddescriptionto the serverThe function
update_trajectory_infos()didn’t sendname,new_nameandnew_descriptionto the serverFix bad conditional requirement on opencv in requirements.txt
Deleted inexistant function percentage_open_gripper
Fixed
set_brightness(),set_contrast()andset_saturation()which were using a deprecated numpy attributeFixed the led ring functions which were returning an empty list instead of None
get_trajectory_saved now returns a list of JointPosition