End Effector Interface

This package handles the End Effector Panel of a robot, it is supported from Ned 2.
It provides services and topics specific to the End Effector Panel in order to be used by a final user.
However, it does not deal with the low level bus communication with the components: this is done in the TTL Driver package.

End Effector Interface node (For development and debug)

The ROS Node in End Effector Interface Package is used to:
  • Instantiate a TTL Driver manager to communicate with hardware.
  • Initialize End Effector Interface.

End Effector Interface Core

It is instantiated in Niryo Robot Hardware Interface package.

It has been conceived to:
  • Interface with TTL Driver.
  • Initialize End Effector parameters.
  • Retrieve End Effector data from TTL driver.
  • Publish the status of buttons.
  • Publish the collision detection status.
  • Start service on IO State.

It belongs to the ROS namespace: /end_effector_interface/.

Parameters - End Effector Interface

end_effector_interface’s Parameters
Name Description
end_effector_id
Id of the End Effector in TTL bus
Default: 0
check_end_effector_status_frequency
Frequency to get the End Effector from driver
Default: 40.0
button_2__type
Button used to activate the FreeMotion mode
Default: free_drive
button_1__type
Button used to save the actual position of the robot
Default: save_position
button_0__type
Custom Button used by users to do something
Default: custom
hardware_type
Type of the End Effector. It can be end_effector or fake_end_effector
Default: end_effector

Published topics - End Effector Interface

end_effector_interface Package Published Topics
Name Message Type Description
/niryo_robot_hardware_interface/end_effector_interface/_free_drive_button_state_publisher EEButtonStatus Publishes state of Free Motion Button
/niryo_robot_hardware_interface/end_effector_interface/_save_button_state_publisher EEButtonStatus Publishes state of Save Position Button
/niryo_robot_hardware_interface/end_effector_interface/_custom_button_state_publisher EEButtonStatus Publishes state of Custom Button
/niryo_robot_hardware_interface/end_effector_interface/_digital_out_publisher EEIOState Publishes state of IO Digital

Services - End Effector Interface

end_effector_interface Package Services
Name Service Type Description
set_ee_io_state SetEEDigitalOut Set up digital output on End Effector

Dependencies - End Effector Interface

Services & Messages files - End Effector Interface

SetEEDigitalOut (Service)

bool data
---
bool state

EEButtonStatus (Message)

uint8 HANDLE_HELD_ACTION=0
uint8 LONG_PUSH_ACTION=1
uint8 SINGLE_PUSH_ACTION=2
uint8 DOUBLE_PUSH_ACTION=3
uint8 NO_ACTION=100

uint8 action

EEIOState (Message)

bool digital_input
bool digital_output