Release notes
Version 5.7.3 - 2025/03/10
Améliorations
- refacto : Utilisation de roslibpy au lieu de rospy
Bug Fixes
Fix : le registre modbus des convoyeurs qui crashait
Fix : Publication sur le topic quand le service update_program est appelé
Version 5.7.1 - 2025/02/17
Améliorations
- Verifie la validité de la trajectoire avant de l’exécuter et affiche un message d’erreur si un des points est en dehors de la limite
- Pas de wait_for dans les noeuds des constructeurs. Utilisation à la place de callback / lazy loading
- Expose le topic /niryo_robot_led_ring/led_ring_status à travers le led ring ros wrapper pour les 3 propriétés suivantes :
– is_autonomous
– animation_mode
– color
- Expose le service /niryo_robot_led_ring/set_user_animation à travers le led ring ros wrapper avec la fonction set_user_animation. Toutes les fonctions d’animation de niveau supérieur utilisent celle-ci en interne.
- Nouveau programme de démonstration, qui effectue les mêmes actions que le précédent mais de manière plus lisible dans le programme
- Le programme de démonstration est également unique pour tous les robots.
- Ajouter les fonctions manquantes à l’objet JointsPosition pour le rendre compatible avec set attr.
- Désactive le timeout de la WebSocket client.
- Ajout optional: true à l’interface eth.
Bug Fixes
Fix une typo dans le service client arm commander ce qui previent au service d’être appelé pendant l’arret du robot et lors de l’utilisation de ros wrapper
Corrigé la transformation de la pointe de calibration du Ned3pro.
Fix un bug dans robot_state publisher ce qui évite une alerte quand on divise par 0
Résolution de plusieurs bugs liés à la simulation du robot qui l’empechait de fonctionner correctement
Ajout d’accessoires manquants dans la simulation
Le package Modbus n’est plus démarré pendant la simulation
Fixed the control loop which is not releasing its lock if the loop frequency is too fast
Fix les boucles de contrôle qui ne libéraient pas son verrouillage si la fréquence de la boucle était trop rapide.
Les moteurs fictifs ne nécessitent plus d’être calibrés en simulation.
Vérifie si un fichier audio est vide avant de le charger.
Le end effector continuait de publier l’état des boutons pendant que le calibrage est en cours.
Un bug empêchait l’API cloud de mettre à jour ses valeurs S/N et rasp_id
Correction : dhcp_server_reachable est plus fiable.
Version 5.7.0 - 2024/12/09
Improvements
- Improve /niryo_robot/conveyor/feedback reactivity when a conveyor is added or removed
- Added convenience function NiryoRosWrapper.init_with_node which init a ros node and returns a NiryoRosWrapper instance
- Deprecate NiryoRosWrapper.move_relative
- Added a param normalize=True to NiryoRosWrapper.msg_from_pose
- Add security checks to NiryoRosWrapper.unset_conveyor and NiryoRosWrapper.control_conveyor
- NiryoRosWrapper.get_conveyors_feedback now returns a list of dict instead of a list of ConveyorFeedback messages
- Added the following functions to the TCP server:
- GET_POSE_V2
- FORWARD_KINEMATICS_V2
- INVERSE_KINEMATICS_V2
- GET_TCP
- GET_CONVEYORS_FEEDBACK
- Revert –robot_type arg deletion but set it deprecated to avoid breaking changes
Bug Fixes
- Fixed wrong camera and gripper transforms in Ned3pro and Ned2’s URDF for simulation
- Fixed a bug which prevented the jog feature to work
- Use lazy loading from database when getting the joints home position settings to prevent a bug where the robot was unable to access the database at boot time
- Ned3pro digital inputs are now not inverted
- Fixed the jog features
- Fixed NiryoRosWrapper.__get_obj_from_args which didn’t work with JointsPosition
- Fixed NiryoRosWrapper.forward_kinematics which returned v2 metadata despite being a v1 pose
- Fixed NiryoRosWrapper.inverse_kinematics which returned was converting poses to v2 before doing the inverse kinematics
- Fixed a bug in Pose which was allocating the same instance of PoseMetadata when using the constructor’s default metadata value
- Fixed a bug where memory was allocated and not freed each time the program player’s node tried to connect to an inexistant device
- Fixed a bug in Tool ROS wrapper which was not using the correct service type when calling tool reboot service
- Use correct message type for ros subscriber in arm_state
- WifiClient.get_configured_networks now parse correctly SSIDs with characters different than `[0-9a-zA-Z- ]`
- Missing type for environment default insertion in base.py
- Fixed a bug which caused to set the default ethernet mode to DHCP instead of AUTO if not in DB
- WifiClient can handle SSIDs with any unicode characters
Version 5.6.2 - 2024/10/01
Improvements
- Add utility script to configure the robot’s firewall
- Add the ability to allow or prevent multiple NS clients to connect to the robot
- Add utility script to configure the ability to allow or prevent multiple NS clients to connect to the robot simultaneously
- Add database migration to the updater script
- The robot hostname is now dynamically set at boot time. It uses the following format: <robot_type>-<rasp_id>
- Added a mDNS service to allow the robot to be discovered on the network
- Added topic /niryo_robot/max_acceleration_scaling_factor to check current acceleration percentage
- Refacto of the wifi button handling: the name reflects its real job, managing solely the hotspot
- Disabled torque of steppers not being calibrated during factory calibration
- S3Client: Use internet connection observable to check if the robot is connected to the internet
- S3Client: Use SystemctlWrapper to restart NTP service (used to sync the Raspberry Pi’s clock)
- WebSocket: Return an acknowledge message on the register event containing the robot’s info (name, rasp_id, hw_version)
- Allow multiple NS clients without needing to restart the service
- New config handling: use lazy loading for variables dependent on other variables
- AllowedNSClientsObservable now has a callback for external database updates
- Add remaining number of NS available connections
Bug Fixes
Fix: use forward_kinematics_v2 in __ros_poses_from_robot_positions
Fix: P changes in DXL’s PID
Fixed a bug while setting acceleration from the /niryo_robot_arm_commander/set_acceleration_factor service, which always set it to 40%
Fixed the conveyors’ direction, which was inverted in the Modbus server
Fixed PoseMetada.from_dict, which wasn’t passing the ‘frame’ argument when using a PoseMetadata.v1
Fixed collision thresholds settings that weren’t correctly calling the setting of the 2nd threshold with the wrong datatype
Fixed a bug in __hotspot_state_callback that still processed the API response even if the request failed
Fixed tools transforms for Ned3 Pro
Fixed a missing offset in the URDF for Ned3 Pro
Fixed a goal tolerance too low for joint 1
Fix: increase remaining_ns_clients_slots instead of decreasing it
Fixed a misuse of Marker instead of Prefix in the S3Client
Fixed type errors in some standard_response calls
UpdateManager no longer bypasses the config_file_manager
Safe deserialization in the SocketIO event
Correct type hint for __auto_control_loop_thread