TTL Driver

This package implements the protocol to communicate with the devices connected to the TTL bus of the robot (Motors, end effector panel, accessories, …).

This package is based on the DXL SDK. It provides an interface to the ROS package wiki.

TTL Driver Node (Only for development and debugging)

This node:
  • initializes the TTL Interface.

  • gets the motor’s configuration and add them to TTL Interface.

TTL Interface Core

It is instantiated by the Niryo Robot Hardware Interface node.

It has been conceived to:
  • Initialize the TTL Interface (Interface used by other packages) and physical bus with the configurations.

  • Add, remove and monitor devices.

  • Start getting data and sending data on the physical bus.

  • Start ROS stuffs like services, topics.

It belongs to the ROS namespace: /ttl_driver.

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_interface/ttl_driver/calibration_status

ttl_driver/CalibrationStatus

Publish the calibration status of the stepper motors

ROS Services

Service Name

Type

Description

/niryo_robot/ttl_driver/read_custom_value

ttl_driver/ReadCustomValue

Read a custom value from a given device ID on the TTL bus

/niryo_robot/ttl_driver/read_pid_value

ttl_driver/ReadPIDValue

Read the PID values of the Dynamixel motors

/niryo_robot/ttl_driver/read_velocity_profile

ttl_driver/ReadVelocityProfile

Read the velocity profile of the Dynamixel motors

/niryo_robot/ttl_driver/send_custom_value

ttl_driver/WriteCustomValue

Send a custom value to a given device ID on the TTL bus

/niryo_robot/ttl_driver/set_dxl_leds

niryo_robot_msgs/SetInt

Set the LEDs of the Dynamixel motors

/niryo_robot/ttl_driver/write_pid_value

ttl_driver/WritePIDValue

Write the PID values to the Dynamixel motors

/niryo_robot/ttl_driver/write_velocity_profile

ttl_driver/WriteVelocityProfile

Write the velocity profile to the Dynamixel motors

ROS Parameters

Parameter Name

Default value

Simulation value

Unit

Description

/niryo_robot_hardware_interface/ttl_driver/bus_params/baudrate

1000000

N/A

bps

Baudrate of the TTL bus

/niryo_robot_hardware_interface/ttl_driver/bus_params/uart_device_name

/dev/ttyAMA0

N/A

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/firmware

None

[‘0.0.1’]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/id

None

[8]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/max_position

None

[4096]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/min_position

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/model_number

None

[2]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/position

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/temperature

None

[54]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/velocity

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/conveyors/voltage

None

[12300]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/firmware

None

[‘0.0.1’, ‘0.0.1’, ‘0.0.1’]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/id

None

[5, 6, 7]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/max_position

None

[4096, 4096, 4096]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/min_position

None

[0, 0, 0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/model_number

None

[1, 1, 1]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/position

None

[2048, 2048, 2048]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/temperature

None

[50, 52, 54]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/velocity

None

[0, 0, 0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/dynamixels/voltage

None

[50, 50, 50]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/end_effector/firmware

None

[‘0.0.1’]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/end_effector/id

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/end_effector/temperature

None

[32]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/end_effector/voltage

None

[5000]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/firmware

None

[‘0.0.1’, ‘0.0.1’, ‘0.0.1’]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/id

None

[2, 3, 4]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/max_position

None

[4096, 4096, 4096]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/min_position

None

[0, 0, 0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/model_number

None

[1, 1, 1]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/position

None

[1950, 0, 0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/temperature

None

[50, 52, 54]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/velocity

None

[0, 0, 0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/steppers/voltage

None

[12100, 12200, 12300]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/firmware

None

[‘0.0.1’]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/id

None

[11]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/max_position

None

[4096]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/min_position

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/model_number

None

[1]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/position

None

[370]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/temperature

None

[56]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/velocity

None

[0]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/fake_params/tool/voltage

None

[50]

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/hardware_version

ned2

N/A

string

Hardware version of the robot

/niryo_robot_hardware_interface/ttl_driver/led_motor

None

fakeDxl

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/simu_conveyor

True

N/A

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/simu_gripper

True

N/A

N/A

N/A

/niryo_robot_hardware_interface/ttl_driver/simulation_mode

True

N/A

bool

Whether the TTL driver is in simulation mode or not

/niryo_robot_hardware_interface/ttl_driver/ttl_hardware_control_loop_frequency

240.0

N/A

Hz

Frequency of the TTL hardware control loop

/niryo_robot_hardware_interface/ttl_driver/ttl_hardware_read_data_frequency

120.0

N/A

Hz

Frequency at which the TTL hardware data is read

/niryo_robot_hardware_interface/ttl_driver/ttl_hardware_read_end_effector_frequency

13.0

N/A

Hz

Frequency at which the TTL hardware end effector data is read

/niryo_robot_hardware_interface/ttl_driver/ttl_hardware_read_status_frequency

0.7

N/A

Hz

Frequency at which the TTL hardware status is read

/niryo_robot_hardware_interface/ttl_driver/ttl_hardware_write_frequency

120.0

N/A

Hz

Frequency at which the TTL hardware data is written

ROS Action

Namespace: None