update
This commit is contained in:
48
robotis_device/CHANGELOG.rst
Normal file → Executable file
48
robotis_device/CHANGELOG.rst
Normal file → Executable file
@@ -1,24 +1,24 @@
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Changelog for package robotis_device
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
0.1.1 (2016-08-18)
|
||||
-----------
|
||||
* updated the package information
|
||||
|
||||
0.1.0 (2016-08-12)
|
||||
-----------
|
||||
* first public release for Kinetic
|
||||
* modified the package information for release
|
||||
* develop branch -> master branch
|
||||
* Setting the license to BSD.
|
||||
* add SensorState
|
||||
add Singleton template
|
||||
* XM-430 / CM-740 device file added.
|
||||
Sensor device added.
|
||||
* modified.
|
||||
* variable name changed.
|
||||
ConvertRadian2Value / ConvertValue2Radian function bug fixed.
|
||||
* added code to support the gazebo simulator
|
||||
* renewal
|
||||
* Contributors: ROBOTIS, ROBOTIS-zerom, pyo
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Changelog for package robotis_device
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
0.1.1 (2016-08-18)
|
||||
-----------
|
||||
* updated the package information
|
||||
|
||||
0.1.0 (2016-08-12)
|
||||
-----------
|
||||
* first public release for Kinetic
|
||||
* modified the package information for release
|
||||
* develop branch -> master branch
|
||||
* Setting the license to BSD.
|
||||
* add SensorState
|
||||
add Singleton template
|
||||
* XM-430 / CM-740 device file added.
|
||||
Sensor device added.
|
||||
* modified.
|
||||
* variable name changed.
|
||||
ConvertRadian2Value / ConvertValue2Radian function bug fixed.
|
||||
* added code to support the gazebo simulator
|
||||
* renewal
|
||||
* Contributors: ROBOTIS, ROBOTIS-zerom, pyo
|
||||
|
136
robotis_device/CMakeLists.txt
Normal file → Executable file
136
robotis_device/CMakeLists.txt
Normal file → Executable file
@@ -1,68 +1,68 @@
|
||||
################################################################################
|
||||
# CMake
|
||||
################################################################################
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(robotis_device)
|
||||
|
||||
################################################################################
|
||||
# Packages
|
||||
################################################################################
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp
|
||||
rospy
|
||||
dynamixel_sdk
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Declare ROS messages, services and actions
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Declare ROS dynamic reconfigure parameters
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Catkin specific configuration
|
||||
################################################################################
|
||||
catkin_package(
|
||||
INCLUDE_DIRS include
|
||||
LIBRARIES robotis_device
|
||||
CATKIN_DEPENDS roscpp rospy dynamixel_sdk
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Build
|
||||
################################################################################
|
||||
include_directories(
|
||||
include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(robotis_device
|
||||
src/robotis_device/robot.cpp
|
||||
src/robotis_device/sensor.cpp
|
||||
src/robotis_device/dynamixel.cpp
|
||||
)
|
||||
add_dependencies(robotis_device ${catkin_EXPORTED_TARGETS})
|
||||
target_link_libraries(robotis_device ${catkin_LIBRARIES})
|
||||
|
||||
################################################################################
|
||||
# Install
|
||||
################################################################################
|
||||
install(TARGETS robotis_device
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
)
|
||||
|
||||
install(DIRECTORY include/${PROJECT_NAME}/
|
||||
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||||
)
|
||||
|
||||
install(DIRECTORY devices/
|
||||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Test
|
||||
################################################################################
|
||||
################################################################################
|
||||
# CMake
|
||||
################################################################################
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(robotis_device)
|
||||
|
||||
################################################################################
|
||||
# Packages
|
||||
################################################################################
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp
|
||||
rospy
|
||||
dynamixel_sdk
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Declare ROS messages, services and actions
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Declare ROS dynamic reconfigure parameters
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Catkin specific configuration
|
||||
################################################################################
|
||||
catkin_package(
|
||||
INCLUDE_DIRS include
|
||||
LIBRARIES robotis_device
|
||||
CATKIN_DEPENDS roscpp rospy dynamixel_sdk
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Build
|
||||
################################################################################
|
||||
include_directories(
|
||||
include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(robotis_device
|
||||
src/robotis_device/robot.cpp
|
||||
src/robotis_device/sensor.cpp
|
||||
src/robotis_device/dynamixel.cpp
|
||||
)
|
||||
add_dependencies(robotis_device ${catkin_EXPORTED_TARGETS})
|
||||
target_link_libraries(robotis_device ${catkin_LIBRARIES})
|
||||
|
||||
################################################################################
|
||||
# Install
|
||||
################################################################################
|
||||
install(TARGETS robotis_device
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
)
|
||||
|
||||
install(DIRECTORY include/${PROJECT_NAME}/
|
||||
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||||
)
|
||||
|
||||
install(DIRECTORY devices/
|
||||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Test
|
||||
################################################################################
|
||||
|
146
robotis_device/devices/dynamixel/GRIPPER.device
Normal file → Executable file
146
robotis_device/devices/dynamixel/GRIPPER.device
Normal file → Executable file
@@ -1,73 +1,73 @@
|
||||
[device info]
|
||||
model_name = GRIPPER
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 750
|
||||
min_radian = 0
|
||||
max_radian = 1.150767
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = GRIPPER
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 750
|
||||
min_radian = 0
|
||||
max_radian = 1.150767
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
74
robotis_device/devices/dynamixel/GRIPPER_TORQUE.device
Executable file
74
robotis_device/devices/dynamixel/GRIPPER_TORQUE.device
Executable file
@@ -0,0 +1,74 @@
|
||||
[device info]
|
||||
model_name = GRIPPER
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 750
|
||||
min_radian = 0
|
||||
max_radian = 1.150767
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
590 | position_d_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
|
152
robotis_device/devices/dynamixel/H42-20-S300-R.device
Normal file → Executable file
152
robotis_device/devices/dynamixel/H42-20-S300-R.device
Normal file → Executable file
@@ -1,76 +1,76 @@
|
||||
[device info]
|
||||
model_name = H42-20-S300-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 27.15146
|
||||
velocity_to_value_ratio = 2900.59884
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -151900
|
||||
value_of_max_radian_position = 151900
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = H42-20-S300-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 27.15146
|
||||
velocity_to_value_ratio = 2900.59884
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -151900
|
||||
value_of_max_radian_position = 151900
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
152
robotis_device/devices/dynamixel/H54-100-B210-R-NR.device
Normal file → Executable file
152
robotis_device/devices/dynamixel/H54-100-B210-R-NR.device
Normal file → Executable file
@@ -1,76 +1,76 @@
|
||||
[device info]
|
||||
model_name = H54-100-B210-R-NR
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 2046.2777
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = H54-100-B210-R-NR
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 2046.2777
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
152
robotis_device/devices/dynamixel/H54-100-S500-R.device
Normal file → Executable file
152
robotis_device/devices/dynamixel/H54-100-S500-R.device
Normal file → Executable file
@@ -1,76 +1,76 @@
|
||||
[device info]
|
||||
model_name = H54-100-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.66026
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = H54-100-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.66026
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
152
robotis_device/devices/dynamixel/H54-200-B500-R.device
Normal file → Executable file
152
robotis_device/devices/dynamixel/H54-200-B500-R.device
Normal file → Executable file
@@ -1,76 +1,76 @@
|
||||
[device info]
|
||||
model_name = H54-200-B500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = H54-200-B500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
152
robotis_device/devices/dynamixel/H54-200-S500-R.device
Normal file → Executable file
152
robotis_device/devices/dynamixel/H54-200-S500-R.device
Normal file → Executable file
@@ -1,76 +1,76 @@
|
||||
[device info]
|
||||
model_name = H54-200-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = H54-200-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
146
robotis_device/devices/dynamixel/L42-10-S300-R.device
Normal file → Executable file
146
robotis_device/devices/dynamixel/L42-10-S300-R.device
Normal file → Executable file
@@ -1,73 +1,73 @@
|
||||
[device info]
|
||||
model_name = L42-10-S300-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -2047
|
||||
value_of_max_radian_position = 2048
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = L42-10-S300-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -2047
|
||||
value_of_max_radian_position = 2048
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/L54-30-S400-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/L54-30-S400-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = L54-30-S400-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -144198
|
||||
value_of_max_radian_position = 144198
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = L54-30-S400-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -144198
|
||||
value_of_max_radian_position = 144198
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/L54-30-S500-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/L54-30-S500-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = L54-30-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -180684
|
||||
value_of_max_radian_position = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = L54-30-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -180684
|
||||
value_of_max_radian_position = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/L54-50-S290-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/L54-50-S290-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = L54-50-S290-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -103860
|
||||
value_of_max_radian_position = 103860
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = L54-50-S290-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -103860
|
||||
value_of_max_radian_position = 103860
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/L54-50-S500-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/L54-50-S500-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = L54-50-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -180684
|
||||
value_of_max_radian_position = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = L54-50-S500-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -180684
|
||||
value_of_max_radian_position = 180684
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/M42-10-S260-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/M42-10-S260-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = M42-10-S260-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -131584
|
||||
value_of_max_radian_position = 131584
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = M42-10-S260-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -131584
|
||||
value_of_max_radian_position = 131584
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/M54-40-S250-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/M54-40-S250-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = M54-40-S250-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -125700
|
||||
value_of_max_radian_position = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = M54-40-S250-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -125700
|
||||
value_of_max_radian_position = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
148
robotis_device/devices/dynamixel/M54-60-S250-R.device
Normal file → Executable file
148
robotis_device/devices/dynamixel/M54-60-S250-R.device
Normal file → Executable file
@@ -1,74 +1,74 @@
|
||||
[device info]
|
||||
model_name = M54-60-S250-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -125700
|
||||
value_of_max_radian_position = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
[device info]
|
||||
model_name = M54-60-S250-R
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -125700
|
||||
value_of_max_radian_position = 125700
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_torque
|
||||
position_d_gain_item_name =
|
||||
position_i_gain_item_name =
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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
|
||||
|
132
robotis_device/devices/dynamixel/MX-106.device
Normal file → Executable file
132
robotis_device/devices/dynamixel/MX-106.device
Normal file → Executable file
@@ -1,66 +1,66 @@
|
||||
[device info]
|
||||
model_name = MX-106
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
68 | current_consumption | 2 | RW | RAM | 0 | 4095 | N
|
||||
70 | torque_control_mode | 1 | RW | RAM | 0 | 1 | N
|
||||
71 | torque_control_goal | 2 | RW | RAM | 0 | 2047 | N
|
||||
73 | goal_acceleration | 1 | RW | RAM | 0 | 254 | N
|
||||
|
||||
[device info]
|
||||
model_name = MX-106
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
68 | current_consumption | 2 | RW | RAM | 0 | 4095 | N
|
||||
70 | torque_control_mode | 1 | RW | RAM | 0 | 1 | N
|
||||
71 | torque_control_goal | 2 | RW | RAM | 0 | 2047 | N
|
||||
73 | goal_acceleration | 1 | RW | RAM | 0 | 254 | N
|
||||
|
||||
|
124
robotis_device/devices/dynamixel/MX-28.device
Normal file → Executable file
124
robotis_device/devices/dynamixel/MX-28.device
Normal file → Executable file
@@ -1,62 +1,62 @@
|
||||
[device info]
|
||||
model_name = MX-28
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
[device info]
|
||||
model_name = MX-28
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
|
132
robotis_device/devices/dynamixel/MX-64.device
Normal file → Executable file
132
robotis_device/devices/dynamixel/MX-64.device
Normal file → Executable file
@@ -1,66 +1,66 @@
|
||||
[device info]
|
||||
model_name = MX-64
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
68 | current_consumption | 2 | RW | RAM | 0 | 4095 | N
|
||||
70 | torque_control_mode | 1 | RW | RAM | 0 | 1 | N
|
||||
71 | torque_control_goal | 2 | RW | RAM | 0 | 2047 | N
|
||||
73 | goal_acceleration | 1 | RW | RAM | 0 | 254 | N
|
||||
|
||||
[device info]
|
||||
model_name = MX-64
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name =
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name =
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name =
|
||||
velocity_p_gain_item_name =
|
||||
|
||||
[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 | -32768 | 32767 | Y
|
||||
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
|
||||
68 | current_consumption | 2 | RW | RAM | 0 | 4095 | N
|
||||
70 | torque_control_mode | 1 | RW | RAM | 0 | 1 | N
|
||||
71 | torque_control_goal | 2 | RW | RAM | 0 | 2047 | N
|
||||
73 | goal_acceleration | 1 | RW | RAM | 0 | 254 | N
|
||||
|
||||
|
162
robotis_device/devices/dynamixel/XM-430-W210.device
Normal file → Executable file
162
robotis_device/devices/dynamixel/XM-430-W210.device
Normal file → Executable file
@@ -1,81 +1,81 @@
|
||||
[device info]
|
||||
model_name = XM-430-W210
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 235.53647082
|
||||
velocity_to_value_ratio = 41.707853
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
[device info]
|
||||
model_name = XM-430-W210
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 235.53647082
|
||||
velocity_to_value_ratio = 41.707853
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
|
162
robotis_device/devices/dynamixel/XM-430-W350.device
Normal file → Executable file
162
robotis_device/devices/dynamixel/XM-430-W350.device
Normal file → Executable file
@@ -1,81 +1,81 @@
|
||||
[device info]
|
||||
model_name = XM-430-W350
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 149.795386991
|
||||
velocity_to_value_ratio = 41.707853
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
[device info]
|
||||
model_name = XM-430-W350
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 149.795386991
|
||||
velocity_to_value_ratio = 41.707853
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
|
160
robotis_device/devices/dynamixel/XM-430.device
Normal file → Executable file
160
robotis_device/devices/dynamixel/XM-430.device
Normal file → Executable file
@@ -1,80 +1,80 @@
|
||||
[device info]
|
||||
model_name = XM-430
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 149.795386991
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
[device info]
|
||||
model_name = XM-430
|
||||
device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 149.795386991
|
||||
|
||||
value_of_0_radian_position = 2048
|
||||
value_of_min_radian_position = 0
|
||||
value_of_max_radian_position = 4095
|
||||
min_radian = -3.14159265
|
||||
max_radian = 3.14159265
|
||||
|
||||
torque_enable_item_name = torque_enable
|
||||
present_position_item_name = present_position
|
||||
present_velocity_item_name = present_velocity
|
||||
present_current_item_name = present_current
|
||||
goal_position_item_name = goal_position
|
||||
goal_velocity_item_name = goal_velocity
|
||||
goal_current_item_name = goal_current
|
||||
position_d_gain_item_name = position_d_gain
|
||||
position_i_gain_item_name = position_i_gain
|
||||
position_p_gain_item_name = position_p_gain
|
||||
velocity_d_gain_item_name =
|
||||
velocity_i_gain_item_name = velocity_i_gain
|
||||
velocity_p_gain_item_name = velocity_p_gain
|
||||
|
||||
[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 | 7 | N
|
||||
9 | return_delay_time | 1 | RW | EEPROM | 0 | 254 | N
|
||||
11 | operating_mode | 1 | RW | EEPROM | 0 | 16 | N
|
||||
20 | homing_offset | 4 | RW | EEPROM | -1044479 | 1044479 | Y
|
||||
24 | moving_threshold | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
31 | max_temperature_limit | 1 | RW | EEPROM | 0 | 100 | N
|
||||
32 | max_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
34 | min_voltage_limit | 2 | RW | EEPROM | 95 | 160 | N
|
||||
36 | pwm_limit | 2 | RW | EEPROM | 0 | 885 | N
|
||||
38 | current_limit | 2 | RW | EEPROM | 0 | 1193 | N
|
||||
40 | acceleration_limit | 4 | RW | EEPROM | 0 | 32767 | N
|
||||
44 | velocity_limit | 4 | RW | EEPROM | 0 | 1023 | N
|
||||
48 | max_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
52 | min_position_limit | 4 | RW | EEPROM | 0 | 4095 | N
|
||||
63 | shutdown | 1 | RW | EEPROM | 0 | 255 | N
|
||||
64 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
65 | LED | 1 | RW | RAM | 0 | 1 | N
|
||||
68 | status_return_level | 1 | RW | RAM | 0 | 2 | N
|
||||
69 | registered_instruction | 1 | R | RAM | 0 | 1 | N
|
||||
70 | hardware_error_status | 1 | R | RAM | 0 | 255 | N
|
||||
76 | velocity_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
78 | velocity_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
80 | position_d_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
82 | position_i_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
84 | position_p_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
88 | feedforward_2nd_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
90 | feedforward_1st_gain | 2 | RW | RAM | 0 | 32767 | N
|
||||
100 | goal_pwm | 2 | RW | RAM | 0 | 885 | N
|
||||
102 | goal_current | 2 | RW | RAM | 0 | 1193 | N
|
||||
104 | goal_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
108 | profile_acceleration | 4 | RW | RAM | 0 | 32767 | N
|
||||
112 | profile_velocity | 4 | RW | RAM | 0 | 1023 | N
|
||||
116 | goal_position | 4 | RW | RAM | -1048575 | 1048575 | Y
|
||||
120 | realtime_tick | 2 | R | RAM | 0 | 32767 | N
|
||||
122 | moving | 1 | R | RAM | 0 | 1 | N
|
||||
123 | moving_status | 1 | R | RAM | 0 | 255 | N
|
||||
124 | present_pwm | 2 | R | RAM | 0 | 885 | N
|
||||
126 | present_current | 2 | R | RAM | 0 | 1193 | N
|
||||
128 | present_velocity | 4 | R | RAM | 0 | 1023 | N
|
||||
132 | present_position | 4 | R | RAM | -2147483648 | 2147483647 | Y
|
||||
136 | velocity_trajectory | 4 | R | RAM | 0 | 1023 | N
|
||||
140 | position_trajectory | 4 | R | RAM | 0 | 4095 | N
|
||||
144 | present_input_voltage | 2 | R | RAM | 95 | 160 | N
|
||||
146 | present_temperature | 1 | R | RAM | 0 | 100 | N
|
||||
168 | indirect_address_1 | 2 | RW | RAM | 0 | 65535 | N
|
||||
224 | indirect_data_1 | 1 | RW | RAM | 0 | 255 | N
|
||||
578 | indirect_address_29 | 2 | RW | RAM | 0 | 65535 | N
|
||||
634 | indirect_data_29 | 1 | RW | RAM | 0 | 255 | N
|
||||
|
48
robotis_device/devices/sensor/CM-740.device
Normal file → Executable file
48
robotis_device/devices/sensor/CM-740.device
Normal file → Executable file
@@ -1,25 +1,25 @@
|
||||
[device info]
|
||||
model_name = CM-740
|
||||
device_type = sensor
|
||||
|
||||
[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
|
||||
16 | status_return_level | 1 | RW | EEPROM | 0 | 2 | N
|
||||
24 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
25 | LED | 1 | RW | RAM | 0 | 7 | N
|
||||
26 | LED_5 | 2 | RW | RAM | 0 | 32767 | N
|
||||
28 | LED_6 | 2 | RW | RAM | 0 | 32767 | N
|
||||
30 | button | 1 | RW | RAM | 0 | 3 | N
|
||||
38 | gyro_z | 2 | R | RAM | 0 | 1023 | N
|
||||
40 | gyro_y | 2 | R | RAM | 0 | 1023 | N
|
||||
42 | gyro_x | 2 | R | RAM | 0 | 1023 | N
|
||||
44 | acc_x | 2 | R | RAM | 0 | 1023 | N
|
||||
46 | acc_y | 2 | R | RAM | 0 | 1023 | N
|
||||
48 | acc_z | 2 | R | RAM | 0 | 1023 | N
|
||||
50 | present_voltage | 1 | R | RAM | 50 | 250 | N
|
||||
[device info]
|
||||
model_name = CM-740
|
||||
device_type = sensor
|
||||
|
||||
[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
|
||||
16 | status_return_level | 1 | RW | EEPROM | 0 | 2 | N
|
||||
24 | torque_enable | 1 | RW | RAM | 0 | 1 | N
|
||||
25 | LED | 1 | RW | RAM | 0 | 7 | N
|
||||
26 | LED_5 | 2 | RW | RAM | 0 | 32767 | N
|
||||
28 | LED_6 | 2 | RW | RAM | 0 | 32767 | N
|
||||
30 | button | 1 | RW | RAM | 0 | 3 | N
|
||||
38 | gyro_z | 2 | R | RAM | 0 | 1023 | N
|
||||
40 | gyro_y | 2 | R | RAM | 0 | 1023 | N
|
||||
42 | gyro_x | 2 | R | RAM | 0 | 1023 | N
|
||||
44 | acc_x | 2 | R | RAM | 0 | 1023 | N
|
||||
46 | acc_y | 2 | R | RAM | 0 | 1023 | N
|
||||
48 | acc_z | 2 | R | RAM | 0 | 1023 | N
|
||||
50 | present_voltage | 1 | R | RAM | 50 | 250 | N
|
||||
|
168
robotis_device/include/robotis_device/control_table_item.h
Normal file → Executable file
168
robotis_device/include/robotis_device/control_table_item.h
Normal file → Executable file
@@ -1,84 +1,84 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* control_table_item.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_
|
||||
#define ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
enum AccessType {
|
||||
Read,
|
||||
ReadWrite
|
||||
};
|
||||
|
||||
enum MemoryType {
|
||||
EEPROM,
|
||||
RAM
|
||||
};
|
||||
|
||||
class ControlTableItem
|
||||
{
|
||||
public:
|
||||
std::string item_name_;
|
||||
uint16_t address_;
|
||||
AccessType access_type_;
|
||||
MemoryType memory_type_;
|
||||
uint8_t data_length_;
|
||||
int32_t data_min_value_;
|
||||
int32_t data_max_value_;
|
||||
bool is_signed_;
|
||||
|
||||
ControlTableItem()
|
||||
: item_name_(""),
|
||||
address_(0),
|
||||
access_type_(Read),
|
||||
memory_type_(RAM),
|
||||
data_length_(0),
|
||||
data_min_value_(0),
|
||||
data_max_value_(0),
|
||||
is_signed_(false)
|
||||
{ }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* control_table_item.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_
|
||||
#define ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
enum AccessType {
|
||||
Read,
|
||||
ReadWrite
|
||||
};
|
||||
|
||||
enum MemoryType {
|
||||
EEPROM,
|
||||
RAM
|
||||
};
|
||||
|
||||
class ControlTableItem
|
||||
{
|
||||
public:
|
||||
std::string item_name_;
|
||||
uint16_t address_;
|
||||
AccessType access_type_;
|
||||
MemoryType memory_type_;
|
||||
uint8_t data_length_;
|
||||
int32_t data_min_value_;
|
||||
int32_t data_max_value_;
|
||||
bool is_signed_;
|
||||
|
||||
ControlTableItem()
|
||||
: item_name_(""),
|
||||
address_(0),
|
||||
access_type_(Read),
|
||||
memory_type_(RAM),
|
||||
data_length_(0),
|
||||
data_min_value_(0),
|
||||
data_max_value_(0),
|
||||
is_signed_(false)
|
||||
{ }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_CONTROL_TABLE_ITEM_H_ */
|
||||
|
136
robotis_device/include/robotis_device/device.h
Normal file → Executable file
136
robotis_device/include/robotis_device/device.h
Normal file → Executable file
@@ -1,68 +1,68 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* device.h
|
||||
*
|
||||
* Created on: 2016. 5. 12.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DEVICE_H_
|
||||
#define ROBOTIS_DEVICE_DEVICE_H_
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "control_table_item.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Device
|
||||
{
|
||||
public:
|
||||
uint8_t id_;
|
||||
float protocol_version_;
|
||||
std::string model_name_;
|
||||
std::string port_name_;
|
||||
|
||||
std::map<std::string, ControlTableItem *> ctrl_table_;
|
||||
std::vector<ControlTableItem *> bulk_read_items_;
|
||||
|
||||
virtual ~Device() { }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DEVICE_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* device.h
|
||||
*
|
||||
* Created on: 2016. 5. 12.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DEVICE_H_
|
||||
#define ROBOTIS_DEVICE_DEVICE_H_
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "control_table_item.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Device
|
||||
{
|
||||
public:
|
||||
uint8_t id_;
|
||||
float protocol_version_;
|
||||
std::string model_name_;
|
||||
std::string port_name_;
|
||||
|
||||
std::map<std::string, ControlTableItem *> ctrl_table_;
|
||||
std::vector<ControlTableItem *> bulk_read_items_;
|
||||
|
||||
virtual ~Device() { }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DEVICE_H_ */
|
||||
|
194
robotis_device/include/robotis_device/dynamixel.h
Normal file → Executable file
194
robotis_device/include/robotis_device/dynamixel.h
Normal file → Executable file
@@ -1,97 +1,97 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* dynamixel.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DYNAMIXEL_H_
|
||||
#define ROBOTIS_DEVICE_DYNAMIXEL_H_
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
#include "control_table_item.h"
|
||||
#include "device.h"
|
||||
#include "dynamixel_state.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Dynamixel : public Device
|
||||
{
|
||||
public:
|
||||
std::string ctrl_module_name_;
|
||||
DynamixelState *dxl_state_;
|
||||
|
||||
double velocity_to_value_ratio_;
|
||||
double torque_to_current_value_ratio_;
|
||||
|
||||
int32_t value_of_0_radian_position_;
|
||||
int32_t value_of_min_radian_position_;
|
||||
int32_t value_of_max_radian_position_;
|
||||
double min_radian_;
|
||||
double max_radian_;
|
||||
|
||||
ControlTableItem *torque_enable_item_;
|
||||
ControlTableItem *present_position_item_;
|
||||
ControlTableItem *present_velocity_item_;
|
||||
ControlTableItem *present_current_item_;
|
||||
ControlTableItem *goal_position_item_;
|
||||
ControlTableItem *goal_velocity_item_;
|
||||
ControlTableItem *goal_current_item_;
|
||||
ControlTableItem *position_p_gain_item_;
|
||||
ControlTableItem *position_i_gain_item_;
|
||||
ControlTableItem *position_d_gain_item_;
|
||||
ControlTableItem *velocity_p_gain_item_;
|
||||
ControlTableItem *velocity_i_gain_item_;
|
||||
ControlTableItem *velocity_d_gain_item_;
|
||||
|
||||
Dynamixel(int id, std::string model_name, float protocol_version);
|
||||
|
||||
double convertValue2Radian(int32_t value);
|
||||
int32_t convertRadian2Value(double radian);
|
||||
|
||||
double convertValue2Velocity(int32_t value);
|
||||
int32_t convertVelocity2Value(double velocity);
|
||||
|
||||
double convertValue2Torque(int16_t value);
|
||||
int16_t convertTorque2Value(double torque);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DYNAMIXEL_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* dynamixel.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DYNAMIXEL_H_
|
||||
#define ROBOTIS_DEVICE_DYNAMIXEL_H_
|
||||
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
#include "control_table_item.h"
|
||||
#include "device.h"
|
||||
#include "dynamixel_state.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Dynamixel : public Device
|
||||
{
|
||||
public:
|
||||
std::string ctrl_module_name_;
|
||||
DynamixelState *dxl_state_;
|
||||
|
||||
double velocity_to_value_ratio_;
|
||||
double torque_to_current_value_ratio_;
|
||||
|
||||
int32_t value_of_0_radian_position_;
|
||||
int32_t value_of_min_radian_position_;
|
||||
int32_t value_of_max_radian_position_;
|
||||
double min_radian_;
|
||||
double max_radian_;
|
||||
|
||||
ControlTableItem *torque_enable_item_;
|
||||
ControlTableItem *present_position_item_;
|
||||
ControlTableItem *present_velocity_item_;
|
||||
ControlTableItem *present_current_item_;
|
||||
ControlTableItem *goal_position_item_;
|
||||
ControlTableItem *goal_velocity_item_;
|
||||
ControlTableItem *goal_current_item_;
|
||||
ControlTableItem *position_p_gain_item_;
|
||||
ControlTableItem *position_i_gain_item_;
|
||||
ControlTableItem *position_d_gain_item_;
|
||||
ControlTableItem *velocity_p_gain_item_;
|
||||
ControlTableItem *velocity_i_gain_item_;
|
||||
ControlTableItem *velocity_d_gain_item_;
|
||||
|
||||
Dynamixel(int id, std::string model_name, float protocol_version);
|
||||
|
||||
double convertValue2Radian(int32_t value);
|
||||
int32_t convertRadian2Value(double radian);
|
||||
|
||||
double convertValue2Velocity(int32_t value);
|
||||
int32_t convertVelocity2Value(double velocity);
|
||||
|
||||
double convertValue2Torque(int16_t value);
|
||||
int16_t convertTorque2Value(double torque);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DYNAMIXEL_H_ */
|
||||
|
192
robotis_device/include/robotis_device/dynamixel_state.h
Normal file → Executable file
192
robotis_device/include/robotis_device/dynamixel_state.h
Normal file → Executable file
@@ -1,96 +1,96 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* dynamixel_state.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_
|
||||
#define ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "time_stamp.h"
|
||||
|
||||
#define INDIRECT_DATA_1 "indirect_data_1"
|
||||
#define INDIRECT_ADDRESS_1 "indirect_address_1"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class DynamixelState
|
||||
{
|
||||
public:
|
||||
TimeStamp update_time_stamp_;
|
||||
|
||||
double present_position_;
|
||||
double present_velocity_;
|
||||
double present_torque_;
|
||||
double goal_position_;
|
||||
double goal_velocity_;
|
||||
double goal_torque_;
|
||||
int position_p_gain_;
|
||||
int position_i_gain_;
|
||||
int position_d_gain_;
|
||||
int velocity_p_gain_;
|
||||
int velocity_i_gain_;
|
||||
int velocity_d_gain_;
|
||||
|
||||
std::map<std::string, uint32_t> bulk_read_table_;
|
||||
|
||||
double position_offset_;
|
||||
|
||||
DynamixelState()
|
||||
: update_time_stamp_(0, 0),
|
||||
present_position_(0.0),
|
||||
present_velocity_(0.0),
|
||||
present_torque_(0.0),
|
||||
goal_position_(0.0),
|
||||
goal_velocity_(0.0),
|
||||
goal_torque_(0.0),
|
||||
position_p_gain_(0),
|
||||
position_i_gain_(0),
|
||||
position_d_gain_(0),
|
||||
velocity_p_gain_(0),
|
||||
velocity_i_gain_(0),
|
||||
velocity_d_gain_(0),
|
||||
position_offset_(0)
|
||||
{
|
||||
bulk_read_table_.clear();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* dynamixel_state.h
|
||||
*
|
||||
* Created on: 2015. 12. 8.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_
|
||||
#define ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "time_stamp.h"
|
||||
|
||||
#define INDIRECT_DATA_1 "indirect_data_1"
|
||||
#define INDIRECT_ADDRESS_1 "indirect_address_1"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class DynamixelState
|
||||
{
|
||||
public:
|
||||
TimeStamp update_time_stamp_;
|
||||
|
||||
double present_position_;
|
||||
double present_velocity_;
|
||||
double present_torque_;
|
||||
double goal_position_;
|
||||
double goal_velocity_;
|
||||
double goal_torque_;
|
||||
int position_p_gain_;
|
||||
int position_i_gain_;
|
||||
int position_d_gain_;
|
||||
int velocity_p_gain_;
|
||||
int velocity_i_gain_;
|
||||
int velocity_d_gain_;
|
||||
|
||||
std::map<std::string, uint32_t> bulk_read_table_;
|
||||
|
||||
double position_offset_;
|
||||
|
||||
DynamixelState()
|
||||
: update_time_stamp_(0, 0),
|
||||
present_position_(0.0),
|
||||
present_velocity_(0.0),
|
||||
present_torque_(0.0),
|
||||
goal_position_(0.0),
|
||||
goal_velocity_(0.0),
|
||||
goal_torque_(0.0),
|
||||
position_p_gain_(0),
|
||||
position_i_gain_(0),
|
||||
position_d_gain_(0),
|
||||
velocity_p_gain_(0),
|
||||
velocity_i_gain_(0),
|
||||
velocity_d_gain_(0),
|
||||
position_offset_(0)
|
||||
{
|
||||
bulk_read_table_.clear();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_DYNAMIXEL_STATE_H_ */
|
||||
|
156
robotis_device/include/robotis_device/robot.h
Normal file → Executable file
156
robotis_device/include/robotis_device/robot.h
Normal file → Executable file
@@ -1,78 +1,78 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* robot.h
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_ROBOT_H_
|
||||
#define ROBOTIS_DEVICE_ROBOT_H_
|
||||
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "sensor.h"
|
||||
#include "dynamixel.h"
|
||||
#include "dynamixel_sdk/port_handler.h"
|
||||
|
||||
#define DYNAMIXEL "dynamixel"
|
||||
#define SENSOR "sensor"
|
||||
|
||||
#define SESSION_PORT_INFO "port info"
|
||||
#define SESSION_DEVICE_INFO "device info"
|
||||
|
||||
#define SESSION_TYPE_INFO "type info"
|
||||
#define SESSION_CONTROL_TABLE "control table"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Robot
|
||||
{
|
||||
public:
|
||||
std::map<std::string, dynamixel::PortHandler *> ports_; // string: port name
|
||||
std::map<std::string, std::string> port_default_device_; // port name, default device 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);
|
||||
|
||||
Sensor *getSensor(std::string path, int id, std::string port, float protocol_version);
|
||||
Dynamixel *getDynamixel(std::string path, int id, std::string port, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_ROBOT_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* robot.h
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_ROBOT_H_
|
||||
#define ROBOTIS_DEVICE_ROBOT_H_
|
||||
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "sensor.h"
|
||||
#include "dynamixel.h"
|
||||
#include "dynamixel_sdk/port_handler.h"
|
||||
|
||||
#define DYNAMIXEL "dynamixel"
|
||||
#define SENSOR "sensor"
|
||||
|
||||
#define SESSION_PORT_INFO "port info"
|
||||
#define SESSION_DEVICE_INFO "device info"
|
||||
|
||||
#define SESSION_TYPE_INFO "type info"
|
||||
#define SESSION_CONTROL_TABLE "control table"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Robot
|
||||
{
|
||||
public:
|
||||
std::map<std::string, dynamixel::PortHandler *> ports_; // string: port name
|
||||
std::map<std::string, std::string> port_default_device_; // port name, default device 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);
|
||||
|
||||
Sensor *getSensor(std::string path, int id, std::string port, float protocol_version);
|
||||
Dynamixel *getDynamixel(std::string path, int id, std::string port, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_ROBOT_H_ */
|
||||
|
126
robotis_device/include/robotis_device/sensor.h
Normal file → Executable file
126
robotis_device/include/robotis_device/sensor.h
Normal file → Executable file
@@ -1,63 +1,63 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_SENSOR_H_
|
||||
#define ROBOTIS_DEVICE_SENSOR_H_
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "device.h"
|
||||
#include "sensor_state.h"
|
||||
#include "control_table_item.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Sensor : public Device
|
||||
{
|
||||
public:
|
||||
SensorState *sensor_state_;
|
||||
|
||||
Sensor(int id, std::string model_name, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_SENSOR_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor.h
|
||||
*
|
||||
* Created on: 2015. 12. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_SENSOR_H_
|
||||
#define ROBOTIS_DEVICE_SENSOR_H_
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "device.h"
|
||||
#include "sensor_state.h"
|
||||
#include "control_table_item.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class Sensor : public Device
|
||||
{
|
||||
public:
|
||||
SensorState *sensor_state_;
|
||||
|
||||
Sensor(int id, std::string model_name, float protocol_version);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_SENSOR_H_ */
|
||||
|
128
robotis_device/include/robotis_device/sensor_state.h
Normal file → Executable file
128
robotis_device/include/robotis_device/sensor_state.h
Normal file → Executable file
@@ -1,64 +1,64 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor_state.h
|
||||
*
|
||||
* Created on: 2016. 5. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_SENSOR_STATE_H_
|
||||
#define ROBOTIS_DEVICE_SENSOR_STATE_H_
|
||||
|
||||
|
||||
#include "time_stamp.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class SensorState
|
||||
{
|
||||
public:
|
||||
TimeStamp update_time_stamp_;
|
||||
|
||||
std::map<std::string, uint32_t> bulk_read_table_;
|
||||
|
||||
SensorState()
|
||||
: update_time_stamp_(0, 0)
|
||||
{
|
||||
bulk_read_table_.clear();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_SENSOR_STATE_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor_state.h
|
||||
*
|
||||
* Created on: 2016. 5. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_SENSOR_STATE_H_
|
||||
#define ROBOTIS_DEVICE_SENSOR_STATE_H_
|
||||
|
||||
|
||||
#include "time_stamp.h"
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class SensorState
|
||||
{
|
||||
public:
|
||||
TimeStamp update_time_stamp_;
|
||||
|
||||
std::map<std::string, uint32_t> bulk_read_table_;
|
||||
|
||||
SensorState()
|
||||
: update_time_stamp_(0, 0)
|
||||
{
|
||||
bulk_read_table_.clear();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_SENSOR_STATE_H_ */
|
||||
|
118
robotis_device/include/robotis_device/time_stamp.h
Normal file → Executable file
118
robotis_device/include/robotis_device/time_stamp.h
Normal file → Executable file
@@ -1,59 +1,59 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* time_stamp.h
|
||||
*
|
||||
* Created on: 2016. 5. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_TIME_STAMP_H_
|
||||
#define ROBOTIS_DEVICE_TIME_STAMP_H_
|
||||
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class TimeStamp {
|
||||
public:
|
||||
long sec_;
|
||||
long nsec_;
|
||||
|
||||
TimeStamp(long sec, long nsec)
|
||||
: sec_(sec),
|
||||
nsec_(nsec)
|
||||
{ }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_TIME_STAMP_H_ */
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* time_stamp.h
|
||||
*
|
||||
* Created on: 2016. 5. 16.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#ifndef ROBOTIS_DEVICE_TIME_STAMP_H_
|
||||
#define ROBOTIS_DEVICE_TIME_STAMP_H_
|
||||
|
||||
|
||||
namespace robotis_framework
|
||||
{
|
||||
|
||||
class TimeStamp {
|
||||
public:
|
||||
long sec_;
|
||||
long nsec_;
|
||||
|
||||
TimeStamp(long sec, long nsec)
|
||||
: sec_(sec),
|
||||
nsec_(nsec)
|
||||
{ }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif /* ROBOTIS_DEVICE_TIME_STAMP_H_ */
|
||||
|
46
robotis_device/package.xml
Normal file → Executable file
46
robotis_device/package.xml
Normal file → Executable file
@@ -1,23 +1,23 @@
|
||||
<?xml version="1.0"?>
|
||||
<package>
|
||||
<name>robotis_device</name>
|
||||
<version>0.1.1</version>
|
||||
<description>
|
||||
The package that manages device information of ROBOTIS robots.
|
||||
This package is used when reading device information with the robot information file
|
||||
from the robotis_controller package.
|
||||
</description>
|
||||
<license>BSD</license>
|
||||
<author email="zerom@robotis.com">Zerom</author>
|
||||
<maintainer email="pyo@robotis.com">Pyo</maintainer>
|
||||
<url type="bugtracker">https://github.com/ROBOTIS-GIT/ROBOTIS-Framework/issues</url>
|
||||
<url type="repository">https://github.com/ROBOTIS-GIT/ROBOTIS-Framework</url>
|
||||
<url type="website">http://wiki.ros.org/robotis_device</url>
|
||||
<buildtool_depend>catkin</buildtool_depend>
|
||||
<build_depend>roscpp</build_depend>
|
||||
<build_depend>rospy</build_depend>
|
||||
<build_depend>dynamixel_sdk</build_depend>
|
||||
<run_depend>roscpp</run_depend>
|
||||
<run_depend>rospy</run_depend>
|
||||
<run_depend>dynamixel_sdk</run_depend>
|
||||
</package>
|
||||
<?xml version="1.0"?>
|
||||
<package>
|
||||
<name>robotis_device</name>
|
||||
<version>0.1.1</version>
|
||||
<description>
|
||||
The package that manages device information of ROBOTIS robots.
|
||||
This package is used when reading device information with the robot information file
|
||||
from the robotis_controller package.
|
||||
</description>
|
||||
<license>BSD</license>
|
||||
<author email="zerom@robotis.com">Zerom</author>
|
||||
<maintainer email="pyo@robotis.com">Pyo</maintainer>
|
||||
<url type="bugtracker">https://github.com/ROBOTIS-GIT/ROBOTIS-Framework/issues</url>
|
||||
<url type="repository">https://github.com/ROBOTIS-GIT/ROBOTIS-Framework</url>
|
||||
<url type="website">http://wiki.ros.org/robotis_device</url>
|
||||
<buildtool_depend>catkin</buildtool_depend>
|
||||
<build_depend>roscpp</build_depend>
|
||||
<build_depend>rospy</build_depend>
|
||||
<build_depend>dynamixel_sdk</build_depend>
|
||||
<run_depend>roscpp</run_depend>
|
||||
<run_depend>rospy</run_depend>
|
||||
<run_depend>dynamixel_sdk</run_depend>
|
||||
</package>
|
||||
|
0
robotis_device/src/robotis_device/dynamixel.cpp
Normal file → Executable file
0
robotis_device/src/robotis_device/dynamixel.cpp
Normal file → Executable file
974
robotis_device/src/robotis_device/robot.cpp
Normal file → Executable file
974
robotis_device/src/robotis_device/robot.cpp
Normal file → Executable file
@@ -1,487 +1,487 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* robot.cpp
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
||||
#include "robotis_device/robot.h"
|
||||
|
||||
using namespace robotis_framework;
|
||||
|
||||
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 == SESSION_PORT_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 3)
|
||||
continue;
|
||||
|
||||
std::cout << tokens[0] << " added. (baudrate: " << tokens[1] << ")" << std::endl;
|
||||
|
||||
ports_[tokens[0]] = dynamixel::PortHandler::getPortHandler(tokens[0].c_str());
|
||||
ports_[tokens[0]]->setBaudRate(std::atoi(tokens[1].c_str()));
|
||||
port_default_device_[tokens[0]] = tokens[2];
|
||||
}
|
||||
else if (session == SESSION_DEVICE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 7)
|
||||
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);
|
||||
|
||||
Dynamixel *dxl = dxls_[dev_name];
|
||||
std::vector<std::string> sub_tokens = split(tokens[6], ',');
|
||||
if (sub_tokens.size() > 0)
|
||||
{
|
||||
std::map<std::string, ControlTableItem *>::iterator indirect_it = dxl->ctrl_table_.find(INDIRECT_ADDRESS_1);
|
||||
if (indirect_it != dxl->ctrl_table_.end()) // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
uint16_t indirect_data_addr = dxl->ctrl_table_[INDIRECT_DATA_1]->address_;
|
||||
for (int _i = 0; _i < sub_tokens.size(); _i++)
|
||||
{
|
||||
dxl->bulk_read_items_.push_back(new ControlTableItem());
|
||||
ControlTableItem *dest_item = dxl->bulk_read_items_[_i];
|
||||
ControlTableItem *src_item = dxl->ctrl_table_[sub_tokens[_i]];
|
||||
|
||||
dest_item->item_name_ = src_item->item_name_;
|
||||
dest_item->address_ = indirect_data_addr;
|
||||
dest_item->access_type_ = src_item->access_type_;
|
||||
dest_item->memory_type_ = src_item->memory_type_;
|
||||
dest_item->data_length_ = src_item->data_length_;
|
||||
dest_item->data_min_value_ = src_item->data_min_value_;
|
||||
dest_item->data_max_value_ = src_item->data_max_value_;
|
||||
dest_item->is_signed_ = src_item->is_signed_;
|
||||
|
||||
indirect_data_addr += dest_item->data_length_;
|
||||
}
|
||||
}
|
||||
else // INDIRECT_ADDRESS_1 not exist
|
||||
{
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
{
|
||||
if (dxl->ctrl_table_[sub_tokens[i]] != NULL)
|
||||
dxl->bulk_read_items_.push_back(dxl->ctrl_table_[sub_tokens[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (tokens[0] == SENSOR)
|
||||
{
|
||||
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];
|
||||
|
||||
sensors_[dev_name] = getSensor(file_path, id, port, protocol);
|
||||
|
||||
Sensor *sensor = sensors_[dev_name];
|
||||
std::vector<std::string> sub_tokens = split(tokens[6], ',');
|
||||
if (sub_tokens.size() > 0)
|
||||
{
|
||||
std::map<std::string, ControlTableItem *>::iterator indirect_it = sensor->ctrl_table_.find(INDIRECT_ADDRESS_1);
|
||||
if (indirect_it != sensor->ctrl_table_.end()) // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
uint16_t indirect_data_addr = sensor->ctrl_table_[INDIRECT_DATA_1]->address_;
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
{
|
||||
sensor->bulk_read_items_.push_back(new ControlTableItem());
|
||||
ControlTableItem *dest_item = sensor->bulk_read_items_[i];
|
||||
ControlTableItem *src_item = sensor->ctrl_table_[sub_tokens[i]];
|
||||
|
||||
dest_item->item_name_ = src_item->item_name_;
|
||||
dest_item->address_ = indirect_data_addr;
|
||||
dest_item->access_type_ = src_item->access_type_;
|
||||
dest_item->memory_type_ = src_item->memory_type_;
|
||||
dest_item->data_length_ = src_item->data_length_;
|
||||
dest_item->data_min_value_ = src_item->data_min_value_;
|
||||
dest_item->data_max_value_ = src_item->data_max_value_;
|
||||
dest_item->is_signed_ = src_item->is_signed_;
|
||||
|
||||
indirect_data_addr += dest_item->data_length_;
|
||||
}
|
||||
}
|
||||
else // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
sensor->bulk_read_items_.push_back(sensor->ctrl_table_[sub_tokens[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Unable to open file : " + robot_file_path << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
Sensor *Robot::getSensor(std::string path, int id, std::string port, float protocol_version)
|
||||
{
|
||||
Sensor *sensor;
|
||||
|
||||
// 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 == SESSION_DEVICE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if (tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if (tokens[0] == "model_name")
|
||||
sensor = new Sensor(id, tokens[1], protocol_version);
|
||||
}
|
||||
else if (session == SESSION_CONTROL_TABLE)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 8)
|
||||
continue;
|
||||
|
||||
ControlTableItem *item = new ControlTableItem();
|
||||
item->item_name_ = tokens[1];
|
||||
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_ = ReadWrite;
|
||||
|
||||
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;
|
||||
sensor->ctrl_table_[tokens[1]] = item;
|
||||
}
|
||||
}
|
||||
sensor->port_name_ = port;
|
||||
|
||||
fprintf(stderr, "(%s) [ID:%3d] %14s added. \n", port.c_str(), sensor->id_, sensor->model_name_.c_str());
|
||||
//std::cout << "[ID:" << (int)(_sensor->id) << "] " << _sensor->model_name << " added. (" << port << ")" << std::endl;
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
std::cout << "Unable to open file : " + path << std::endl;
|
||||
|
||||
return sensor;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
std::string torque_enable_item_name = "";
|
||||
std::string present_position_item_name = "";
|
||||
std::string present_velocity_item_name = "";
|
||||
std::string present_current_item_name = "";
|
||||
std::string goal_position_item_name = "";
|
||||
std::string goal_velocity_item_name = "";
|
||||
std::string goal_current_item_name = "";
|
||||
std::string position_d_gain_item_name = "";
|
||||
std::string position_i_gain_item_name = "";
|
||||
std::string position_p_gain_item_name = "";
|
||||
std::string velocity_d_gain_item_name = "";
|
||||
std::string velocity_i_gain_item_name = "";
|
||||
std::string velocity_p_gain_item_name = "";
|
||||
|
||||
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 == 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 == SESSION_TYPE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if (tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if (tokens[0] == "torque_to_current_value_ratio")
|
||||
dxl->torque_to_current_value_ratio_ = std::atof(tokens[1].c_str());
|
||||
else if (tokens[0] == "velocity_to_value_ratio")
|
||||
dxl->velocity_to_value_ratio_ = std::atof(tokens[1].c_str());
|
||||
|
||||
else if (tokens[0] == "value_of_0_radian_position")
|
||||
dxl->value_of_0_radian_position_ = std::atoi(tokens[1].c_str());
|
||||
else if (tokens[0] == "value_of_min_radian_position")
|
||||
dxl->value_of_min_radian_position_ = std::atoi(tokens[1].c_str());
|
||||
else if (tokens[0] == "value_of_max_radian_position")
|
||||
dxl->value_of_max_radian_position_ = 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_item_name")
|
||||
torque_enable_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_position_item_name")
|
||||
present_position_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_velocity_item_name")
|
||||
present_velocity_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_current_item_name")
|
||||
present_current_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_position_item_name")
|
||||
goal_position_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_velocity_item_name")
|
||||
goal_velocity_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_current_item_name")
|
||||
goal_current_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_d_gain_item_name")
|
||||
position_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_i_gain_item_name")
|
||||
position_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_p_gain_item_name")
|
||||
position_p_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_d_gain_item_name")
|
||||
velocity_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_i_gain_item_name")
|
||||
velocity_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_p_gain_item_name")
|
||||
velocity_p_gain_item_name = tokens[1];
|
||||
}
|
||||
else if (session == SESSION_CONTROL_TABLE)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 8)
|
||||
continue;
|
||||
|
||||
ControlTableItem *item = new ControlTableItem();
|
||||
item->item_name_ = tokens[1];
|
||||
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_ = ReadWrite;
|
||||
|
||||
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;
|
||||
|
||||
if (dxl->ctrl_table_[torque_enable_item_name] != NULL)
|
||||
dxl->torque_enable_item_ = dxl->ctrl_table_[torque_enable_item_name];
|
||||
if (dxl->ctrl_table_[present_position_item_name] != NULL)
|
||||
dxl->present_position_item_ = dxl->ctrl_table_[present_position_item_name];
|
||||
if (dxl->ctrl_table_[present_velocity_item_name] != NULL)
|
||||
dxl->present_velocity_item_ = dxl->ctrl_table_[present_velocity_item_name];
|
||||
if (dxl->ctrl_table_[present_current_item_name] != NULL)
|
||||
dxl->present_current_item_ = dxl->ctrl_table_[present_current_item_name];
|
||||
if (dxl->ctrl_table_[goal_position_item_name] != NULL)
|
||||
dxl->goal_position_item_ = dxl->ctrl_table_[goal_position_item_name];
|
||||
if (dxl->ctrl_table_[goal_velocity_item_name] != NULL)
|
||||
dxl->goal_velocity_item_ = dxl->ctrl_table_[goal_velocity_item_name];
|
||||
if (dxl->ctrl_table_[goal_current_item_name] != NULL)
|
||||
dxl->goal_current_item_ = dxl->ctrl_table_[goal_current_item_name];
|
||||
if (dxl->ctrl_table_[position_d_gain_item_name] != NULL)
|
||||
dxl->position_d_gain_item_ = dxl->ctrl_table_[position_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_i_gain_item_name] != NULL)
|
||||
dxl->position_i_gain_item_ = dxl->ctrl_table_[position_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_p_gain_item_name] != NULL)
|
||||
dxl->position_p_gain_item_ = dxl->ctrl_table_[position_p_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_d_gain_item_name] != NULL)
|
||||
dxl->velocity_d_gain_item_ = dxl->ctrl_table_[velocity_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_i_gain_item_name] != NULL)
|
||||
dxl->velocity_i_gain_item_ = dxl->ctrl_table_[velocity_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_p_gain_item_name] != NULL)
|
||||
dxl->velocity_p_gain_item_ = dxl->ctrl_table_[velocity_p_gain_item_name];
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* robot.cpp
|
||||
*
|
||||
* Created on: 2015. 12. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
||||
#include "robotis_device/robot.h"
|
||||
|
||||
using namespace robotis_framework;
|
||||
|
||||
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 == SESSION_PORT_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 3)
|
||||
continue;
|
||||
|
||||
std::cout << tokens[0] << " added. (baudrate: " << tokens[1] << ")" << std::endl;
|
||||
|
||||
ports_[tokens[0]] = dynamixel::PortHandler::getPortHandler(tokens[0].c_str());
|
||||
ports_[tokens[0]]->setBaudRate(std::atoi(tokens[1].c_str()));
|
||||
port_default_device_[tokens[0]] = tokens[2];
|
||||
}
|
||||
else if (session == SESSION_DEVICE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 7)
|
||||
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);
|
||||
|
||||
Dynamixel *dxl = dxls_[dev_name];
|
||||
std::vector<std::string> sub_tokens = split(tokens[6], ',');
|
||||
if (sub_tokens.size() > 0)
|
||||
{
|
||||
std::map<std::string, ControlTableItem *>::iterator indirect_it = dxl->ctrl_table_.find(INDIRECT_ADDRESS_1);
|
||||
if (indirect_it != dxl->ctrl_table_.end()) // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
uint16_t indirect_data_addr = dxl->ctrl_table_[INDIRECT_DATA_1]->address_;
|
||||
for (int _i = 0; _i < sub_tokens.size(); _i++)
|
||||
{
|
||||
dxl->bulk_read_items_.push_back(new ControlTableItem());
|
||||
ControlTableItem *dest_item = dxl->bulk_read_items_[_i];
|
||||
ControlTableItem *src_item = dxl->ctrl_table_[sub_tokens[_i]];
|
||||
|
||||
dest_item->item_name_ = src_item->item_name_;
|
||||
dest_item->address_ = indirect_data_addr;
|
||||
dest_item->access_type_ = src_item->access_type_;
|
||||
dest_item->memory_type_ = src_item->memory_type_;
|
||||
dest_item->data_length_ = src_item->data_length_;
|
||||
dest_item->data_min_value_ = src_item->data_min_value_;
|
||||
dest_item->data_max_value_ = src_item->data_max_value_;
|
||||
dest_item->is_signed_ = src_item->is_signed_;
|
||||
|
||||
indirect_data_addr += dest_item->data_length_;
|
||||
}
|
||||
}
|
||||
else // INDIRECT_ADDRESS_1 not exist
|
||||
{
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
{
|
||||
if (dxl->ctrl_table_[sub_tokens[i]] != NULL)
|
||||
dxl->bulk_read_items_.push_back(dxl->ctrl_table_[sub_tokens[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (tokens[0] == SENSOR)
|
||||
{
|
||||
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];
|
||||
|
||||
sensors_[dev_name] = getSensor(file_path, id, port, protocol);
|
||||
|
||||
Sensor *sensor = sensors_[dev_name];
|
||||
std::vector<std::string> sub_tokens = split(tokens[6], ',');
|
||||
if (sub_tokens.size() > 0)
|
||||
{
|
||||
std::map<std::string, ControlTableItem *>::iterator indirect_it = sensor->ctrl_table_.find(INDIRECT_ADDRESS_1);
|
||||
if (indirect_it != sensor->ctrl_table_.end()) // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
uint16_t indirect_data_addr = sensor->ctrl_table_[INDIRECT_DATA_1]->address_;
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
{
|
||||
sensor->bulk_read_items_.push_back(new ControlTableItem());
|
||||
ControlTableItem *dest_item = sensor->bulk_read_items_[i];
|
||||
ControlTableItem *src_item = sensor->ctrl_table_[sub_tokens[i]];
|
||||
|
||||
dest_item->item_name_ = src_item->item_name_;
|
||||
dest_item->address_ = indirect_data_addr;
|
||||
dest_item->access_type_ = src_item->access_type_;
|
||||
dest_item->memory_type_ = src_item->memory_type_;
|
||||
dest_item->data_length_ = src_item->data_length_;
|
||||
dest_item->data_min_value_ = src_item->data_min_value_;
|
||||
dest_item->data_max_value_ = src_item->data_max_value_;
|
||||
dest_item->is_signed_ = src_item->is_signed_;
|
||||
|
||||
indirect_data_addr += dest_item->data_length_;
|
||||
}
|
||||
}
|
||||
else // INDIRECT_ADDRESS_1 exist
|
||||
{
|
||||
for (int i = 0; i < sub_tokens.size(); i++)
|
||||
sensor->bulk_read_items_.push_back(sensor->ctrl_table_[sub_tokens[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Unable to open file : " + robot_file_path << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
Sensor *Robot::getSensor(std::string path, int id, std::string port, float protocol_version)
|
||||
{
|
||||
Sensor *sensor;
|
||||
|
||||
// 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 == SESSION_DEVICE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if (tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if (tokens[0] == "model_name")
|
||||
sensor = new Sensor(id, tokens[1], protocol_version);
|
||||
}
|
||||
else if (session == SESSION_CONTROL_TABLE)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 8)
|
||||
continue;
|
||||
|
||||
ControlTableItem *item = new ControlTableItem();
|
||||
item->item_name_ = tokens[1];
|
||||
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_ = ReadWrite;
|
||||
|
||||
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;
|
||||
sensor->ctrl_table_[tokens[1]] = item;
|
||||
}
|
||||
}
|
||||
sensor->port_name_ = port;
|
||||
|
||||
fprintf(stderr, "(%s) [ID:%3d] %14s added. \n", port.c_str(), sensor->id_, sensor->model_name_.c_str());
|
||||
//std::cout << "[ID:" << (int)(_sensor->id) << "] " << _sensor->model_name << " added. (" << port << ")" << std::endl;
|
||||
file.close();
|
||||
}
|
||||
else
|
||||
std::cout << "Unable to open file : " + path << std::endl;
|
||||
|
||||
return sensor;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
std::string torque_enable_item_name = "";
|
||||
std::string present_position_item_name = "";
|
||||
std::string present_velocity_item_name = "";
|
||||
std::string present_current_item_name = "";
|
||||
std::string goal_position_item_name = "";
|
||||
std::string goal_velocity_item_name = "";
|
||||
std::string goal_current_item_name = "";
|
||||
std::string position_d_gain_item_name = "";
|
||||
std::string position_i_gain_item_name = "";
|
||||
std::string position_p_gain_item_name = "";
|
||||
std::string velocity_d_gain_item_name = "";
|
||||
std::string velocity_i_gain_item_name = "";
|
||||
std::string velocity_p_gain_item_name = "";
|
||||
|
||||
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 == 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 == SESSION_TYPE_INFO)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '=');
|
||||
if (tokens.size() != 2)
|
||||
continue;
|
||||
|
||||
if (tokens[0] == "torque_to_current_value_ratio")
|
||||
dxl->torque_to_current_value_ratio_ = std::atof(tokens[1].c_str());
|
||||
else if (tokens[0] == "velocity_to_value_ratio")
|
||||
dxl->velocity_to_value_ratio_ = std::atof(tokens[1].c_str());
|
||||
|
||||
else if (tokens[0] == "value_of_0_radian_position")
|
||||
dxl->value_of_0_radian_position_ = std::atoi(tokens[1].c_str());
|
||||
else if (tokens[0] == "value_of_min_radian_position")
|
||||
dxl->value_of_min_radian_position_ = std::atoi(tokens[1].c_str());
|
||||
else if (tokens[0] == "value_of_max_radian_position")
|
||||
dxl->value_of_max_radian_position_ = 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_item_name")
|
||||
torque_enable_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_position_item_name")
|
||||
present_position_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_velocity_item_name")
|
||||
present_velocity_item_name = tokens[1];
|
||||
else if (tokens[0] == "present_current_item_name")
|
||||
present_current_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_position_item_name")
|
||||
goal_position_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_velocity_item_name")
|
||||
goal_velocity_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_current_item_name")
|
||||
goal_current_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_d_gain_item_name")
|
||||
position_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_i_gain_item_name")
|
||||
position_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_p_gain_item_name")
|
||||
position_p_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_d_gain_item_name")
|
||||
velocity_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_i_gain_item_name")
|
||||
velocity_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_p_gain_item_name")
|
||||
velocity_p_gain_item_name = tokens[1];
|
||||
}
|
||||
else if (session == SESSION_CONTROL_TABLE)
|
||||
{
|
||||
std::vector<std::string> tokens = split(input_str, '|');
|
||||
if (tokens.size() != 8)
|
||||
continue;
|
||||
|
||||
ControlTableItem *item = new ControlTableItem();
|
||||
item->item_name_ = tokens[1];
|
||||
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_ = ReadWrite;
|
||||
|
||||
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;
|
||||
|
||||
if (dxl->ctrl_table_[torque_enable_item_name] != NULL)
|
||||
dxl->torque_enable_item_ = dxl->ctrl_table_[torque_enable_item_name];
|
||||
if (dxl->ctrl_table_[present_position_item_name] != NULL)
|
||||
dxl->present_position_item_ = dxl->ctrl_table_[present_position_item_name];
|
||||
if (dxl->ctrl_table_[present_velocity_item_name] != NULL)
|
||||
dxl->present_velocity_item_ = dxl->ctrl_table_[present_velocity_item_name];
|
||||
if (dxl->ctrl_table_[present_current_item_name] != NULL)
|
||||
dxl->present_current_item_ = dxl->ctrl_table_[present_current_item_name];
|
||||
if (dxl->ctrl_table_[goal_position_item_name] != NULL)
|
||||
dxl->goal_position_item_ = dxl->ctrl_table_[goal_position_item_name];
|
||||
if (dxl->ctrl_table_[goal_velocity_item_name] != NULL)
|
||||
dxl->goal_velocity_item_ = dxl->ctrl_table_[goal_velocity_item_name];
|
||||
if (dxl->ctrl_table_[goal_current_item_name] != NULL)
|
||||
dxl->goal_current_item_ = dxl->ctrl_table_[goal_current_item_name];
|
||||
if (dxl->ctrl_table_[position_d_gain_item_name] != NULL)
|
||||
dxl->position_d_gain_item_ = dxl->ctrl_table_[position_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_i_gain_item_name] != NULL)
|
||||
dxl->position_i_gain_item_ = dxl->ctrl_table_[position_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_p_gain_item_name] != NULL)
|
||||
dxl->position_p_gain_item_ = dxl->ctrl_table_[position_p_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_d_gain_item_name] != NULL)
|
||||
dxl->velocity_d_gain_item_ = dxl->ctrl_table_[velocity_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_i_gain_item_name] != NULL)
|
||||
dxl->velocity_i_gain_item_ = dxl->ctrl_table_[velocity_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_p_gain_item_name] != NULL)
|
||||
dxl->velocity_p_gain_item_ = dxl->ctrl_table_[velocity_p_gain_item_name];
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
106
robotis_device/src/robotis_device/sensor.cpp
Normal file → Executable file
106
robotis_device/src/robotis_device/sensor.cpp
Normal file → Executable file
@@ -1,53 +1,53 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor.cpp
|
||||
*
|
||||
* Created on: 2016. 5. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include "robotis_device/sensor.h"
|
||||
|
||||
using namespace robotis_framework;
|
||||
|
||||
Sensor::Sensor(int id, std::string model_name, float protocol_version)
|
||||
{
|
||||
this->id_ = id;
|
||||
this->model_name_ = model_name;
|
||||
this->port_name_ = "";
|
||||
this->protocol_version_ = protocol_version;
|
||||
ctrl_table_.clear();
|
||||
|
||||
sensor_state_ = new SensorState();
|
||||
|
||||
bulk_read_items_.clear();
|
||||
}
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016, ROBOTIS CO., LTD.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of ROBOTIS nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************/
|
||||
|
||||
/*
|
||||
* sensor.cpp
|
||||
*
|
||||
* Created on: 2016. 5. 11.
|
||||
* Author: zerom
|
||||
*/
|
||||
|
||||
#include "robotis_device/sensor.h"
|
||||
|
||||
using namespace robotis_framework;
|
||||
|
||||
Sensor::Sensor(int id, std::string model_name, float protocol_version)
|
||||
{
|
||||
this->id_ = id;
|
||||
this->model_name_ = model_name;
|
||||
this->port_name_ = "";
|
||||
this->protocol_version_ = protocol_version;
|
||||
ctrl_table_.clear();
|
||||
|
||||
sensor_state_ = new SensorState();
|
||||
|
||||
bulk_read_items_.clear();
|
||||
}
|
||||
|
Reference in New Issue
Block a user