- renewal
This commit is contained in:
61
robotis_device/CMakeLists.txt
Normal file
61
robotis_device/CMakeLists.txt
Normal file
@@ -0,0 +1,61 @@
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(robotis_device)
|
||||
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp
|
||||
rospy
|
||||
dynamixel_sdk
|
||||
robotis_framework_common
|
||||
)
|
||||
|
||||
###################################
|
||||
## catkin specific configuration ##
|
||||
###################################
|
||||
## The catkin_package macro generates cmake config files for your package
|
||||
## Declare things to be passed to dependent projects
|
||||
## INCLUDE_DIRS: uncomment this if you package contains header files
|
||||
## LIBRARIES: libraries you create in this project that dependent projects also need
|
||||
## CATKIN_DEPENDS: catkin_packages dependent projects also need
|
||||
## DEPENDS: system dependencies of this project that dependent projects also need
|
||||
catkin_package(
|
||||
INCLUDE_DIRS include
|
||||
# LIBRARIES robotis_device
|
||||
CATKIN_DEPENDS roscpp rospy
|
||||
# DEPENDS system_lib
|
||||
)
|
||||
|
||||
###########
|
||||
## Build ##
|
||||
###########
|
||||
|
||||
## Specify additional locations of header files
|
||||
## Your package locations should be listed before other locations
|
||||
# include_directories(include)
|
||||
include_directories(
|
||||
include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
## Declare a C++ library
|
||||
add_library(robotis_device
|
||||
src/robotis_device/Robot.cpp
|
||||
src/robotis_device/Dynamixel.cpp
|
||||
)
|
||||
|
||||
## Add cmake target dependencies of the library
|
||||
## as an example, code may need to be generated before libraries
|
||||
## either from message generation or dynamic reconfigure
|
||||
add_dependencies(robotis_device ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
|
||||
## Declare a C++ executable
|
||||
# add_executable(robotis_device_node src/robotis_device_node.cpp)
|
||||
|
||||
## Add cmake target dependencies of the executable
|
||||
## same as for the library above
|
||||
# add_dependencies(robotis_device_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
|
||||
## Specify libraries to link a library or executable target against
|
||||
target_link_libraries(robotis_device
|
||||
dynamixel_sdk
|
||||
${catkin_LIBRARIES}
|
||||
)
|
70
robotis_device/devices/dynamixel/GRIPPER.device
Normal file
70
robotis_device/devices/dynamixel/GRIPPER.device
Normal file
@@ -0,0 +1,70 @@
|
||||
[device info]
|
||||
model_name = GRIPPER
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = 0
|
||||
max_radian_position_value = 750
|
||||
min_radian = 0
|
||||
max_radian = 1.150767
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/H42-20-S300-R.device
Normal file
71
robotis_device/devices/dynamixel/H42-20-S300-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = H42-20-S300-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -151900
|
||||
max_radian_position_value = 151900
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/H54-100-S500-R.device
Normal file
71
robotis_device/devices/dynamixel/H54-100-S500-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = H54-100-S500-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -250950
|
||||
max_radian_position_value = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/H54-200-B500-R.device
Normal file
71
robotis_device/devices/dynamixel/H54-200-B500-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = H54-200-B500-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -250950
|
||||
max_radian_position_value = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/H54-200-S500-R.device
Normal file
71
robotis_device/devices/dynamixel/H54-200-S500-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = H54-200-S500-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -250950
|
||||
max_radian_position_value = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
70
robotis_device/devices/dynamixel/L42-10-S300-R.device
Normal file
70
robotis_device/devices/dynamixel/L42-10-S300-R.device
Normal file
@@ -0,0 +1,70 @@
|
||||
[device info]
|
||||
model_name = L42-10-S300-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -2047
|
||||
max_radian_position_value = 2048
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/L54-30-S400-R.device
Normal file
71
robotis_device/devices/dynamixel/L54-30-S400-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = L54-30-S400-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -144198
|
||||
max_radian_position_value = 144198
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/L54-30-S500-R.device
Normal file
71
robotis_device/devices/dynamixel/L54-30-S500-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = L54-30-S500-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -180684
|
||||
max_radian_position_value = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/L54-50-S290-R.device
Normal file
71
robotis_device/devices/dynamixel/L54-50-S290-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = L54-50-S290-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -103860
|
||||
max_radian_position_value = 103860
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/L54-50-S500-R.device
Normal file
71
robotis_device/devices/dynamixel/L54-50-S500-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = L54-50-S500-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -180684
|
||||
max_radian_position_value = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/M42-10-S260-R.device
Normal file
71
robotis_device/devices/dynamixel/M42-10-S260-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = M42-10-S260-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -131584
|
||||
max_radian_position_value = 131584
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/M54-40-S250-R.device
Normal file
71
robotis_device/devices/dynamixel/M54-40-S250-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = M54-40-S250-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -125700
|
||||
max_radian_position_value = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
71
robotis_device/devices/dynamixel/M54-60-S250-R.device
Normal file
71
robotis_device/devices/dynamixel/M54-60-S250-R.device
Normal file
@@ -0,0 +1,71 @@
|
||||
[device info]
|
||||
model_name = M54-60-S250-R
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 0
|
||||
min_radian_position_value = -125700
|
||||
max_radian_position_value = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 562
|
||||
position_d_gain_address =
|
||||
position_i_gain_address =
|
||||
position_p_gain_address = 594
|
||||
goal_position_address = 596
|
||||
goal_velocity_address = 600
|
||||
goal_torque_address = 604
|
||||
present_position_address = 611
|
||||
present_velocity_address = 615
|
||||
present_load_address = 621
|
||||
is_moving_address = 610
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
6 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
7 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
8 | baudrate | 1 | RW | EEPROM | 0 | 8 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 4 | N
|
||||
13 | homing_offset | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
17 | moving_threshold | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
21 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
22 | max_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
24 | min_voltage_limit | 2 | RW | EEPROM | 0 | 400 | N
|
||||
26 | acceleration_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
30 | torque_limit | 2 | RW | EEPROM | 0 | 32767 | N
|
||||
32 | velocity_limit | 4 | RW | EEPROM | 0 | 2147483647 | N
|
||||
36 | max_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
40 | min_position_limit | 4 | RW | EEPROM | -2147483648 | 2147483647 | Y
|
||||
44 | external_port_mod_1 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
45 | external_port_mod_2 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
46 | external_port_mod_3 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
47 | external_port_mod_4 | 1 | RW | EEPROM | 0 | 3 | N
|
||||
48 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
49 | indirect_address_1 | 2 | RW | EEPROM | 0 | 65535 | N
|
||||
562 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
563 | LED_RED | 1 | RW | RAM | 0 | 255 | N
|
||||
564 | LED_GREEN | 1 | RW | RAM | 0 | 255 | N
|
||||
565 | LED_BLUE | 1 | RW | RAM | 0 | 255 | N
|
||||
586 | velocity_I_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
588 | velocity_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
594 | position_P_gain | 2 | RW | RAM | 0 | 2047 | N
|
||||
596 | goal_position | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
600 | goal_velocity | 4 | RW | RAM | -2147483648 | 2147483647 | Y
|
||||
604 | goal_torque | 2 | RW | RAM | -32768 | 32767 | Y
|
||||
606 | goal_acceleration | 4 | RW | RAM | 0 | 2147483647 | N
|
||||
610 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
611 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
615 | present_velocity | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
621 | present_current | 2 | R | RAM | -32768 | 32767 | Y
|
||||
623 | present_voltage | 2 | R | RAM | 0 | 500 | N
|
||||
625 | present_temperature | 1 | R | RAM | 0 | 200 | N
|
||||
626 | external_port_data_1 | 2 | RW | RAM | 0 | 4095 | N
|
||||
628 | external_port_data_2 | 2 | RW | RAM | 0 | 4095 | N
|
||||
630 | external_port_data_3 | 2 | RW | RAM | 0 | 4095 | N
|
||||
632 | external_port_data_4 | 2 | RW | RAM | 0 | 4095 | N
|
||||
634 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
890 | registerd_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
891 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
892 | hardware_error_status | 2 | R | RAM | 0 | 31 | N
|
59
robotis_device/devices/dynamixel/MX-28.device
Normal file
59
robotis_device/devices/dynamixel/MX-28.device
Normal file
@@ -0,0 +1,59 @@
|
||||
[device info]
|
||||
model_name = MX-28
|
||||
device_type = Dynamixel
|
||||
|
||||
[type info]
|
||||
0_radian_position_value = 2048
|
||||
min_radian_position_value = 0
|
||||
max_radian_position_value = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
torque_enable_address = 24
|
||||
position_d_gain_address = 26
|
||||
position_i_gain_address = 27
|
||||
position_p_gain_address = 28
|
||||
goal_position_address = 30
|
||||
goal_velocity_address = 32
|
||||
goal_torque_address = 34
|
||||
present_position_address = 36
|
||||
present_velocity_address = 38
|
||||
present_load_address = 40
|
||||
is_moving_address = 46
|
||||
|
||||
[control table]
|
||||
# addr | item name | length | access | memory | min value | max value | signed
|
||||
0 | model_number | 2 | R | EEPROM | 0 | 65535 | N
|
||||
2 | version_of_firmware | 1 | R | EEPROM | 0 | 254 | N
|
||||
3 | ID | 1 | RW | EEPROM | 0 | 252 | N
|
||||
4 | baudrate | 1 | RW | EEPROM | 0 | 252 | N
|
||||
5 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
6 | CW_angle_limit | 2 | RW | EEPROM | 0 | 4095 | N
|
||||
8 | CCW_angle_limit | 2 | RW | EEPROM | 0 | 4095 | N
|
||||
10 | drive_mode | 1 | RW | EEPROM | 0 | 3 | N
|
||||
11 | max_temperature_limit | 1 | RW | EEPROM | 0 | 99 | N
|
||||
12 | min_voltage_limit | 1 | RW | EEPROM | 0 | 250 | N
|
||||
13 | max_voltage_limit | 1 | RW | EEPROM | 0 | 250 | N
|
||||
14 | max_torque | 2 | RW | EEPROM | 0 | 1023 | N
|
||||
16 | status_return_level | 1 | RW | EEPROM | 0 | 2 | N
|
||||
17 | alarm_LED | 1 | RW | EEPROM | 0 | 127 | N
|
||||
18 | alarm_shutdown | 1 | RW | EEPROM | 0 | 127 | N
|
||||
20 | multi_turn_offset | 2 | RW | EEPROM | -26624 | 26624 | Y
|
||||
22 | resolution_dividor | 1 | RW | EEPROM | 1 | 255 | N
|
||||
24 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
25 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
26 | position_D_gain | 1 | RW | RAM | 0 | 254 | N
|
||||
27 | position_I_gain | 1 | RW | RAM | 0 | 254 | N
|
||||
28 | position_P_gain | 1 | RW | RAM | 0 | 254 | N
|
||||
30 | goal_position | 2 | RW | RAM | -28672 | 28672 | Y
|
||||
32 | goal_velocity | 2 | RW | RAM | 0 | 1023 | N
|
||||
34 | goal_torque | 2 | RW | RAM | 0 | 1023 | N
|
||||
36 | present_position | 2 | R | RAM | 0 | 4095 | N
|
||||
38 | present_velocity | 2 | R | RAM | 0 | 2048 | N
|
||||
40 | present_load | 2 | R | RAM | 0 | 2048 | N
|
||||
42 | present_voltage | 1 | R | RAM | 50 | 250 | N
|
||||
43 | present_temperature | 1 | R | RAM | 0 | 99 | N
|
||||
44 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
46 | is_moving | 1 | R | RAM | 0 | 1 | N
|
||||
47 | EEPROM_lock | 1 | RW | RAM | 0 | 1 | N
|
||||
48 | punch | 2 | RW | RAM | 0 | 1023 | N
|
||||
73 | goal_acceleration | 1 | RW | RAM | 0 | 254 | N
|
52
robotis_device/include/robotis_device/ControlTableItem.h
Normal file
52
robotis_device/include/robotis_device/ControlTableItem.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* ControlTableItem.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_CONTROLTABLEITEM_H_
|
||||
#define ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_CONTROLTABLEITEM_H_
|
||||
|
||||
|
||||
#include <robotis_framework_common/RobotisDef.h>
|
||||
|
||||
namespace ROBOTIS
|
||||
{
|
||||
|
||||
enum ACCESS_TYPE {
|
||||
READ,
|
||||
READ_WRITE
|
||||
};
|
||||
|
||||
enum MEMORY_TYPE {
|
||||
EEPROM,
|
||||
RAM
|
||||
};
|
||||
|
||||
class ControlTableItem
|
||||
{
|
||||
public:
|
||||
UINT16_T address;
|
||||
ACCESS_TYPE access_type;
|
||||
MEMORY_TYPE memory_type;
|
||||
UINT8_T data_length;
|
||||
INT32_T data_min_value;
|
||||
INT32_T data_max_value;
|
||||
bool is_signed;
|
||||
|
||||
ControlTableItem()
|
||||
: address(0),
|
||||
access_type(READ),
|
||||
memory_type(RAM),
|
||||
data_length(0),
|
||||
data_min_value(0),
|
||||
data_max_value(0),
|
||||
is_signed(false)
|
||||
{ }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_CONTROLTABLEITEM_H_ */
|
60
robotis_device/include/robotis_device/Dynamixel.h
Normal file
60
robotis_device/include/robotis_device/Dynamixel.h
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Dynamixel.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXEL_H_
|
||||
#define ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXEL_H_
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include "DynamixelState.h"
|
||||
#include "ControlTableItem.h"
|
||||
|
||||
namespace ROBOTIS
|
||||
{
|
||||
|
||||
class Dynamixel
|
||||
{
|
||||
public:
|
||||
UINT8_T id;
|
||||
std::string model_name;
|
||||
float protocol_version;
|
||||
|
||||
std::map<std::string, ControlTableItem *> ctrl_table; // string: item name
|
||||
|
||||
std::string port_name;
|
||||
std::string ctrl_module_name;
|
||||
DynamixelState *dxl_state;
|
||||
|
||||
INT32_T zero_radian_position_value;
|
||||
INT32_T min_radian_position_value;
|
||||
INT32_T max_radian_position_value;
|
||||
double min_radian;
|
||||
double max_radian;
|
||||
|
||||
UINT16_T torque_enable_address;
|
||||
UINT16_T position_d_gain_address;
|
||||
UINT16_T position_i_gain_address;
|
||||
UINT16_T position_p_gain_address;
|
||||
UINT16_T goal_position_address;
|
||||
UINT16_T goal_velocity_address;
|
||||
UINT16_T goal_torque_address;
|
||||
UINT16_T present_position_address;
|
||||
UINT16_T present_velocity_address;
|
||||
UINT16_T present_load_address;
|
||||
UINT16_T is_moving_address;
|
||||
|
||||
Dynamixel(int id, std::string model_name, float protocol_version);
|
||||
|
||||
double ConvertValue2Radian(int32_t value) { return value * max_radian / max_radian_position_value; }
|
||||
INT32_T ConvertRadian2Value(double radian) { return radian * max_radian_position_value / max_radian; }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXEL_H_ */
|
76
robotis_device/include/robotis_device/DynamixelState.h
Normal file
76
robotis_device/include/robotis_device/DynamixelState.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* DynamixelState.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXELSTATE_H_
|
||||
#define ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXELSTATE_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <robotis_framework_common/RobotisDef.h>
|
||||
|
||||
namespace ROBOTIS
|
||||
{
|
||||
|
||||
class TimeStamp {
|
||||
public:
|
||||
long sec;
|
||||
long nsec;
|
||||
TimeStamp(long sec, long nsec) : sec(sec), nsec(nsec) { }
|
||||
};
|
||||
|
||||
class DynamixelState
|
||||
{
|
||||
public:
|
||||
TimeStamp update_time_stamp;
|
||||
|
||||
bool torque_enable;
|
||||
UINT16_T position_d_gain;
|
||||
UINT16_T position_i_gain;
|
||||
UINT16_T position_p_gain;
|
||||
UINT16_T velocity_d_gain;
|
||||
UINT16_T velocity_i_gain;
|
||||
UINT16_T velocity_p_gain;
|
||||
double goal_position;
|
||||
double goal_velocity;
|
||||
double goal_torque;
|
||||
double present_position;
|
||||
double present_velocity;
|
||||
double present_load;
|
||||
bool is_moving;
|
||||
|
||||
UINT16_T ext_port_data[4];
|
||||
|
||||
double position_offset;
|
||||
|
||||
DynamixelState()
|
||||
: update_time_stamp(0, 0),
|
||||
torque_enable(false),
|
||||
position_d_gain(0),
|
||||
position_i_gain(0),
|
||||
position_p_gain(0),
|
||||
velocity_d_gain(0),
|
||||
velocity_i_gain(0),
|
||||
velocity_p_gain(0),
|
||||
goal_position(0.0),
|
||||
goal_velocity(0.0),
|
||||
goal_torque(0.0),
|
||||
present_position(0.0),
|
||||
present_velocity(0.0),
|
||||
present_load(0.0),
|
||||
is_moving(false),
|
||||
position_offset(0.0)
|
||||
{
|
||||
ext_port_data[0] = 2048;
|
||||
ext_port_data[1] = 2048;
|
||||
ext_port_data[2] = 2048;
|
||||
ext_port_data[3] = 2048;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_FRAMEWORK_ROBOTIS_CONTROLLER_INCLUDE_DEVICE_DYNAMIXELSTATE_H_ */
|
35
robotis_device/include/robotis_device/Robot.h
Normal file
35
robotis_device/include/robotis_device/Robot.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Robot.h
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_ROBOT_H_
|
||||
#define ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_ROBOT_H_
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include "Sensor.h"
|
||||
#include "Dynamixel.h"
|
||||
#include "dynamixel_sdk/PortHandler.h"
|
||||
|
||||
namespace ROBOTIS
|
||||
{
|
||||
|
||||
class Robot
|
||||
{
|
||||
public:
|
||||
std::map<std::string, PortHandler *> ports; // string: port name
|
||||
std::map<std::string, Dynamixel *> dxls; // string: joint name
|
||||
std::map<std::string, Sensor *> sensors; // string: sensor name
|
||||
|
||||
Robot(std::string robot_file_path, std::string dev_desc_dir_path);
|
||||
|
||||
Dynamixel *getDynamixel(std::string path, int id, std::string port, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_ROBOT_H_ */
|
34
robotis_device/include/robotis_device/Sensor.h
Normal file
34
robotis_device/include/robotis_device/Sensor.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Sensor.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_SENSOR_H_
|
||||
#define ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_SENSOR_H_
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <stdint.h>
|
||||
#include "ControlTableItem.h"
|
||||
|
||||
namespace ROBOTIS
|
||||
{
|
||||
|
||||
class Sensor
|
||||
{
|
||||
public:
|
||||
UINT8_T id;
|
||||
std::string model_name;
|
||||
float protocol_version;
|
||||
|
||||
std::map<UINT16_T, ControlTableItem *> ctrl_table;
|
||||
|
||||
Sensor(int id, std::string model_name, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_FRAMEWORK_ROBOTIS_DEVICE_INCLUDE_DEVICE_SENSOR_H_ */
|
34
robotis_device/package.xml
Normal file
34
robotis_device/package.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<package>
|
||||
<name>robotis_device</name>
|
||||
<version>0.1.0</version>
|
||||
<description>The robotis_device package</description>
|
||||
|
||||
<maintainer email="zerom@robotis.com">robotis</maintainer>
|
||||
|
||||
|
||||
<license>GPLv2</license>
|
||||
|
||||
|
||||
<!-- <url type="website">http://wiki.ros.org/robotis_device</url> -->
|
||||
|
||||
|
||||
<author email="zerom@robotis.com">robotis</author>
|
||||
|
||||
|
||||
<buildtool_depend>catkin</buildtool_depend>
|
||||
|
||||
<build_depend>roscpp</build_depend>
|
||||
<build_depend>rospy</build_depend>
|
||||
<build_depend>dynamixel_sdk</build_depend>
|
||||
<build_depend>robotis_framework_common</build_depend>
|
||||
|
||||
<run_depend>roscpp</run_depend>
|
||||
<run_depend>rospy</run_depend>
|
||||
<run_depend>dynamixel_sdk</run_depend>
|
||||
|
||||
|
||||
<export>
|
||||
|
||||
</export>
|
||||
</package>
|
37
robotis_device/src/robotis_device/Dynamixel.cpp
Normal file
37
robotis_device/src/robotis_device/Dynamixel.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Dynamixel.cpp
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include "../include/robotis_device/Dynamixel.h"
|
||||
|
||||
using namespace ROBOTIS;
|
||||
|
||||
Dynamixel::Dynamixel(int id, std::string model_name, float protocol_version)
|
||||
: id(id),
|
||||
model_name(model_name),
|
||||
port_name(""),
|
||||
ctrl_module_name("none"),
|
||||
protocol_version(protocol_version),
|
||||
zero_radian_position_value(0),
|
||||
min_radian_position_value(0),
|
||||
max_radian_position_value(0),
|
||||
min_radian(-3.14),
|
||||
max_radian(3.14),
|
||||
torque_enable_address(0),
|
||||
position_d_gain_address(0),
|
||||
position_i_gain_address(0),
|
||||
position_p_gain_address(0),
|
||||
goal_position_address(0),
|
||||
goal_velocity_address(0),
|
||||
goal_torque_address(0),
|
||||
present_position_address(0),
|
||||
present_velocity_address(0),
|
||||
present_load_address(0),
|
||||
is_moving_address(0)
|
||||
{
|
||||
ctrl_table.clear();
|
||||
dxl_state = new DynamixelState();
|
||||
}
|
227
robotis_device/src/robotis_device/Robot.cpp
Normal file
227
robotis_device/src/robotis_device/Robot.cpp
Normal file
@@ -0,0 +1,227 @@
|
||||
/*
|
||||
* Robot.cpp
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include "../include/robotis_device/Robot.h"
|
||||
|
||||
using namespace ROBOTIS;
|
||||
|
||||
static inline std::string <rim(std::string &s) {
|
||||
s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
|
||||
return s;
|
||||
}
|
||||
static inline std::string &rtrim(std::string &s) {
|
||||
s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
|
||||
return s;
|
||||
}
|
||||
static inline std::string &trim(std::string &s) {
|
||||
return ltrim(rtrim(s));
|
||||
}
|
||||
|
||||
static inline std::vector<std::string> split(const std::string &text, char sep) {
|
||||
std::vector<std::string> tokens;
|
||||
std::size_t start = 0, end = 0;
|
||||
while((end = text.find(sep, start)) != (std::string::npos)) {
|
||||
tokens.push_back(text.substr(start, end - start));
|
||||
trim(tokens.back());
|
||||
start = end + 1;
|
||||
}
|
||||
tokens.push_back(text.substr(start));
|
||||
trim(tokens.back());
|
||||
return tokens;
|
||||
}
|
||||
|
||||
Robot::Robot(std::string robot_file_path, std::string dev_desc_dir_path)
|
||||
{
|
||||
if(dev_desc_dir_path.compare(dev_desc_dir_path.size()-1, 1, "/") != 0)
|
||||
dev_desc_dir_path += "/";
|
||||
|
||||
std::ifstream file(robot_file_path.c_str());
|
||||
if(file.is_open())
|
||||
{
|
||||
std::string session = "";
|
||||
std::string input_str;
|
||||
while(!file.eof())
|
||||
{
|
||||
std::getline(file, input_str);
|
||||
|
||||
// remove comment ( # )
|
||||
std::size_t pos = input_str.find("#");
|
||||
if(pos != std::string::npos)
|
||||
input_str = input_str.substr(0, pos);
|
||||
|
||||
// trim
|
||||
input_str = trim(input_str);
|
||||
|
||||
// find session
|
||||
if(!input_str.compare(0, 1, "[") && !input_str.compare(input_str.size()-1, 1, "]"))
|
||||
{
|
||||
input_str = input_str.substr(1, input_str.size()-2);
|
||||
std::transform(input_str.begin(), input_str.end(), input_str.begin(), ::tolower);
|
||||
session = trim(input_str);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(session == "port info")
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if(tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
std::cout << tokens[0] << " added. (baudrate: " << tokens[1] << ")" << std::endl;
|
||||
|
||||
ports[tokens[0]] = (PortHandler*)PortHandler::GetPortHandler(tokens[0].c_str());
|
||||
bool _port_result = ports[tokens[0]]->SetBaudRate(std::atoi(tokens[1].c_str()));
|
||||
if(_port_result == false)
|
||||
exit(-1);
|
||||
}
|
||||
else if(session == "device info")
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if(tokens.size() != 6)
|
||||
continue;
|
||||
|
||||
if(tokens[0] == "dynamixel")
|
||||
{
|
||||
std::string _file_path = dev_desc_dir_path + tokens[0] + "/" + tokens[3] + ".device";
|
||||
int _id = std::atoi(tokens[2].c_str());
|
||||
std::string _port = tokens[1];
|
||||
float _protocol = std::atof(tokens[4].c_str());
|
||||
std::string _dev_name = tokens[5];
|
||||
|
||||
dxls[_dev_name] = getDynamixel(_file_path, _id, _port, _protocol);
|
||||
}
|
||||
}
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Unable to open file : " + robot_file_path << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
Dynamixel *Robot::getDynamixel(std::string path, int id, std::string port, float protocol_version)
|
||||
{
|
||||
Dynamixel *dxl;
|
||||
// load file model_name.device
|
||||
std::ifstream file(path.c_str());
|
||||
if(file.is_open())
|
||||
{
|
||||
std::string session = "";
|
||||
std::string input_str;
|
||||
while(!file.eof())
|
||||
{
|
||||
std::getline(file, input_str);
|
||||
|
||||
// remove comment ( # )
|
||||
std::size_t pos = input_str.find("#");
|
||||
if(pos != std::string::npos)
|
||||
input_str = input_str.substr(0, pos);
|
||||
|
||||
// trim
|
||||
input_str = trim(input_str);
|
||||
if(input_str == "")
|
||||
continue;
|
||||
|
||||
// find session
|
||||
if(!input_str.compare(0, 1, "[") && !input_str.compare(input_str.size()-1, 1, "]"))
|
||||
{
|
||||
input_str = input_str.substr(1, input_str.size()-2);
|
||||
std::transform(input_str.begin(), input_str.end(), input_str.begin(), ::tolower);
|
||||
session = trim(input_str);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(session == "device info")
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if(tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if(tokens[0] == "model_name")
|
||||
dxl = new Dynamixel(id, tokens[1], protocol_version);
|
||||
}
|
||||
else if(session == "type info")
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if(tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if(tokens[0] == "0_radian_position_value")
|
||||
dxl->zero_radian_position_value = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "min_radian_position_value")
|
||||
dxl->min_radian_position_value = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "max_radian_position_value")
|
||||
dxl->max_radian_position_value = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "min_radian")
|
||||
dxl->min_radian = std::atof(tokens[1].c_str());
|
||||
else if(tokens[0] == "max_radian")
|
||||
dxl->max_radian = std::atof(tokens[1].c_str());
|
||||
else if(tokens[0] == "torque_enable_address")
|
||||
dxl->torque_enable_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "position_d_gain_address")
|
||||
dxl->position_d_gain_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "position_i_gain_address")
|
||||
dxl->position_i_gain_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "position_p_gain_address")
|
||||
dxl->position_p_gain_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "goal_position_address")
|
||||
dxl->goal_position_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "goal_velocity_address")
|
||||
dxl->goal_velocity_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "goal_torque_address")
|
||||
dxl->goal_torque_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "present_position_address")
|
||||
dxl->present_position_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "present_velocity_address")
|
||||
dxl->present_velocity_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "present_load_address")
|
||||
dxl->present_load_address = std::atoi(tokens[1].c_str());
|
||||
else if(tokens[0] == "is_moving_address")
|
||||
dxl->is_moving_address = std::atoi(tokens[1].c_str());
|
||||
}
|
||||
else if(session == "control table")
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if(tokens.size() != 8)
|
||||
continue;
|
||||
|
||||
ControlTableItem *item = new ControlTableItem();
|
||||
item->address = std::atoi(tokens[0].c_str());
|
||||
item->data_length = std::atoi(tokens[2].c_str());
|
||||
if(tokens[3] == "R")
|
||||
item->access_type = READ;
|
||||
else if(tokens[3] == "RW")
|
||||
item->access_type = READ_WRITE;
|
||||
if(tokens[4] == "EEPROM")
|
||||
item->memory_type = EEPROM;
|
||||
else if(tokens[4] == "RAM")
|
||||
item->memory_type = RAM;
|
||||
item->data_min_value = std::atol(tokens[5].c_str());
|
||||
item->data_max_value = std::atol(tokens[6].c_str());
|
||||
if(tokens[7] == "Y")
|
||||
item->is_signed = true;
|
||||
else if(tokens[7] == "N")
|
||||
item->is_signed = false;
|
||||
dxl->ctrl_table[tokens[1]] = item;
|
||||
}
|
||||
}
|
||||
dxl->port_name = port;
|
||||
|
||||
fprintf(stderr, "(%s) [ID:%3d] %14s added. \n", port.c_str(), dxl->id, dxl->model_name.c_str());
|
||||
//std::cout << "[ID:" << (int)(dxl->id) << "] " << dxl->model_name << " added. (" << port << ")" << std::endl;
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
std::cout << "Unable to open file : " + path << std::endl;
|
||||
|
||||
return dxl;
|
||||
}
|
||||
|
Reference in New Issue
Block a user