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 |
Publish the calibration status of the stepper motors |
ROS Services
Service Name |
Type |
Description |
---|---|---|
/niryo_robot/ttl_driver/read_custom_value |
Read a custom value from a given device ID on the TTL bus |
|
/niryo_robot/ttl_driver/read_pid_value |
Read the PID values of the Dynamixel motors |
|
/niryo_robot/ttl_driver/read_velocity_profile |
Read the velocity profile of the Dynamixel motors |
|
/niryo_robot/ttl_driver/send_custom_value |
Send a custom value to a given device ID on the TTL bus |
|
/niryo_robot/ttl_driver/set_dxl_leds |
Set the LEDs of the Dynamixel motors |
|
/niryo_robot/ttl_driver/write_pid_value |
Write the PID values to the Dynamixel motors |
|
/niryo_robot/ttl_driver/write_velocity_profile |
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