New in version 1.2.0
✨ Features
New property
collision detected()
to know if a collision occurredNew method
clear_collision_detected()
to clear thecollision_detected
flagNew 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_pose
tovision_pick()
Added an optional parameter
linear=False
toshift_pose()
, replaceshift_linear_pose()
Added an optional parameter
linear=False
tomove_relative()
, replacemove_linear_relative()
Improved
PoseObject
class
add a
metadata
attribute 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
JointsPosition
class. 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
verbose
parameter to theNiryoRobot
constructor. 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
JointsPosition
or apyniryo.api.objects.PoseObject
Added .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 EnumClass
byisinstance(value, EnumClass)
The function
save_last_learned_trajectory()
didn’t sendname
anddescription
to the serverThe function
update_trajectory_infos()
didn’t sendname
,new_name
andnew_description
to 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