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