├── .gitignore
├── thormang3_action_module
├── data
│ └── motion_4096.bin
├── package.xml
├── CHANGELOG.rst
├── include
│ └── thormang3_action_module
│ │ ├── action_file_define.h
│ │ └── action_module.h
└── CMakeLists.txt
├── thormang3_mpc
├── CMakeLists.txt
├── package.xml
└── CHANGELOG.rst
├── thormang3_walking_module
├── config
│ └── balance_offset.yaml
├── package.xml
├── CHANGELOG.rst
├── CMakeLists.txt
└── include
│ └── thormang3_walking_module
│ ├── walking_module.h
│ └── thormang3_online_walking.h
├── thormang3_manager
├── config
│ ├── ft_calibration_data.yaml
│ ├── ft_data.yaml
│ ├── offset.yaml
│ └── THORMANG3.robot
├── package.xml
├── launch
│ ├── thormang3_manager.launch
│ └── thormang3_manager_gazebo.launch
├── CHANGELOG.rst
├── CMakeLists.txt
└── src
│ └── thormang3_manager.cpp
├── .travis.yml
├── thormang3_manipulation_module
├── config
│ ├── ik_weight.yaml
│ └── ini_pose.yaml
├── package.xml
├── CHANGELOG.rst
├── CMakeLists.txt
└── include
│ └── thormang3_manipulation_module
│ └── manipulation_module.h
├── thormang3_balance_control
├── package.xml
├── CHANGELOG.rst
└── CMakeLists.txt
├── motion_module_tutorial
├── package.xml
├── CHANGELOG.rst
├── include
│ └── motion_module_tutorial
│ │ └── motion_module_tutorial.h
├── CMakeLists.txt
└── src
│ └── motion_module_tutorial
│ └── motion_module_tutorial.cpp
├── sensor_module_tutorial
├── package.xml
├── CHANGELOG.rst
├── include
│ └── sensor_module_tutorial
│ │ └── sensor_module_tutorial.h
├── src
│ └── sensor_module_tutorial
│ │ └── sensor_module_tutorial.cpp
└── CMakeLists.txt
├── thormang3_kinematics_dynamics
├── package.xml
├── CHANGELOG.rst
├── include
│ └── thormang3_kinematics_dynamics
│ │ ├── link_data.h
│ │ ├── kinematics_dynamics_define.h
│ │ └── kinematics_dynamics.h
├── src
│ └── link_data.cpp
└── CMakeLists.txt
├── ati_ft_sensor
├── include
│ └── ati_ft_sensor
│ │ ├── ati_force_torque_sensor.h
│ │ └── ati_force_torque_sensor_twe.h
├── CHANGELOG.rst
├── package.xml
├── CMakeLists.txt
└── src
│ └── ati_force_torque_sensor_twe.cpp
├── thormang3_gripper_module
├── CHANGELOG.rst
├── package.xml
├── include
│ └── thormang3_gripper_module
│ │ └── gripper_module.h
├── CMakeLists.txt
└── src
│ └── gripper_module.cpp
├── thormang3_base_module
├── package.xml
├── CHANGELOG.rst
├── src
│ └── base_module_state.cpp
├── include
│ └── thormang3_base_module
│ │ ├── base_module_state.h
│ │ └── base_module.h
├── data
│ └── ini_pose.yaml
└── CMakeLists.txt
├── thormang3_head_control_module
├── package.xml
├── CHANGELOG.rst
├── CMakeLists.txt
└── include
│ └── thormang3_head_control_module
│ └── head_control_module.h
├── thormang3_feet_ft_module
├── package.xml
├── CHANGELOG.rst
├── include
│ └── thormang3_feet_ft_module
│ │ └── feet_force_torque_sensor_module.h
└── CMakeLists.txt
├── README.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | thormang3_manager/config/ft_calibration_data.yaml
2 | thormang3_manager/config/ft_data.yaml
3 | thormang3_manager/config/offset.yaml
4 |
--------------------------------------------------------------------------------
/thormang3_action_module/data/motion_4096.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/HEAD/thormang3_action_module/data/motion_4096.bin
--------------------------------------------------------------------------------
/thormang3_mpc/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(thormang3_mpc)
3 | find_package(catkin REQUIRED)
4 | catkin_metapackage()
5 |
--------------------------------------------------------------------------------
/thormang3_walking_module/config/balance_offset.yaml:
--------------------------------------------------------------------------------
1 | # 1.0 <-> 1.0 [deg]
2 |
3 | r_leg_to_body_roll_gain : 0.5 # support r_leg
4 | l_leg_to_body_roll_gain : -0.5 # support l_leg
5 |
6 | r_leg_to_body_pitch_gain : 0.0 # support r_leg
7 | l_leg_to_body_pitch_gain : 0.0 # support l_leg
8 |
--------------------------------------------------------------------------------
/thormang3_manager/config/ft_calibration_data.yaml:
--------------------------------------------------------------------------------
1 | ft_right_foot_air:
2 | - 0
3 | - 0
4 | - 0
5 | - 0
6 | - 0
7 | - 0
8 | ft_right_foot_gnd:
9 | - 0
10 | - 0
11 | - 210
12 | - 0
13 | - 0
14 | - 0
15 | ft_left_foot_air:
16 | - 0
17 | - 0
18 | - 0
19 | - 0
20 | - 0
21 | - 0
22 | ft_left_foot_gnd:
23 | - 0
24 | - 0
25 | - 210
26 | - 0
27 | - 0
28 | - 0
--------------------------------------------------------------------------------
/thormang3_manager/config/ft_data.yaml:
--------------------------------------------------------------------------------
1 | ft_right_foot_calibration_matrix:
2 | [0, 0, 0, 0, 0, 0,
3 | 0, 0, 0, 0, 0, 0,
4 | 0, 0, 0, 0, 0, 0,
5 | 0, 0, 0, 0, 0, 0,
6 | 0, 0, 0, 0, 0, 0,
7 | 0, 0, 0, 0, 0, 0 ]
8 |
9 | ft_right_foot_unload: [1.65, 1.65, 1.65, 1.65, 1.65, 1.65]
10 |
11 |
12 | ft_left_foot_calibration_matrix:
13 | [0, 0, 0, 0, 0, 0,
14 | 0, 0, 0, 0, 0, 0,
15 | 0, 0, 0, 0, 0, 0,
16 | 0, 0, 0, 0, 0, 0,
17 | 0, 0, 0, 0, 0, 0,
18 | 0, 0, 0, 0, 0, 0]
19 |
20 | ft_left_foot_unload: [1.65, 1.65, 1.65, 1.65, 1.65, 1.65]
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # This config file for Travis CI utilizes ros-industrial/industrial_ci package.
2 | # For more info for the package, see https://github.com/ros-industrial/industrial_ci/blob/master/README.rst
3 |
4 | sudo: required
5 | dist: trusty
6 | services:
7 | - docker
8 | language: generic
9 | python:
10 | - "2.7"
11 | compiler:
12 | - gcc
13 | notifications:
14 | email:
15 | on_success: change
16 | on_failure: always
17 | recipients:
18 | - pyo@robotis.com
19 | env:
20 | matrix:
21 | - ROS_DISTRO=kinetic ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=debian
22 | # - ROS_DISTRO=kinetic ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=debian OS_NAME=debian OS_CODE_NAME=jessie
23 | branches:
24 | only:
25 | - master
26 | - develop
27 | - kinetic-devel
28 | install:
29 | - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
30 | script:
31 | - source .ci_config/travis.sh
32 |
33 |
--------------------------------------------------------------------------------
/thormang3_manipulation_module/config/ik_weight.yaml:
--------------------------------------------------------------------------------
1 | # weight_value
2 |
3 | weight_value :
4 | 1 : 1.0 # r_arm_sh_p1
5 | 2 : 1.0 # l_arm_sh_p1
6 | 3 : 1.0 # r_arm_sh_r
7 | 4 : 1.0 # l_arm_sh_r
8 | 5 : 1.0 # r_arm_sh_p2
9 | 6 : 1.0 # l_arm_sh_p2
10 | 7 : 3.0 # r_arm_el_y
11 | 8 : 3.0 # l_arm_el_y
12 | 9 : 1.0 # r_arm_wr_r
13 | 10 : 1.0 # l_arm_wr_r
14 | 11 : 10.0 # r_arm_wr_y
15 | 12 : 10.0 # l_arm_wr_y
16 | 13 : 10.0 # r_arm_wr_p
17 | 14 : 10.0 # l_arm_wr_p
18 | 15 : 1.0 # r_leg_hip_y
19 | 16 : 1.0 # l_leg_hip_y
20 | 17 : 1.0 # r_leg_hip_r
21 | 18 : 1.0 # l_leg_hip_r
22 | 19 : 1.0 # r_leg_hip_p
23 | 20 : 1.0 # l_leg_hip_p
24 | 21 : 1.0 # r_leg_kn_p
25 | 22 : 1.0 # l_leg_kn_p
26 | 23 : 1.0 # r_leg_an_p
27 | 24 : 1.0 # l_leg_an_p
28 | 25 : 1.0 # r_leg_an_r
29 | 26 : 1.0 # l_leg_an_r
30 | 27 : 5.0 # torso_y
31 | 28 : 1.0 # head_y
32 | 29 : 1.0 # head_p
33 | 30 : 1.0 # l_arm_grip
34 | 31 : 1.0 # r_arm_grip
35 |
36 |
--------------------------------------------------------------------------------
/thormang3_balance_control/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_balance_control
4 | 0.2.0
5 |
6 | The thormang3_balance_control package
7 | This balance control is based on PD control.
8 |
9 | Apache 2.0
10 | Jay Song
11 | Kayman
12 | Pyo
13 | http://wiki.ros.org/thormang3_balance_control
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | cmake_modules
20 | robotis_math
21 | eigen
22 |
23 |
--------------------------------------------------------------------------------
/motion_module_tutorial/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | motion_module_tutorial
4 | 0.2.0
5 |
6 | The motion_module_tutorial package
7 |
8 | Apache 2.0
9 | Zerom
10 | SCH
11 | Kayman
12 | Pyo
13 | http://wiki.ros.org/motion_module_tutorial
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | std_msgs
20 | robotis_framework_common
21 | boost
22 |
23 |
--------------------------------------------------------------------------------
/sensor_module_tutorial/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | sensor_module_tutorial
4 | 0.2.0
5 |
6 | The sensor_module_tutorial package
7 |
8 | Apache 2.0
9 | Zerom
10 | SCH
11 | Kayman
12 | Pyo
13 | http://wiki.ros.org/sensor_module_tutorial
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | std_msgs
20 | robotis_framework_common
21 | boost
22 |
23 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_kinematics_dynamics
4 | 0.2.0
5 |
6 | This package provides a kinematics and dynamics impletation for the thormang3.
7 | It can be used to calculate forward and inverse kinematics.
8 |
9 | Apache 2.0
10 | SCH
11 | Pyo
12 | http://wiki.ros.org/thormang3_kinematics_dynamics
13 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
14 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
16 | catkin
17 | roscpp
18 | cmake_modules
19 | robotis_math
20 | eigen
21 |
22 |
--------------------------------------------------------------------------------
/ati_ft_sensor/include/ati_ft_sensor/ati_force_torque_sensor.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #ifndef ATI_FT_SENSOR_ATI_FORCE_TORQUE_SENSOR_H_
18 | #define ATI_FT_SENSOR_ATI_FORCE_TORQUE_SENSOR_H_
19 |
20 | #include "ati_force_torque_sensor_twe.h"
21 |
22 | #endif /* ATI_FT_SENSOR_ATI_FORCE_TORQUE_SENSOR_H_ */
23 |
--------------------------------------------------------------------------------
/thormang3_manipulation_module/config/ini_pose.yaml:
--------------------------------------------------------------------------------
1 | # time parameter
2 |
3 | mov_time : 3.0 # movement time
4 |
5 | # target pose [deg]
6 |
7 | tar_pose :
8 | 1 : -32.60 # r_arm_sh_p1
9 | 2 : 32.60 # l_arm_sh_p1
10 | 3 : -59.11 # r_arm_sh_r
11 | 4 : 59.11 # l_arm_sh_r
12 | 5 : 6.61 # r_arm_sh_p2
13 | 6 : -6.61 # l_arm_sh_p2
14 | 7 : -28.33 # r_arm_el_y
15 | 8 : 28.33 # l_arm_el_y
16 | 9 : -59.65 # r_arm_wr_r
17 | 10 : 59.65 # l_arm_wr_r
18 | 11 : 9.02 # r_arm_wr_y
19 | 12 : -9.02 # l_arm_wr_y
20 | 13 : -4.88 # r_arm_wr_p
21 | 14 : 4.88 # l_arm_wr_p
22 | 15 : 0.0 # r_leg_hip_y
23 | 16 : 0.0 # l_leg_hip_y
24 | 17 : 0.0 # r_leg_hip_r
25 | 18 : 0.0 # l_leg_hip_r
26 | 19 : 0.0 # r_leg_hip_p
27 | 20 : 0.0 # l_leg_hip_p
28 | 21 : 0.0 # r_leg_kn_p
29 | 22 : 0.0 # l_leg_kn_p
30 | 23 : 0.0 # r_leg_an_p
31 | 24 : 0.0 # l_leg_an_p
32 | 25 : 0.0 # r_leg_an_r
33 | 26 : 0.0 # l_leg_an_r
34 | 27 : 0.0 # torso_y
35 | 28 : 0.0 # head_y
36 | 29 : 0.0 # head_p
37 | 30 : 3.0 # l_arm_grip
38 | 31 : 3.0 # r_arm_grip
39 |
--------------------------------------------------------------------------------
/thormang3_gripper_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_gripper_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * gripper done msg added
21 | * manipulation & gripper module clean up
22 | * wholebody modified
23 | * wholebody inipose added
24 | * update thormang3_head_control_module : scan lidar using range
25 | * wholebody update
26 | * gripper debug
27 | * gripper module added
28 | * wholebody added
29 | * Contributors: Jay Song, Zerom, Kayman, SCH
30 |
31 | 0.1.1 (2016-08-19)
32 | ------------------
33 | * none
34 |
35 | 0.1.0 (2016-08-18)
36 | ------------------
37 | * none
38 |
--------------------------------------------------------------------------------
/thormang3_action_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_action_module
4 | 0.2.0
5 |
6 | This package is a motion module that can play the saved action.
7 | This module is based on position control.
8 |
9 | Apache 2.0
10 | Kayman
11 | Jay Song
12 | Pyo
13 | http://wiki.ros.org/thormang3_action_module
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | roslib
20 | std_msgs
21 | robotis_controller_msgs
22 | thormang3_action_module_msgs
23 | robotis_framework_common
24 | boost
25 |
26 |
--------------------------------------------------------------------------------
/thormang3_gripper_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_gripper_module
4 | 0.2.0
5 |
6 | The thormang3_gripper_module package
7 |
8 | Apache 2.0
9 | SCH
10 | Pyo
11 | http://wiki.ros.org/thormang3_gripper_module
12 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
13 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
14 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
15 | catkin
16 | roscpp
17 | roslib
18 | std_msgs
19 | sensor_msgs
20 | robotis_controller_msgs
21 | cmake_modules
22 | robotis_framework_common
23 | robotis_math
24 | boost
25 | eigen
26 | yaml-cpp
27 |
28 |
--------------------------------------------------------------------------------
/ati_ft_sensor/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package ati_ft_sensor
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * none
21 |
22 | 0.1.1 (2016-08-19)
23 | ------------------
24 | * none
25 |
26 | 0.1.0 (2016-08-18)
27 | ------------------
28 | * first public release for Kinetic
29 | * modified package information for release
30 | * ROS C++ coding style is applied
31 | * change namespace of ati_ft_sensor package
32 | * modified file name for ROS C++ coding style
33 | * ati_ft_sensor/ATIForceTorqueSensorTWE.h : RobotisMath.h -> robotis_math.h
34 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
35 | * Contributors: Jay Song, Zerom, SCH, Pyo
36 |
--------------------------------------------------------------------------------
/ati_ft_sensor/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | ati_ft_sensor
4 | 0.2.0
5 |
6 | This package is a library for using ATI's transducer.
7 | This package describes basic functions for sensing force and torque.
8 | We provide some functions for converting and scaling.
9 |
10 | Apache 2.0
11 | Kayman
12 | Jay Song
13 | Pyo
14 | http://wiki.ros.org/ati_ft_sensor
15 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
17 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
18 | catkin
19 | roscpp
20 | roslib
21 | geometry_msgs
22 | cmake_modules
23 | robotis_math
24 | boost
25 | eigen
26 | yaml-cpp
27 |
28 |
--------------------------------------------------------------------------------
/thormang3_base_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_base_module
4 | 0.2.0
5 |
6 | The thormang3_base_module package
7 |
8 | Apache 2.0
9 | SCH
10 | Pyo
11 | http://wiki.ros.org/thormang3_base_module
12 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
13 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
14 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
15 | catkin
16 | roscpp
17 | roslib
18 | std_msgs
19 | geometry_msgs
20 | robotis_controller_msgs
21 | cmake_modules
22 | robotis_framework_common
23 | robotis_math
24 | thormang3_kinematics_dynamics
25 | boost
26 | eigen
27 | yaml-cpp
28 |
29 |
--------------------------------------------------------------------------------
/sensor_module_tutorial/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package sensor_module_tutorial
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * fixed package dependencies
21 | * optimized cpu usage by spin loop (by astumpf)
22 | * wholebody modified
23 | * Contributors: Jay Song, Zerom
24 |
25 | 0.1.1 (2016-08-19)
26 | ------------------
27 | * none
28 |
29 | 0.1.0 (2016-08-18)
30 | ------------------
31 | * first public release for Kinetic
32 | * modified package information for release
33 | * modified motion_module_tutorial / sensor_module_tutorial
34 | * ROS C++ Coding Style is applied to motion_module_tutorial/sensor_module_tutorial
35 | * Fixed high CPU consumption due to busy waits
36 | * added Singleton template
37 | * Contributors: Jay Song, Zerom, Pyo
38 |
--------------------------------------------------------------------------------
/motion_module_tutorial/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package motion_module_tutorial
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * fixed package dependencies
21 | * optimized cpu usage by spin loop (by astumpf)
22 | * wholebody modified
23 | * Contributors: Jay Song, Zerom
24 |
25 | 0.1.1 (2016-08-19)
26 | ------------------
27 | * none
28 |
29 | 0.1.0 (2016-08-18)
30 | ------------------
31 | * first public release for Kinetic
32 | * modified package information for release
33 | * modified motion_module_tutorial / sensor_module_tutorial
34 | * ROS C++ Coding Style is applied to motion_module_tutorial/sensor_module_tutorial
35 | * Fixed high CPU consumption due to busy waits
36 | * added Singleton template
37 | * Contributors: Jay Song, Zerom, Pyo
38 |
--------------------------------------------------------------------------------
/thormang3_balance_control/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_balance_control
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * upgrade walking algorithm
8 | * modified build option and dependencies configuration
9 | * modified cmake & package setting for yaml-cpp
10 | * changed depend pkg for catkin dependencies and package.xml format to v2
11 | * changed include path for dependencies and license to Apache v2
12 | * Contributors: SCH, Pyo
13 |
14 | 0.1.3 (2017-05-23)
15 | ------------------
16 | * updated cmake file for ros install
17 | * Contributors: SCH
18 |
19 | 0.1.2 (2017-04-24)
20 | ------------------
21 | * upgraded walking balance control
22 | * - fixed package dependencies
23 | * Contributors: Jay Song, Zerom
24 |
25 | 0.1.1 (2016-08-19)
26 | ------------------
27 | * none
28 |
29 | 0.1.0 (2016-08-18)
30 | ------------------
31 | * first public release for Kinetic
32 | * modified package information for release
33 | * removed walking_module_math & modify thormang3_balance_control
34 | added set enable function for each balance algorithm
35 | removed walking module math
36 | * Walking Module Update
37 | divide balance algorithm
38 | made thormang3_balance_control
39 | * Contributors: Jay Song, Pyo
40 |
--------------------------------------------------------------------------------
/thormang3_head_control_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_head_control_module
4 | 0.2.0
5 |
6 | A module to control the head.
7 | This module is included in the Thormang3 Manager as a library.
8 |
9 | Apache 2.0
10 | Zerom
11 | SCH
12 | Kayman
13 | Pyo
14 | http://wiki.ros.org/thormang3_head_control_module
15 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
17 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
18 | catkin
19 | roscpp
20 | std_msgs
21 | sensor_msgs
22 | robotis_controller_msgs
23 | thormang3_head_control_module_msgs
24 | cmake_modules
25 | robotis_framework_common
26 | robotis_math
27 | boost
28 | eigen
29 |
30 |
--------------------------------------------------------------------------------
/thormang3_feet_ft_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_feet_ft_module
4 | 0.2.0
5 |
6 | This package is a sensor module for force torque sensors on feet.
7 |
8 | Apache 2.0
9 | Zerom
10 | SCH
11 | Kayman
12 | Jay Song
13 | Pyo
14 | http://wiki.ros.org/thormang3_feet_ft_module
15 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
17 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
18 | catkin
19 | roscpp
20 | std_msgs
21 | robotis_controller_msgs
22 | thormang3_feet_ft_module_msgs
23 | cmake_modules
24 | robotis_framework_common
25 | robotis_math
26 | thormang3_kinematics_dynamics
27 | ati_ft_sensor
28 | boost
29 | eigen
30 | yaml-cpp
31 |
32 |
--------------------------------------------------------------------------------
/thormang3_manager/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_manager
4 | 0.2.0
5 |
6 | This package describes robot manager to execute THORMANG3's motion modules.
7 |
8 | Apache 2.0
9 | Zerom
10 | SCH
11 | Kayman
12 | Pyo
13 | http://wiki.ros.org/thormang3_manager
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | robotis_controller
20 | thormang3_feet_ft_module
21 | thormang3_base_module
22 | thormang3_action_module
23 | thormang3_head_control_module
24 | thormang3_manipulation_module
25 | thormang3_walking_module
26 | thormang3_gripper_module
27 | thormang3_description
28 | thormang3_imu_3dm_gx4
29 |
30 |
--------------------------------------------------------------------------------
/thormang3_manager/config/offset.yaml:
--------------------------------------------------------------------------------
1 | offset:
2 | head_p: 0
3 | head_y: 0
4 | l_arm_el_y: 0
5 | l_arm_grip: 0
6 | l_arm_sh_p1: 0
7 | l_arm_sh_p2: 0
8 | l_arm_sh_r: 0
9 | l_arm_wr_p: 0
10 | l_arm_wr_r: 0
11 | l_arm_wr_y: 0
12 | l_leg_an_p: 0
13 | l_leg_an_r: 0
14 | l_leg_hip_p: 0
15 | l_leg_hip_r: 0
16 | l_leg_hip_y: 0
17 | l_leg_kn_p: 0
18 | r_arm_el_y: 0
19 | r_arm_grip: 0
20 | r_arm_sh_p1: 0
21 | r_arm_sh_p2: 0
22 | r_arm_sh_r: 0
23 | r_arm_wr_p: 0
24 | r_arm_wr_r: 0
25 | r_arm_wr_y: 0
26 | r_leg_an_p: 0
27 | r_leg_an_r: 0
28 | r_leg_hip_p: 0
29 | r_leg_hip_r: 0
30 | r_leg_hip_y: 0
31 | r_leg_kn_p: 0
32 | torso_y: 0
33 | init_pose_for_offset_tuner:
34 | head_p: 0
35 | head_y: 0
36 | l_arm_el_y: -1.570796326794897
37 | l_arm_grip: 0
38 | l_arm_sh_p1: 0
39 | l_arm_sh_p2: 0
40 | l_arm_sh_r: 0
41 | l_arm_wr_p: 0
42 | l_arm_wr_r: 0
43 | l_arm_wr_y: 0
44 | l_leg_an_p: -0.1047197551196598
45 | l_leg_an_r: 0
46 | l_leg_hip_p: 0.1047197551196598
47 | l_leg_hip_r: 0
48 | l_leg_hip_y: 0
49 | l_leg_kn_p: 0.1570796326794897
50 | r_arm_el_y: 1.570796326794897
51 | r_arm_grip: 0
52 | r_arm_sh_p1: 0
53 | r_arm_sh_p2: 0
54 | r_arm_sh_r: 0
55 | r_arm_wr_p: 0
56 | r_arm_wr_r: 0
57 | r_arm_wr_y: 0
58 | r_leg_an_p: 0.1047197551196598
59 | r_leg_an_r: 0
60 | r_leg_hip_p: -0.1047197551196598
61 | r_leg_hip_r: 0
62 | r_leg_hip_y: 0
63 | r_leg_kn_p: -0.1570796326794897
64 | torso_y: 0
65 |
66 |
--------------------------------------------------------------------------------
/thormang3_manipulation_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_manipulation_module
4 | 0.2.0
5 |
6 | This package describes basic function to control THORMANG3's upper-body.
7 | This module is based on position control.
8 | We provide joint space and task space control (forward kinematics, inverse kinematics).
9 |
10 | Apache 2.0
11 | SCH
12 | Pyo
13 | http://wiki.ros.org/thormang3_manipulation_module
14 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
15 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
17 | catkin
18 | roscpp
19 | roslib
20 | std_msgs
21 | geometry_msgs
22 | robotis_controller_msgs
23 | thormang3_manipulation_module_msgs
24 | cmake_modules
25 | robotis_framework_common
26 | robotis_math
27 | thormang3_kinematics_dynamics
28 | boost
29 | eigen
30 | yaml-cpp
31 |
32 |
--------------------------------------------------------------------------------
/thormang3_manager/launch/thormang3_manager.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/thormang3_manager/launch/thormang3_manager_gazebo.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/thormang3_base_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_base_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * added done msg to base_module
21 | * - fixed package dependencies
22 | * - optimized cpu usage by spin loop (by astumpf)
23 | * wholebody modified
24 | * - reduce CPU consumption
25 | * wholebody inipose added
26 | * update thormang3_head_control_module : scan lidar using range
27 | * change init pose
28 | * Contributors: Jay Song, Zerom, Kayman
29 |
30 | 0.1.1 (2016-08-19)
31 | ------------------
32 | * none
33 |
34 | 0.1.0 (2016-08-18)
35 | ------------------
36 | * first public release for Kinetic
37 | * modified package information for release
38 | * thormang3_base_module : rename RobotisState -> BaseModuleState
39 | * applying coding style
40 | * file name changed.
41 | * modified coding style..
42 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
43 | * fixed high CPU consumption due to busy waits
44 | * added Singleton template
45 | * Contributors: Alexander Stumpf, Zerom, SCH, Pyo
46 |
--------------------------------------------------------------------------------
/thormang3_walking_module/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_walking_module
4 | 0.2.0
5 |
6 | This package is a motion module for thormang3 walking.
7 | This package provides a online walking pattern generator for the thormang3.
8 |
9 | Apache 2.0
10 | Zerom
11 | SCH
12 | Kayman
13 | Jay Song
14 | Pyo
15 | http://wiki.ros.org/thormang3_walking_module
16 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
17 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
18 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
19 | catkin
20 | roscpp
21 | roslib
22 | std_msgs
23 | sensor_msgs
24 | geometry_msgs
25 | robotis_controller_msgs
26 | thormang3_walking_module_msgs
27 | cmake_modules
28 | eigen_conversions
29 | robotis_framework_common
30 | robotis_math
31 | thormang3_kinematics_dynamics
32 | thormang3_balance_control
33 | boost
34 | eigen
35 | yaml-cpp
36 |
37 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_kinematics_dynamics
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * fixed incorrect parameter in thormang3_kinematics_dynamics
21 | * added calculation function for global position of each link's COM
22 | * range of motion updated
23 | * wholebody inipose added
24 | * updated thormang3_head_control_module : scan lidar using range
25 | * eigen test
26 | * wholebody debugging ing...
27 | * wholebody COM added
28 | * wholebody balance
29 | * wholebody balance added
30 | * wholebody added
31 | * Contributors: Jay Song, Zerom, Kayman, SCH
32 |
33 | 0.1.1 (2016-08-19)
34 | ------------------
35 | * none
36 |
37 | 0.1.0 (2016-08-18)
38 | ------------------
39 | * first public release for Kinetic
40 | * modified package information for release
41 | * Walking Module Update
42 | divide balance algorithm
43 | made thormang3_balance_control
44 | * ROS C++ coding style is applied
45 | * modified ROS c++ coding style is applied
46 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
47 | * Contributors: Jay Song, Zerom, Pyo, SCH
48 |
--------------------------------------------------------------------------------
/thormang3_mpc/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | thormang3_mpc
4 | 0.2.0
5 |
6 | ROS packages for the thormang3_mpc (meta package)
7 |
8 | Apache 2.0
9 | Zerom
10 | Kayman
11 | SCH
12 | Jay Song
13 | Pyo
14 | http://wiki.ros.org/thormang3_mpc
15 | http://emanual.robotis.com/docs/en/platform/thormang3/introduction/
16 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC
17 | https://github.com/ROBOTIS-GIT/ROBOTIS-THORMANG-MPC/issues
18 | catkin
19 | ati_ft_sensor
20 | motion_module_tutorial
21 | sensor_module_tutorial
22 | thormang3_action_module
23 | thormang3_balance_control
24 | thormang3_base_module
25 | thormang3_feet_ft_module
26 | thormang3_gripper_module
27 | thormang3_head_control_module
28 | thormang3_kinematics_dynamics
29 | thormang3_manager
30 | thormang3_manipulation_module
31 | thormang3_walking_module
32 |
33 |
34 |
--------------------------------------------------------------------------------
/thormang3_manipulation_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_manipulation_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * manipulation & gripper module clean up
21 | * merged develop with feature_walking_upgrade
22 | * - fixed package dependencies
23 | * - optimized cpu usage by spin loop (by astumpf)
24 | * manipulation module modified
25 | * manipulation & wholebody module modified
26 | * wholebody modified
27 | * - reduce CPU consumption
28 | * wholebody inipose added
29 | * update thormang3_head_control_module : scan lidar using range
30 | * wholebody IK bug fixed
31 | * manipulation module grip deleted
32 | * Contributors: Jay Song, Zerom, Kayman, SCH
33 |
34 | 0.1.1 (2016-08-19)
35 | ------------------
36 | * none
37 |
38 | 0.1.0 (2016-08-18)
39 | ------------------
40 | * first public release for Kinetic
41 | * modified package information for release
42 | * ROS C++ coding style is applied
43 | * file name changed.
44 | * thormang3_manipulation_module : appling coding style
45 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
46 | * fixed high CPU consumption due to busy waits
47 | * Contributors: Alexander Stumpf, Jay Song, Zerom, SCH, Pyo
48 |
--------------------------------------------------------------------------------
/thormang3_feet_ft_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_feet_ft_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * merged develop with feature_walking_upgrade
21 | * - fixed package dependencies
22 | * - optimized cpu usage by spin loop (by astumpf)
23 | * bug fix : calculate ft_scale
24 | * wholebody modified
25 | * - reduce CPU consumption
26 | * wholebody inipose added
27 | * update thormang3_head_control_module : scan lidar using range
28 | * Contributors: Jay Song, Zerom, Kayman
29 |
30 | 0.1.1 (2016-08-19)
31 | ------------------
32 | * none
33 |
34 | 0.1.0 (2016-08-18)
35 | ------------------
36 | * first public release for Kinetic
37 | * modified package information for release
38 | * bug fixed
39 | change ft calib command
40 | * modified include guard
41 | * ROS C++ coding style is applied
42 | * file name changed.
43 | * thormang3_feet_ft_module : coding style is applied.
44 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
45 | * fixed a bug at thormang3_walking_module
46 | * fixed high CPU consumption due to busy waits
47 | * added Singleton template
48 | * SensorModule->Process() function argument changed.
49 | * Contributors: Alexander Stumpf, Jay Song, Zerom, SCH, Pyo
50 |
--------------------------------------------------------------------------------
/thormang3_mpc/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_mpc
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * changed node setting
12 | * changed gazebo mode to false
13 | * upgrade walking algorism
14 | * Contributors: Kayman, SCH, Pyo
15 |
16 | 0.1.3 (2017-05-23)
17 | ------------------
18 | * updated cmake file for ros install
19 | * Contributors: SCH
20 |
21 | 0.1.2 (2017-04-24)
22 | ------------------
23 | * removed error of negative cut_off_freq
24 | * bug fix : balance param and joint feedback gain update
25 | * bug fix : joint feedback gain update
26 | * when balance turned off, walking can be started
27 | * modified done msg in walking module and action module
28 | * upgrade walking balance control
29 | * - fixed package dependencies
30 | * - optimized cpu usage by spin loop (by astumpf)
31 | * Merge branch 'whole-body' into walking_upgrade
32 | * bug fix : incorrect target force for balance
33 | * Merge branch 'whole-body' into walking_upgrade
34 | * wholebody modified
35 | * - reduce CPU consumption
36 | * wholebody inipose added
37 | * update thormang3_head_control_module : scan lidar using range
38 | * Contributors: Jay Song, Zerom, Kayman
39 |
40 | 0.1.1 (2016-08-19)
41 | ------------------
42 | * package name changed
43 | imu_3dm_gx4 -> thormang3_imu_3dm_gx4
44 | * Contributors: Jay Song
45 |
46 | 0.1.0 (2016-08-18)
47 | ------------------
48 | * first public release for Kinetic
49 | * modified package information for release
50 | * Contributors: Jay Song, Zerom, Kayman, SCH, Pyo
51 |
--------------------------------------------------------------------------------
/thormang3_base_module/src/base_module_state.cpp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * base_module_state.cpp
19 | *
20 | * Created on: Jan 11, 2016
21 | * Author: SCH
22 | */
23 |
24 | #include "thormang3_base_module/base_module_state.h"
25 |
26 | using namespace thormang3;
27 |
28 | BaseModuleState::BaseModuleState()
29 | {
30 | is_moving_ = false;
31 |
32 | cnt_ = 0;
33 |
34 | mov_time_ = 1.0;
35 | smp_time_ = 0.008;
36 | all_time_steps_ = int(mov_time_ / smp_time_) + 1;
37 |
38 | calc_joint_tra_ = Eigen::MatrixXd::Zero(all_time_steps_, MAX_JOINT_ID + 1);
39 |
40 | joint_ini_pose_ = Eigen::MatrixXd::Zero( MAX_JOINT_ID + 1, 1);
41 | joint_pose_ = Eigen::MatrixXd::Zero( MAX_JOINT_ID + 1, 1);
42 |
43 | via_num_ = 1;
44 |
45 | joint_via_pose_ = Eigen::MatrixXd::Zero(via_num_, MAX_JOINT_ID + 1);
46 | joint_via_dpose_ = Eigen::MatrixXd::Zero(via_num_, MAX_JOINT_ID + 1);
47 | joint_via_ddpose_ = Eigen::MatrixXd::Zero(via_num_, MAX_JOINT_ID + 1);
48 |
49 | via_time_ = Eigen::MatrixXd::Zero(via_num_, 1);
50 | }
51 |
52 | BaseModuleState::~BaseModuleState()
53 | {
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/thormang3_base_module/include/thormang3_base_module/base_module_state.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #ifndef THORMANG3_BASE_MODULE_BASE_MODULE_STATE_H_
18 | #define THORMANG3_BASE_MODULE_BASE_MODULE_STATE_H_
19 |
20 | #include
21 | #include "robotis_math/robotis_math.h"
22 | #include "thormang3_kinematics_dynamics/kinematics_dynamics.h"
23 |
24 | namespace thormang3
25 | {
26 |
27 | class BaseModuleState
28 | {
29 | public:
30 | BaseModuleState();
31 | ~BaseModuleState();
32 |
33 | bool is_moving_;
34 |
35 | int cnt_; // counter number
36 |
37 | double mov_time_; // movement time
38 | double smp_time_; // sampling time
39 |
40 | int all_time_steps_; // all time steps of movement time
41 |
42 | Eigen::MatrixXd calc_joint_tra_; // calculated joint trajectory
43 |
44 | Eigen::MatrixXd joint_ini_pose_;
45 | Eigen::MatrixXd joint_pose_;
46 |
47 | int via_num_;
48 |
49 | Eigen::MatrixXd joint_via_pose_;
50 | Eigen::MatrixXd joint_via_dpose_;
51 | Eigen::MatrixXd joint_via_ddpose_;
52 |
53 | Eigen::MatrixXd via_time_;
54 | };
55 |
56 | }
57 |
58 | #endif /* THORMANG3_BASE_MODULE_BASE_MODULE_STATE_H_ */
59 |
--------------------------------------------------------------------------------
/thormang3_head_control_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_head_control_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * changed depend pkg for catkin dependencies and package.xml format to v2
9 | * changed include path for dependencies and license to Apache v2
10 | * Contributors: SCH, Pyo
11 |
12 | 0.1.3 (2017-05-23)
13 | ------------------
14 | * updated cmake file for ros install
15 | * Contributors: SCH
16 |
17 | 0.1.2 (2017-04-24)
18 | ------------------
19 | * added done msg to base_module
20 | * added done msg to head_control_module
21 | * head control module msgs added
22 | * merged develop with feature_walking_upgrade
23 | * merged branch 'walking_upgrade' into develop
24 | * - fixed package dependencies
25 | * - optimized cpu usage by spin loop (by astumpf)
26 | * applied head_control_module_msgs
27 | * changed lidar moving method
28 | * edited range scan
29 | * - reduce CPU consumption
30 | * wholebody inipose added
31 | * update thormang3_head_control_module : scan lidar using range
32 | * Contributors: Jay Song, Zerom, Kayman, SCH
33 |
34 | 0.1.1 (2016-08-19)
35 | ------------------
36 | * none
37 |
38 | 0.1.0 (2016-08-18)
39 | ------------------
40 | * first public release for Kinetic
41 | * modified package information for release
42 | * modified thormang3_head_control_module/package.xml
43 | * added description in package.xml(head control module)
44 | * thormang3_head_control_module : insert license code
45 | * ROS C++ coding style is applied.
46 | * file name changed.
47 | * head_control_module : some coding style changed
48 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
49 | * fixed high CPU consumption due to busy waits
50 | * Contributors: Alexander Stumpf, Jay Song, Zerom, Kayman, Pyo, SCH
51 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/include/thormang3_kinematics_dynamics/link_data.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * link_data.h
19 | *
20 | * Created on: June 7, 2016
21 | * Author: SCH
22 | */
23 |
24 | #ifndef THORMANG3_KINEMATICS_DYNAMICS_LINK_DATA_H_
25 | #define THORMANG3_KINEMATICS_DYNAMICS_LINK_DATA_H_
26 |
27 | #define EIGEN_NO_DEBUG
28 | #define EIGEN_NO_STATIC_ASSERT
29 |
30 | #include
31 | #include "robotis_math/robotis_math.h"
32 |
33 | namespace thormang3
34 | {
35 |
36 | class LinkData
37 | {
38 | public:
39 |
40 | LinkData();
41 | ~LinkData();
42 |
43 | std::string name_;
44 |
45 | int parent_;
46 | int sibling_;
47 | int child_;
48 |
49 | double mass_;
50 |
51 | Eigen::MatrixXd relative_position_;
52 | Eigen::MatrixXd joint_axis_;
53 | Eigen::MatrixXd center_of_mass_;
54 | Eigen::MatrixXd inertia_;
55 | Eigen::MatrixXd joint_center_of_mass_;
56 |
57 | double joint_limit_max_;
58 | double joint_limit_min_;
59 |
60 | double joint_angle_;
61 | double joint_velocity_;
62 | double joint_acceleration_;
63 |
64 | Eigen::MatrixXd position_;
65 | Eigen::MatrixXd orientation_;
66 | Eigen::MatrixXd transformation_;
67 |
68 | };
69 |
70 | }
71 |
72 | #endif /* THORMANG3_KINEMATICS_DYNAMICS_LINK_DATA_H_ */
73 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/src/link_data.cpp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * link_data.cpp
19 | *
20 | * Created on: June 7, 2016
21 | * Author: SCH
22 | */
23 |
24 | #include "thormang3_kinematics_dynamics/link_data.h"
25 |
26 | namespace thormang3
27 | {
28 |
29 | LinkData::LinkData()
30 | {
31 | name_ = "";
32 |
33 | parent_ = -1;
34 | sibling_ = -1;
35 | child_ = -1;
36 |
37 | mass_ = 0.0;
38 |
39 | relative_position_ = robotis_framework::getTransitionXYZ(0.0, 0.0, 0.0);
40 | joint_axis_ = robotis_framework::getTransitionXYZ(0.0, 0.0, 0.0);
41 | center_of_mass_ = robotis_framework::getTransitionXYZ(0.0, 0.0, 0.0);
42 | joint_center_of_mass_ = robotis_framework::getTransitionXYZ(0.0, 0.0, 0.0);
43 | inertia_ =robotis_framework::getInertiaXYZ(1.0, 0.0, 0.0, 1.0, 0.0, 1.0);
44 |
45 | joint_limit_max_ = 100.0;
46 | joint_limit_min_ = -100.0;
47 |
48 | joint_angle_ = 0.0;
49 | joint_velocity_ = 0.0;
50 | joint_acceleration_ = 0.0;
51 |
52 | position_ = robotis_framework::getTransitionXYZ( 0.0 , 0.0 , 0.0 );
53 | orientation_ = robotis_framework::convertRPYToRotation( 0.0 , 0.0 , 0.0 );
54 | transformation_ = robotis_framework::getTransformationXYZRPY( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0);
55 | }
56 |
57 | LinkData::~LinkData(){}
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/sensor_module_tutorial/include/sensor_module_tutorial/sensor_module_tutorial.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #ifndef SENSOR_MODULE_TUTORIAL_SENSOR_MODULE_TUTORIAL_H_
18 | #define SENSOR_MODULE_TUTORIAL_SENSOR_MODULE_TUTORIAL_H_
19 |
20 | #include
21 | #include
22 | #include
23 | #include
24 |
25 | #include "robotis_framework_common/sensor_module.h"
26 |
27 | namespace ROBOTIS
28 | {
29 |
30 | class SensorModuleTutorial
31 | : public robotis_framework::SensorModule,
32 | public robotis_framework::Singleton
33 | {
34 | private:
35 | int control_cycle_msec_;
36 | boost::thread queue_thread_;
37 |
38 | /* sample subscriber & publisher */
39 | ros::Subscriber sub1_;
40 | ros::Publisher pub1_;
41 |
42 | void queueThread();
43 |
44 | public:
45 | SensorModuleTutorial();
46 | virtual ~SensorModuleTutorial();
47 |
48 | /* ROS Topic Callback Functions */
49 | void topicCallback(const std_msgs::Int16::ConstPtr &msg);
50 |
51 | void initialize(const int control_cycle_msec, robotis_framework::Robot *robot);
52 | void process(std::map dxls,
53 | std::map sensors);
54 | };
55 |
56 | }
57 |
58 | #endif /* SENSOR_MODULE_TUTORIAL_SENSOR_MODULE_TUTORIAL_H_ */
59 |
--------------------------------------------------------------------------------
/motion_module_tutorial/include/motion_module_tutorial/motion_module_tutorial.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #ifndef MOTION_MODULE_TUTORIAL_MOTION_MODULE_TUTORIAL_H_
18 | #define MOTION_MODULE_TUTORIAL_MOTION_MODULE_TUTORIAL_H_
19 |
20 | #include
21 | #include
22 | #include
23 | #include
24 |
25 | #include "robotis_framework_common/motion_module.h"
26 |
27 | namespace thormang3
28 | {
29 |
30 | class MotionModuleTutorial
31 | : public robotis_framework::MotionModule,
32 | public robotis_framework::Singleton
33 | {
34 | private:
35 | int control_cycle_msec_;
36 | boost::thread queue_thread_;
37 |
38 | /* sample subscriber & publisher */
39 | ros::Subscriber sub1_;
40 | ros::Publisher pub1_;
41 |
42 | void queueThread();
43 |
44 | public:
45 | MotionModuleTutorial();
46 | virtual ~MotionModuleTutorial();
47 |
48 | /* ROS Topic Callback Functions */
49 | void topicCallback(const std_msgs::Int16::ConstPtr &msg);
50 |
51 | void initialize(const int control_cycle_msec, robotis_framework::Robot *robot);
52 | void process(std::map dxls, std::map sensors);
53 |
54 | void stop();
55 | bool isRunning();
56 | };
57 |
58 | }
59 |
60 | #endif /* MOTION_MODULE_TUTORIAL_MOTION_MODULE_TUTORIAL_H_ */
61 |
--------------------------------------------------------------------------------
/thormang3_action_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_action_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * Contributors: SCH, Pyo
12 |
13 | 0.1.3 (2017-05-23)
14 | ------------------
15 | * updated cmake file for ros install
16 | * Contributors: SCH
17 |
18 | 0.1.2 (2017-04-24)
19 | ------------------
20 | * edited action file and dxl_init
21 | * added function for action_editor to action_module
22 | * bug fix : action file load
23 | * edited comment and some hard coded parameter
24 | * modified done msg in walking module and action module
25 | * add done msg : action module
26 | * code revision : action module
27 | * - fixed package dependencies
28 | * - optimized cpu usage by spin loop (by astumpf)
29 | * wholebody modified
30 | * - reduce CPU consumption
31 | * wholebody inipose added
32 | * update thormang3_head_control_module : scan lidar using range
33 | * Contributors: Jay Song, Zerom, Kayman
34 |
35 | 0.1.1 (2016-08-19)
36 | ------------------
37 | * none
38 |
39 | 0.1.0 (2016-08-18)
40 | ------------------
41 | * first public release for Kinetic
42 | * modified package information for release
43 | * action file edited
44 | added some new actions
45 | * walking Module Update
46 | divide balance algorithm
47 | make thormang3_balance_control
48 | * fixed a bug : check enable when action start
49 | * fixed abnormal message.
50 | * added Function - action play for only specified joints
51 | * modified motion_4096.bin
52 | added stand_motion
53 | added value for gripper
54 | * ROS C++ coding style is applied
55 | * added thormang3_action_module_msgs package
56 | * fixed a bug of initialize code in action_module.cpp
57 | * Change initialize code in action_module.cpp
58 | * fixed a bug
59 | * modified motion_4096.bin
60 | added and modify some actions in motion_4096.bin
61 | * added thormang3_action_module
62 | * Contributors: Jay Song, Zerom, SCH, Pyo
63 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/include/thormang3_kinematics_dynamics/kinematics_dynamics_define.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * kinematics_dynamics_define.h
19 | *
20 | * Created on: June 7, 2016
21 | * Author: SCH
22 | */
23 |
24 | #ifndef THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_DEFINE_H_
25 | #define THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_DEFINE_H_
26 |
27 | namespace thormang3
28 | {
29 |
30 | #define MAX_JOINT_ID (31) // 29 + 2
31 | #define ALL_JOINT_ID (46)
32 |
33 | #define MAX_ARM_ID (7)
34 | #define MAX_LEG_ID (6)
35 | #define MAX_ITER (5)
36 |
37 | #define ID_HEAD_END (29)
38 | #define ID_COB (44)
39 | #define ID_TORSO (27)
40 |
41 | #define ID_R_ARM_START (1)
42 | #define ID_L_ARM_START (2)
43 | #define ID_R_ARM_END (35)
44 | #define ID_L_ARM_END (34)
45 |
46 | #define ID_R_LEG_START (15)
47 | #define ID_L_LEG_START (16)
48 | #define ID_R_LEG_END (45)
49 | #define ID_L_LEG_END (46)
50 |
51 | #define ID_R_LEG_FT (37)
52 | #define ID_L_LEG_FT (36)
53 |
54 | #define ID_BASE (0)
55 | #define ID_PELVIS (44)
56 |
57 | #define ID_PELVIS_POS_X (38)
58 | #define ID_PELVIS_POS_Y (39)
59 | #define ID_PELVIS_POS_Z (40)
60 | #define ID_PELVIS_ROT_X (41)
61 | #define ID_PELVIS_ROT_Y (42)
62 | #define ID_PELVIS_ROT_Z (43)
63 |
64 |
65 | #define GRAVITY_ACCELERATION (9.8)
66 |
67 | }
68 |
69 | #endif /* THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_DEFINE_H_ */
70 |
--------------------------------------------------------------------------------
/thormang3_manager/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_manager
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * changed depend pkg for catkin dependencies and package.xml format to v2
10 | * changed include path for dependencies and license to Apache v2
11 | * changed node setting
12 | * changed gazebo mode to false
13 | * upgrade walking algorism
14 | * Contributors: Kayman, SCH, Pyo
15 |
16 | 0.1.3 (2017-05-23)
17 | ------------------
18 | * updated cmake file for ros install
19 | * Contributors: SCH
20 |
21 | 0.1.2 (2017-04-24)
22 | ------------------
23 | * edited action file and dxl_init
24 | * reupload ft yaml
25 | * added function for action_editor to action_module
26 | * findpackage build_depend module msgs added
27 | * added control_cycle value.
28 | * upgrade walking balance control
29 | * manager parameter modified
30 | * manipulation & gripper module clean up
31 | * merged develop with feature_walking_upgrade
32 | * minor bug fixed
33 | * deleted old config
34 | * updated ft_data.yaml
35 | * initialize ftdata and offset data
36 | * wholebody inipose added
37 | * updated thormang3_head_control_module : scan lidar using range
38 | * wholebody balance gain update
39 | * gripper debug
40 | * manager modified
41 | * gripper module added
42 | * merge with wholebody
43 | * wholebody added
44 | * Contributors: Jay Song, Zerom, Kayman, SCH
45 |
46 | 0.1.1 (2016-08-19)
47 | ------------------
48 | * package name changed
49 | imu_3dm_gx4 -> thormang3_imu_3dm_gx4
50 | * Contributors: Jay-Song
51 |
52 | 0.1.0 (2016-08-18)
53 | ------------------
54 | * first public release for Kinetic
55 | * modified package information for release
56 | * a bug fixed
57 | test on real robot and fix bug
58 | * merged remote-tracking branch 'remotes/origin/develop' into walking_upgrade
59 | * modified motion_module_tutorial / sensor_module_tutorial
60 | * ROS C++ coding style is applied
61 | * file name changed
62 | * thormang3_manager : ROS C++ Coding Style is applied
63 | * ROS c++ coding stylie is applying, first thormang3_kinematics_dynamics complete
64 | * modify thormang3_manager.launch for real robot
65 | * added thormang3_action_module
66 | * fixed high CPU consumption due to busy waits
67 | * launch param name changed.
68 | * gazebo_robot_name changed.
69 | * Contributors: Alexander Stumpf, Jay Song, Zerom, SCH, Pyo
70 |
--------------------------------------------------------------------------------
/thormang3_base_module/data/ini_pose.yaml:
--------------------------------------------------------------------------------
1 | # time parameter
2 |
3 | mov_time : 4.0 # movement time
4 |
5 | via_num : 1 # via-point number
6 | via_time : [ 2.0 ] # via-point time
7 |
8 |
9 | # via-point pose [deg]
10 |
11 | via_pose :
12 | 1 : [ -66.95 ] # r_arm_sh_p1
13 | 2 : [ 66.95 ] # l_arm_sh_p1
14 | 3 : [ -60.28 ] # r_arm_sh_r
15 | 4 : [ 60.28 ] # l_arm_sh_r
16 | 5 : [ 10.71 ] # r_arm_sh_p2
17 | 6 : [ -10.71 ] # l_arm_sh_p2
18 | 7 : [ -34.44 ] # r_arm_el_y
19 | 8 : [ 34.44 ] # l_arm_el_y
20 | 9 : [ -59.61 ] # r_arm_wr_r
21 | 10 : [ 59.61 ] # l_arm_wr_r
22 | 11 : [ 8.47 ] # r_arm_wr_y
23 | 12 : [ -8.47 ] # l_arm_wr_y
24 | 13 : [ -31.96 ] # r_arm_wr_p
25 | 14 : [ 31.96 ] # l_arm_wr_p
26 | 15 : [ 0.0 ] # r_leg_hip_y
27 | 16 : [ 0.0 ] # l_leg_hip_y
28 | 17 : [ 0.0 ] # r_leg_hip_r
29 | 18 : [ 0.0 ] # l_leg_hip_r
30 | 19 : [ 31.870072 ] # r_leg_hip_p
31 | 20 : [ -31.8700729 ] # l_leg_hip_p
32 | 21 : [ -61.517503 ] # r_leg_kn_p
33 | 22 : [ 61.517503 ] # l_leg_kn_p
34 | 23 : [ -29.647430 ] # r_leg_an_p
35 | 24 : [ 29.647430 ] # l_leg_an_p
36 | 25 : [ 0.0 ] # r_leg_an_r
37 | 26 : [ 0.0 ] # l_leg_an_r
38 | 27 : [ 0.0 ] # torso_y
39 | 28 : [ 0.0 ] # head_y
40 | 29 : [ 0.0 ] # head_p
41 | 30 : [ 3.0 ] # l_arm_grip
42 | 31 : [ 3.0 ] # r_arm_grip
43 |
44 |
45 | # target pose [deg]
46 |
47 | tar_pose :
48 | 1 : -25.0 # r_arm_sh_p1
49 | 2 : 25.0 # l_arm_sh_p1
50 | 3 : -75.0 # r_arm_sh_r
51 | 4 : 75.0 # l_arm_sh_r
52 | 5 : -5.0 # r_arm_sh_p2
53 | 6 : 5.0 # l_arm_sh_p2
54 | 7 : 30.0 # r_arm_el_y
55 | 8 : -30.0 # l_arm_el_y
56 | 9 : 0.0 # r_arm_wr_r
57 | 10 : 0.0 # l_arm_wr_r
58 | 11 : 0.0 # r_arm_wr_y
59 | 12 : 0.0 # l_arm_wr_y
60 | 13 : 0.0 # r_arm_wr_p
61 | 14 : 0.0 # l_arm_wr_p
62 | 15 : 0.0 # r_leg_hip_y
63 | 16 : 0.0 # l_leg_hip_y
64 | 17 : 0.0 # r_leg_hip_r
65 | 18 : 0.0 # l_leg_hip_r
66 | 19 : 32.40283362 # r_leg_hip_p
67 | 20 : -32.40283362 # l_leg_hip_p
68 | 21 : -61.47222691 # r_leg_kn_p
69 | 22 : 61.47222691 # l_leg_kn_p
70 | 23 : -29.06939329 # r_leg_an_p
71 | 24 : 29.06939329 # l_leg_an_p
72 | 25 : 0.0 # r_leg_an_r
73 | 26 : 0.0 # l_leg_an_r
74 | 27 : 0.0 # torso_y
75 | 28 : 0.0 # head_y
76 | 29 : 0.0 # head_p
77 | 30 : 60.0 # l_arm_grip
78 | 31 : 60.0 # r_arm_grip
79 |
--------------------------------------------------------------------------------
/sensor_module_tutorial/src/sensor_module_tutorial/sensor_module_tutorial.cpp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #include
18 | #include "sensor_module_tutorial/sensor_module_tutorial.h"
19 |
20 | using namespace ROBOTIS;
21 |
22 | SensorModuleTutorial::SensorModuleTutorial()
23 | : control_cycle_msec_(8)
24 | {
25 | module_name_ = "test_sensor_module"; // set unique module name
26 |
27 | result_["test_sensor"] = 0.0;
28 | }
29 |
30 | SensorModuleTutorial::~SensorModuleTutorial()
31 | {
32 | queue_thread_.join();
33 | }
34 |
35 | void SensorModuleTutorial::initialize(const int control_cycle_msec, robotis_framework::Robot *robot)
36 | {
37 | control_cycle_msec_ = control_cycle_msec;
38 | queue_thread_ = boost::thread(boost::bind(&SensorModuleTutorial::queueThread, this));
39 | }
40 |
41 | void SensorModuleTutorial::queueThread()
42 | {
43 | ros::NodeHandle ros_node;
44 | ros::CallbackQueue callback_queue;
45 |
46 | ros_node.setCallbackQueue(&callback_queue);
47 |
48 | /* subscriber */
49 | sub1_ = ros_node.subscribe("/tutorial_topic", 10, &SensorModuleTutorial::topicCallback, this);
50 |
51 | /* publisher */
52 | pub1_ = ros_node.advertise("/tutorial_publish", 1, true);
53 |
54 | ros::WallDuration duration(control_cycle_msec_ / 1000.0);
55 | while(ros_node.ok())
56 | callback_queue.callAvailable(duration);
57 | }
58 |
59 | void SensorModuleTutorial::topicCallback(const std_msgs::Int16::ConstPtr &msg)
60 | {
61 | std_msgs::Int16 msg_int16;
62 | msg_int16.data = msg->data;
63 | pub1_.publish(msg_int16);
64 | }
65 |
66 | void SensorModuleTutorial::process(std::map dxls,
67 | std::map sensors)
68 | {
69 | uint16_t ext_port_data_1 = dxls["r_leg_an_p"]->dxl_state_->bulk_read_table_["external_port_data_1"];
70 | uint16_t ext_port_data_2 = dxls["r_leg_an_p"]->dxl_state_->bulk_read_table_["external_port_data_2"];
71 |
72 | // ...
73 |
74 | result_["test_sensor"] = 0.0;
75 | }
76 |
77 |
--------------------------------------------------------------------------------
/thormang3_walking_module/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package thormang3_walking_module
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.2.0 (2018-03-27)
6 | ------------------
7 | * modified build option and dependencies configuration
8 | * modified cmake & package setting for yaml-cpp
9 | * modified gain
10 | * changed depend pkg for catkin dependencies and package.xml format to v2
11 | * changed include path for dependencies and license to Apache v2
12 | * upgrade walking algorism
13 | * Contributors: SCH, Pyo
14 |
15 | 0.1.3 (2017-05-23)
16 | ------------------
17 | * updated cmake file for ros install
18 | * Contributors: SCH
19 |
20 | 0.1.2 (2017-04-24)
21 | ------------------
22 | * removed error of negative cut_off_freq
23 | * bug fix : balance param and joint feedback gain update
24 | * bug fix : joint feedback gain update
25 | * when balance turned off, walking can be started
26 | * modified done msg in walking module and action module
27 | * upgrade walking balance control
28 | * - fixed package dependencies
29 | * - optimized cpu usage by spin loop (by astumpf)
30 | * Merge branch 'whole-body' into walking_upgrade
31 | * bug fix : incorrect target force for balance
32 | * Merge branch 'whole-body' into walking_upgrade
33 | * wholebody modified
34 | * - reduce CPU consumption
35 | * wholebody inipose added
36 | * update thormang3_head_control_module : scan lidar using range
37 | * Contributors: Jay Song, Zerom, Kayman
38 |
39 | 0.1.1 (2016-08-19)
40 | ------------------
41 | * modify CMakeLists.txt for sync
42 | * file name is changed
43 | * bug fix
44 | * Contributors: Jay Song
45 |
46 | 0.1.0 (2016-08-18)
47 | ------------------
48 | * first public release for Kinetic
49 | * modified package information for release
50 | * modified thormang3_walking_module/package.xml
51 | * removed some codes that commented out.
52 | * fifth trajectory is applied
53 | * modified File name
54 | thormang3_online_walking.h
55 | thormang3_online_walking.cpp
56 | thormang3_walking_module.h
57 | thormang3_wakling_module.cpp
58 | * removed walking_module_math & modify thormang3_balance_control
59 | added set enable function for each balance algorithm
60 | removed walking module math
61 | * modified target force calculation
62 | modified thormang3_walking_module/src/robotis_online_walking.cpp
63 | add target force calculation for fx fy
64 | * added Function - action play for only specified joints
65 | modified action_module.h
66 | modified action_module.cpp
67 | modified message in walking_module.cpp
68 | * StepData can be changed in walking.
69 | modify thormang3_walking_module/src/wakling_module.cpp
70 | * ROS C++ coding style is applied.
71 | * fixed high CPU consumption due to busy waits
72 | * Contributors: Alexander Stumpf, Jay Song, Zerom, Pyo, SCH
73 |
--------------------------------------------------------------------------------
/thormang3_balance_control/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(thormang3_balance_control)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | cmake_modules
16 | robotis_math
17 | )
18 |
19 | find_package(Eigen3 REQUIRED)
20 |
21 | ################################################################################
22 | # Setup for python modules and scripts
23 | ################################################################################
24 |
25 | ################################################################################
26 | # Declare ROS messages, services and actions
27 | ################################################################################
28 |
29 | ################################################################################
30 | # Declare ROS dynamic reconfigure parameters
31 | ################################################################################
32 |
33 | ################################################################################
34 | # Declare catkin specific configuration to be passed to dependent projects
35 | ################################################################################
36 | catkin_package(
37 | INCLUDE_DIRS include
38 | LIBRARIES ${PROJECT_NAME}
39 | CATKIN_DEPENDS roscpp cmake_modules robotis_math
40 | DEPENDS EIGEN3
41 | )
42 |
43 | ################################################################################
44 | # Build
45 | ################################################################################
46 | include_directories(
47 | include
48 | ${catkin_INCLUDE_DIRS}
49 | ${EIGEN3_INCLUDE_DIRS}
50 | )
51 |
52 | add_library(${PROJECT_NAME} src/thormang3_balance_control.cpp)
53 | add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
54 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Eigen3_LIBRARIES})
55 |
56 | ################################################################################
57 | # Install
58 | ################################################################################
59 | install(TARGETS ${PROJECT_NAME}
60 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
61 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
62 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
63 | )
64 |
65 | install(DIRECTORY include/${PROJECT_NAME}/
66 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
67 | )
68 |
69 | ################################################################################
70 | # Test
71 | ################################################################################
72 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(thormang3_kinematics_dynamics)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | cmake_modules
16 | robotis_math
17 | )
18 |
19 | find_package(Eigen3 REQUIRED)
20 |
21 | ################################################################################
22 | # Setup for python modules and scripts
23 | ################################################################################
24 |
25 | ################################################################################
26 | # Declare ROS messages, services and actions
27 | ################################################################################
28 |
29 | ################################################################################
30 | # Declare ROS dynamic reconfigure parameters
31 | ################################################################################
32 |
33 | ################################################################################
34 | # Declare catkin specific configuration to be passed to dependent projects
35 | ################################################################################
36 | catkin_package(
37 | INCLUDE_DIRS include
38 | LIBRARIES ${PROJECT_NAME}
39 | CATKIN_DEPENDS roscpp cmake_modules robotis_math
40 | DEPENDS EIGEN3
41 | )
42 |
43 | ################################################################################
44 | # Build
45 | ################################################################################
46 | include_directories(
47 | include
48 | ${catkin_INCLUDE_DIRS}
49 | ${EIGEN3_INCLUDE_DIRS}
50 | )
51 |
52 | add_library(${PROJECT_NAME} src/link_data.cpp src/kinematics_dynamics.cpp)
53 | add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
54 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Eigen3_LIBRARIES})
55 |
56 | ################################################################################
57 | # Install
58 | ################################################################################
59 | install(TARGETS ${PROJECT_NAME}
60 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
61 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
62 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
63 | )
64 |
65 | install(DIRECTORY include/${PROJECT_NAME}/
66 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
67 | )
68 |
69 | ################################################################################
70 | # Test
71 | ################################################################################
72 |
--------------------------------------------------------------------------------
/motion_module_tutorial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(motion_module_tutorial)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | std_msgs
16 | robotis_framework_common
17 | )
18 |
19 | find_package(Boost REQUIRED COMPONENTS thread)
20 |
21 | ################################################################################
22 | # Setup for python modules and scripts
23 | ################################################################################
24 |
25 | ################################################################################
26 | # Declare ROS messages, services and actions
27 | ################################################################################
28 |
29 | ################################################################################
30 | # Declare ROS dynamic reconfigure parameters
31 | ################################################################################
32 |
33 | ################################################################################
34 | # Declare catkin specific configuration to be passed to dependent projects
35 | ################################################################################
36 | catkin_package(
37 | INCLUDE_DIRS include
38 | LIBRARIES ${PROJECT_NAME}
39 | CATKIN_DEPENDS roscpp std_msgs robotis_framework_common
40 | DEPENDS Boost
41 | )
42 |
43 | ################################################################################
44 | # Build
45 | ################################################################################
46 | include_directories(
47 | include
48 | ${catkin_INCLUDE_DIRS}
49 | ${Boost_INCLUDE_DIRS}
50 | )
51 |
52 | add_library(${PROJECT_NAME} src/${PROJECT_NAME}/motion_module_tutorial.cpp)
53 | add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
54 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES})
55 |
56 | ################################################################################
57 | # Install
58 | ################################################################################
59 | install(TARGETS ${PROJECT_NAME}
60 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
61 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
62 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
63 | )
64 |
65 | install(DIRECTORY include/${PROJECT_NAME}/
66 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
67 | )
68 |
69 | ################################################################################
70 | # Test
71 | ################################################################################
72 |
--------------------------------------------------------------------------------
/sensor_module_tutorial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(sensor_module_tutorial)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | std_msgs
16 | robotis_framework_common
17 | )
18 |
19 | find_package(Boost REQUIRED COMPONENTS thread)
20 |
21 | ################################################################################
22 | # Setup for python modules and scripts
23 | ################################################################################
24 |
25 | ################################################################################
26 | # Declare ROS messages, services and actions
27 | ################################################################################
28 |
29 | ################################################################################
30 | # Declare ROS dynamic reconfigure parameters
31 | ################################################################################
32 |
33 | ################################################################################
34 | # Declare catkin specific configuration to be passed to dependent projects
35 | ################################################################################
36 | catkin_package(
37 | INCLUDE_DIRS include
38 | LIBRARIES ${PROJECT_NAME}
39 | CATKIN_DEPENDS roscpp std_msgs robotis_framework_common
40 | DEPENDS Boost
41 | )
42 |
43 | ################################################################################
44 | # Build
45 | ################################################################################
46 | include_directories(
47 | include
48 | ${catkin_INCLUDE_DIRS}
49 | ${Boost_INCLUDE_DIRS}
50 | )
51 |
52 | add_library(${PROJECT_NAME} src/${PROJECT_NAME}/sensor_module_tutorial.cpp)
53 | add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
54 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES})
55 |
56 | ################################################################################
57 | # Install
58 | ################################################################################
59 | install(TARGETS ${PROJECT_NAME}
60 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
61 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
62 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
63 | )
64 |
65 | install(DIRECTORY include/${PROJECT_NAME}/
66 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
67 | )
68 |
69 | ################################################################################
70 | # Test
71 | ################################################################################
72 |
--------------------------------------------------------------------------------
/thormang3_action_module/include/thormang3_action_module/action_file_define.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * action_module.h
19 | *
20 | * Created on: 2016. 2. 23.
21 | * Author: Jay Song
22 | */
23 |
24 | #ifndef THORMANG3_ACTION_MODULE_ACTION_FILE_DEFINE_H_
25 | #define THORMANG3_ACTION_MODULE_ACTION_FILE_DEFINE_H_
26 |
27 | namespace thormang3
28 | {
29 |
30 | namespace action_file_define
31 | {
32 |
33 | const int MAXNUM_PAGE = 256;
34 | const int MAXNUM_STEP = 7;
35 | const int MAXNUM_NAME = 13;
36 | const int MAXNUM_JOINTS = 38;
37 |
38 | const int SPEED_BASE_SCHEDULE = 0;
39 | const int TIME_BASE_SCHEDULE = 0x0a;
40 |
41 | const int INVALID_BIT_MASK = 0x4000;
42 | const int TORQUE_OFF_BIT_MASK = 0x2000;
43 |
44 | typedef struct // Header Structure (total 64unsigned char)
45 | {
46 | unsigned char name[MAXNUM_NAME+1]; // Name 0~13
47 | unsigned char reserved1; // Reserved1 14
48 | unsigned char repeat; // Repeat count 15
49 | unsigned char schedule; // schedule 16
50 | unsigned char reserved2[3]; // reserved2 17~19
51 | unsigned char stepnum; // Number of step 20
52 | unsigned char reserved3; // reserved3 21
53 | unsigned char speed; // Speed 22
54 | unsigned char reserved4; // reserved4 23
55 | unsigned char accel; // Acceleration time 24
56 | unsigned char next; // Link to next 25
57 | unsigned char exit; // Link to exit 26
58 | unsigned char reserved5[4]; // reserved5 27~30
59 | unsigned char checksum; // checksum 31
60 | unsigned char pgain[MAXNUM_JOINTS]; // pgain 32~69
61 | unsigned char reserved6; // reserved6 70
62 | } PageHeader;
63 |
64 | typedef struct // Step Structure (total 64unsigned char)
65 | {
66 | unsigned short position[MAXNUM_JOINTS]; // Joint position 0~75
67 | unsigned char pause; // Pause time 76
68 | unsigned char time; // Time 77
69 | } Step;
70 |
71 | typedef struct // Page Structure (total 512unsigned char)
72 | {
73 | PageHeader header; // Page header 0~70
74 | Step step[MAXNUM_STEP]; // Page step 71~609
75 | } Page;
76 |
77 | }
78 |
79 | }
80 |
81 | #endif /* THORMANG3_ACTION_MODULE_ACTION_FILE_DEFINE_H_ */
82 |
--------------------------------------------------------------------------------
/thormang3_manager/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(thormang3_manager)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | robotis_controller
16 | thormang3_feet_ft_module
17 | thormang3_base_module
18 | thormang3_action_module
19 | thormang3_head_control_module
20 | thormang3_manipulation_module
21 | thormang3_walking_module
22 | thormang3_gripper_module
23 | )
24 |
25 | ################################################################################
26 | # Setup for python modules and scripts
27 | ################################################################################
28 |
29 | ################################################################################
30 | # Declare ROS messages, services and actions
31 | ################################################################################
32 |
33 | ################################################################################
34 | # Declare ROS dynamic reconfigure parameters
35 | ################################################################################
36 |
37 | ################################################################################
38 | # Declare catkin specific configuration to be passed to dependent projects
39 | ################################################################################
40 | catkin_package(
41 | CATKIN_DEPENDS
42 | roscpp
43 | robotis_controller
44 | thormang3_feet_ft_module
45 | thormang3_base_module
46 | thormang3_action_module
47 | thormang3_head_control_module
48 | thormang3_manipulation_module
49 | thormang3_walking_module
50 | thormang3_gripper_module
51 | )
52 |
53 | ################################################################################
54 | # Build
55 | ################################################################################
56 | include_directories(
57 | ${catkin_INCLUDE_DIRS}
58 | )
59 |
60 | add_executable(thormang3_manager src/thormang3_manager.cpp)
61 | add_dependencies(thormang3_manager ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
62 | target_link_libraries(thormang3_manager ${catkin_LIBRARIES})
63 |
64 | ################################################################################
65 | # Install
66 | ################################################################################
67 | install(TARGETS thormang3_manager
68 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
69 | )
70 |
71 | install(DIRECTORY config launch
72 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
73 | )
74 |
75 | ################################################################################
76 | # Test
77 | ################################################################################
78 |
--------------------------------------------------------------------------------
/thormang3_action_module/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Set minimum required version of cmake, project name and compile options
3 | ################################################################################
4 | cmake_minimum_required(VERSION 2.8.3)
5 | project(thormang3_action_module)
6 |
7 | ## Compile as C++11, supported in ROS Kinetic and newer
8 | add_compile_options(-std=c++11)
9 |
10 | ################################################################################
11 | # Find catkin packages and libraries for catkin and system dependencies
12 | ################################################################################
13 | find_package(catkin REQUIRED COMPONENTS
14 | roscpp
15 | roslib
16 | std_msgs
17 | robotis_controller_msgs
18 | thormang3_action_module_msgs
19 | robotis_framework_common
20 | )
21 |
22 | find_package(Boost REQUIRED COMPONENTS thread)
23 |
24 | ################################################################################
25 | # Setup for python modules and scripts
26 | ################################################################################
27 |
28 | ################################################################################
29 | # Declare ROS messages, services and actions
30 | ################################################################################
31 |
32 | ################################################################################
33 | # Declare ROS dynamic reconfigure parameters
34 | ################################################################################
35 |
36 | ################################################################################
37 | # Declare catkin specific configuration to be passed to dependent projects
38 | ################################################################################
39 | catkin_package(
40 | INCLUDE_DIRS include
41 | LIBRARIES ${PROJECT_NAME}
42 | CATKIN_DEPENDS roscpp roslib std_msgs robotis_controller_msgs thormang3_action_module_msgs robotis_framework_common
43 | DEPENDS Boost
44 | )
45 |
46 | ################################################################################
47 | # Build
48 | ################################################################################
49 | include_directories(
50 | include
51 | ${catkin_INCLUDE_DIRS}
52 | ${Boost_INCLUDE_DIRS}
53 | )
54 |
55 | add_library(${PROJECT_NAME} src/action_module.cpp)
56 | add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
57 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES})
58 |
59 | ################################################################################
60 | # Install
61 | ################################################################################
62 | install(TARGETS ${PROJECT_NAME}
63 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
64 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
65 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
66 | )
67 |
68 | install(DIRECTORY include/${PROJECT_NAME}/
69 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
70 | )
71 |
72 | install(DIRECTORY data
73 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
74 | )
75 |
76 | ################################################################################
77 | # Test
78 | ################################################################################
79 |
--------------------------------------------------------------------------------
/thormang3_kinematics_dynamics/include/thormang3_kinematics_dynamics/kinematics_dynamics.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | /*
18 | * kinematcis_dynamics.h
19 | *
20 | * Created on: June 7, 2016
21 | * Author: SCH
22 | */
23 |
24 | #ifndef THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_H_
25 | #define THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_H_
26 |
27 | #define EIGEN_NO_DEBUG
28 | #define EIGEN_NO_STATIC_ASSERT
29 |
30 | #include
31 | #include
32 |
33 | #include "kinematics_dynamics_define.h"
34 | #include "link_data.h"
35 |
36 | namespace thormang3
37 | {
38 |
39 | enum TreeSelect {
40 | Manipulation,
41 | Walking,
42 | WholeBody
43 | };
44 |
45 | class KinematicsDynamics
46 | {
47 |
48 | public:
49 | KinematicsDynamics();
50 | ~KinematicsDynamics();
51 | KinematicsDynamics(TreeSelect tree);
52 |
53 | std::vector findRoute(int to);
54 | std::vector findRoute(int from, int to);
55 |
56 | double calcTotalMass(int joint_id);
57 | Eigen::MatrixXd calcMassCenter(int joint_id);
58 | Eigen::MatrixXd calcCenterOfMass(Eigen::MatrixXd mc);
59 |
60 | void calcJointsCenterOfMass(int joint_id);
61 |
62 | void calcForwardKinematics(int joint_ID);
63 |
64 | Eigen::MatrixXd calcJacobian(std::vector idx);
65 | Eigen::MatrixXd calcJacobianCOM(std::vector idx);
66 | Eigen::MatrixXd calcVWerr(Eigen::MatrixXd tar_position, Eigen::MatrixXd curr_position, Eigen::MatrixXd tar_orientation, Eigen::MatrixXd curr_orientation);
67 |
68 | bool calcInverseKinematics(int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation , int max_iter, double ik_err);
69 | bool calcInverseKinematics(int from, int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation, int max_iter, double ik_err);
70 |
71 | // with weight
72 | bool calcInverseKinematics(int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation, int max_iter, double ik_err , Eigen::MatrixXd weight);
73 | bool calcInverseKinematics(int from, int to, Eigen::MatrixXd tar_position, Eigen::MatrixXd tar_orientation, int max_iter, double ik_err, Eigen::MatrixXd weight);
74 |
75 | bool calcInverseKinematicsForLeg(double *out, double x, double y, double z, double roll, double pitch, double yaw);
76 | bool calcInverseKinematicsForRightLeg(double *out, double x, double y, double z, double roll, double pitch, double yaw);
77 | bool calcInverseKinematicsForLeftLeg(double *out, double x, double y, double z, double roll, double pitch, double yaw);
78 |
79 | LinkData *thormang3_link_data_ [ ALL_JOINT_ID + 1 ];
80 |
81 | double thigh_length_m_;
82 | double calf_length_m_;
83 | double ankle_length_m_;
84 | double leg_side_offset_m_;
85 | };
86 |
87 | }
88 |
89 | #endif /* THORMANG3_KINEMATICS_DYNAMICS_KINEMATICS_DYNAMICS_H_ */
90 |
--------------------------------------------------------------------------------
/thormang3_gripper_module/include/thormang3_gripper_module/gripper_module.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2018 ROBOTIS CO., LTD.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 |
17 | #ifndef THORMANG3_GRIPPER_MODULE_H_
18 | #define THORMANG3_GRIPPER_MODULE_H_
19 |
20 | #include