Tools Interface

This package handles Niryo’s tools.

Tools interface node (Only for development and debugging)

The ROS Node is used to:
  • initialize the Tool Interface.

  • start ROS stuffs like services, topics.

Tools Interface Core

It is instantiated by the Niryo Robot Hardware Interface node.

The node:
  • initializes the Tool Interface.

  • provides services for setting and controlling tools.

  • publishes tools states.

It belongs to the ROS namespace: /tools_interface.

Tools motors configuration

Niryo tools are equipped with dynamixels servomotors, therefore they can be configured following the dynamixel protocol.

Here is are the parameters for the motors of all the Niryo robot tools:

 1tools_params:
 2    id_list: [11,12,13,31,32]
 3    type_list: ["xl330","xl330","xl330","xl330","xl330"]
 4    name_list: ["Standard Gripper", "Large Gripper", "Adaptive Gripper", "Vacuum Pump", "Vacuum Pump v2"]
 5    params_list: [
 6        {velocity_profile: 130, acceleration_profile: 60, pid: {p: 400, i: 0, d: 50}},
 7        {velocity_profile: 130, acceleration_profile: 60, pid: {p: 400, i: 0, d: 50}},
 8        {velocity_profile: 130, acceleration_profile: 60, pid: {p: 400, i: 0, d: 50}},
 9        {velocity_profile: 0, acceleration_profile: 0, pid: {p: 400, i: 0, d: 0}},
10        {velocity_profile: 80, acceleration_profile: 40, pid: {p: 400, i: 0, d: 0}}
11    ]
12    temperature_limit: 50 # DO NOT MODIFY THIS VALUE
13    shutdown_configuration: 53 # DO NOT MODIFY THIS VALUE

In this yaml file, each index for each list corresponds to a tool. Each tool has a name, an ID on the TTL bus, a type and a set of parameters.

Package Documentation

For more informations about ROS topics, services and parameters, check the Niryo robot hardware interface documentation.

ROS topics

Publishers

Topic Name

Type

Description

/niryo_robot_hardware/tools/motor

tools_interface/Tool

Publish informations about the tool’s motor (ID, motor type, position, state)

ROS Services

Service Name

Type

Description

/niryo_robot/tools/close_gripper

tools_interface/ToolCommand

Close the gripper

/niryo_robot/tools/open_gripper

tools_interface/ToolCommand

Open the gripper

/niryo_robot/tools/ping_and_set_dxl_tool

tools_interface/PingDxlTool

Ping the given device ID on the bus and set the corresponding tool if found

/niryo_robot/tools/pull_air_vacuum_pump

tools_interface/ToolCommand

Pull air from the vacuum pump

/niryo_robot/tools/push_air_vacuum_pump

tools_interface/ToolCommand

Push air to the vacuum pump

/niryo_robot/tools/reboot

niryo_robot_msgs/Trigger

Reboot the tool’s motor

ROS Parameters

Parameter Name

Default value

Simulation value

Unit

Description

/niryo_robot_hardware_interface/tools_interface/check_tool_connection_frequency

2.0

N/A

Hz

Frequency at which the tool connection is checked

/niryo_robot_hardware_interface/tools_interface/gripper_timeout

3.0

N/A

seconds

Maximum waiting time before considering that the gripper cannot move anymore (due to contact with an object for example)

/niryo_robot_hardware_interface/tools_interface/tools_params/id_list

None

[11, 12, 13, 31, 32]

string

List of tools IDs on the TTL bus

/niryo_robot_hardware_interface/tools_interface/tools_params/name_list

None

[‘Standard Gripper’, ‘Large Gripper’, ‘Adaptive Gripper’, ‘Vacuum Pump’, ‘Vacuum Pump v2’]

string

List of tools names on the TTL bus

/niryo_robot_hardware_interface/tools_interface/tools_params/params_list

None

[{‘velocity_profile’: 130, ‘acceleration_profile’: 60, ‘pid’: {‘p’: 400, ‘i’: 0, ‘d’: 50}}, {‘velocity_profile’: 130, ‘acceleration_profile’: 60, ‘pid’: {‘p’: 400, ‘i’: 0, ‘d’: 50}}, {‘velocity_profile’: 130, ‘acceleration_profile’: 60, ‘pid’: {‘p’: 400, ‘i’: 0, ‘d’: 50}}, {‘velocity_profile’: 0, ‘acceleration_profile’: 0, ‘pid’: {‘p’: 400, ‘i’: 0, ‘d’: 0}}, {‘velocity_profile’: 80, ‘acceleration_profile’: 40, ‘pid’: {‘p’: 400, ‘i’: 0, ‘d’: 0}}]

string

List of tools parameters on the TTL bus

/niryo_robot_hardware_interface/tools_interface/tools_params/type_list

None

[‘fakeDxl’, ‘fakeDxl’, ‘fakeDxl’, ‘fakeDxl’, ‘fakeDxl’]

string

List of tools motor types on the TTL bus

/niryo_robot_hardware_interface/tools_interface/vacuum_pump_timeout

3.0

N/A

seconds

Maximum waiting time before considering that the vacuum pump motor cannot move anymore (due to contact with an object for example)

ROS Action

Namespace: None