Skip to content

Commit

Permalink
Merge pull request #75 from robotology/devel
Browse files Browse the repository at this point in the history
Merge devel in master and tag 1.18.0
  • Loading branch information
traversaro authored Nov 27, 2020
2 parents bd7eeb1 + 20bb535 commit bed6cb2
Show file tree
Hide file tree
Showing 118 changed files with 979,294 additions and 26 deletions.
102 changes: 102 additions & 0 deletions AddUninstallTarget.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#.rst:
# AddUninstallTarget
# ------------------
#
# Add the "uninstall" target for your project::
#
# include(AddUninstallTarget)
#
#
# will create a file ``cmake_uninstall.cmake`` in the build directory and add a
# custom target ``uninstall`` (or ``UNINSTALL`` on Visual Studio and Xcode) that
# will remove the files installed by your package (using
# ``install_manifest.txt``).
# See also
# https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake
#
# The :module:`AddUninstallTarget` module must be included in your main
# ``CMakeLists.txt``. If included in a subdirectory it does nothing.
# This allows you to use it safely in your main ``CMakeLists.txt`` and include
# your project using ``add_subdirectory`` (for example when using it with
# :cmake:module:`FetchContent`).
#
# If the ``uninstall`` target already exists, the module does nothing.

#=============================================================================
# Copyright 2008-2013 Kitware, Inc.
# Copyright 2013 Istituto Italiano di Tecnologia (IIT)
# Authors: Daniele E. Domenichelli <[email protected]>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)


# AddUninstallTarget works only when included in the main CMakeLists.txt
if(NOT "${CMAKE_CURRENT_BINARY_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
return()
endif()

# The name of the target is uppercase in MSVC and Xcode (for coherence with the
# other standard targets)
if("${CMAKE_GENERATOR}" MATCHES "^(Visual Studio|Xcode)")
set(_uninstall "UNINSTALL")
else()
set(_uninstall "uninstall")
endif()

# If target is already defined don't do anything
if(TARGET ${_uninstall})
return()
endif()


set(_filename cmake_uninstall.cmake)

file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${_filename}"
"if(NOT EXISTS \"${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt\")
message(WARNING \"Cannot find install manifest: \\\"${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt\\\"\")
return()
endif()
file(READ \"${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt\" files)
string(STRIP \"\${files}\" files)
string(REGEX REPLACE \"\\n\" \";\" files \"\${files}\")
list(REVERSE files)
foreach(file \${files})
if(IS_SYMLINK \"\$ENV{DESTDIR}\${file}\" OR EXISTS \"\$ENV{DESTDIR}\${file}\")
message(STATUS \"Uninstalling: \$ENV{DESTDIR}\${file}\")
execute_process(
COMMAND \${CMAKE_COMMAND} -E remove \"\$ENV{DESTDIR}\${file}\"
OUTPUT_VARIABLE rm_out
RESULT_VARIABLE rm_retval)
if(NOT \"\${rm_retval}\" EQUAL 0)
message(FATAL_ERROR \"Problem when removing \\\"\$ENV{DESTDIR}\${file}\\\"\")
endif()
else()
message(STATUS \"Not-found: \$ENV{DESTDIR}\${file}\")
endif()
endforeach(file)
")

set(_desc "Uninstall the project...")
if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
set(_comment COMMAND \$\(CMAKE_COMMAND\) -E cmake_echo_color --switch=$\(COLOR\) --cyan "${_desc}")
else()
set(_comment COMMENT "${_desc}")
endif()
add_custom_target(${_uninstall}
${_comment}
COMMAND ${CMAKE_COMMAND} -P ${_filename}
USES_TERMINAL
BYPRODUCTS uninstall_byproduct
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
set_property(SOURCE uninstall_byproduct PROPERTY SYMBOLIC 1)

set_property(TARGET ${_uninstall} PROPERTY FOLDER "CMakePredefinedTargets")
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Changelog
All notable changes to this project will be documented in this file.

The format of this document is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

## [1.18.0] - 2020-11-30

### Added
- Added first URDF model for the iCub3, namely the `iCubGazeboV3` with inertia modified to run in Gazebo Classic, and iCubGenova09 for control of the real robot.
As the development of this model is an ongoing activity, interested users are suggested to keep in sync with the updates that will happen in the `devel` branch.

### Changed
- The `base_link` massless link is now a child of the `root_link` link instead of being a parent. This has the effect that now when the URDF model of iCub is imported
in Gazebo, after fixed joint lumping the link corresponding to the robot waist will be `root_link`, instead of `base_link`. This means that when the iCub model is included
in a nested model, the joint to connect it to the rest of the model should refer to `iCub::root_link` instead of `iCub::base_link`
(https://github.com/robotology/icub-models-generator/pull/142, https://github.com/robotology/icub-models-generator/issues/140#issuecomment-700653608).
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@ endif()
set(GAZEBO_SUPPORTED_MODELS "")
list(APPEND GAZEBO_SUPPORTED_MODELS "iCubGazeboV2_5")
list(APPEND GAZEBO_SUPPORTED_MODELS "iCubGazeboV2_5_plus")
list(APPEND GAZEBO_SUPPORTED_MODELS "iCubGazeboV3")

SUBDIRLIST(ROBOTS_NAMES ${CMAKE_CURRENT_BINARY_DIR}/iCub/robots)
SUBDIRLIST(ROBOTS_NAMES ${CMAKE_CURRENT_SOURCE_DIR}/iCub/robots)
foreach(ROBOT_DIRNAME ${ROBOTS_NAMES})
set(ROBOT_NAME ${ROBOT_DIRNAME})
set(ROBOT_MODEL_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/iCub/robots/${ROBOT_NAME}/model.config")
Expand Down Expand Up @@ -116,3 +117,5 @@ endforeach()
# Install the whole iCub directory
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/iCub DESTINATION share)

include(AddUninstallTarget.cmake)

2 changes: 1 addition & 1 deletion fixed_model.sdf.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<joint name="fixed_base" type="fixed">
<parent>world</parent>
<child>iCub::base_link</child>
<child>iCub::root_link</child>
</joint>
</model>
</sdf>
7 changes: 7 additions & 0 deletions iCub/conf/FT/gazebo_icub_left_foot_front_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_foot_front/analog:o
period 10

device analogServer

7 changes: 7 additions & 0 deletions iCub/conf/FT/gazebo_icub_left_foot_rear_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_foot_rear/analog:o
period 10

device analogServer

6 changes: 6 additions & 0 deletions iCub/conf/FT/gazebo_icub_right_foot_front_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_foot_front/analog:o
period 10

device analogServer
6 changes: 6 additions & 0 deletions iCub/conf/FT/gazebo_icub_right_foot_rear_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_foot_rear/analog:o
period 10

device analogServer
74 changes: 74 additions & 0 deletions iCub/conf/gazebo_icub_left_arm_no_forearm.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[include "gazebo_icub_robotname.ini"]

[WRAPPER]
# name of the wrapper device to be instatiated by the factory
device controlboardwrapper2
# rate of output streaming from ports in ms
period 10
# output port name
name /${gazeboYarpPluginsRobotName}/left_arm
# Total number of joints
joints 3
# list of MotorControl device to use
networks ( left_arm_no_forarm )
# for each network specify the joint map
left_arm_no_hand 0 2 0 2

# Verbose output (on if present, off if commented out)
#verbose

[TRAJECTORY_GENERATION]
trajectory_type minimum_jerk

# Specify configuration of MotorControl devices
[left_arm_no_hand]
# name of the device to be instatiated by the factory
device gazebo_controlboard
#jointNames list
jointNames l_shoulder_pitch l_shoulder_roll l_shoulder_yaw
name left_arm_no_forarm

min_stiffness 0.0 0.0 0.0
max_stiffness 1000.0 1000.0 1000.0
min_damping 0.0 0.0 0.0
max_damping 100.0 100.0 100.0

#PIDs:
# this information is used to set the PID values in simulation for GAZEBO, we need only the first three values
[POSITION_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
kp 1.745 1.745 1.745
kd 0.174 0.174 0.174
ki 0.174 0.174 0.174
maxInt 9999 9999 9999
maxOutput 9999 9999 9999
shift 0.0 0.0 0.0
ko 0.0 0.0 0.0
stictionUp 0.0 0.0 0.0
stictionDwn 0.0 0.0 0.0

[VELOCITY_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
kp 8.726 8.726 8.726
kd 0.035 0.035 0.035
ki 0.002 0.002 0.002
maxInt 9999 9999 9999
maxOutput 9999 9999 9999
shift 0.0 0.0 0.0
ko 0.0 0.0 0.0
stictionUp 0.0 0.0 0.0
stictionDwn 0.0 0.0 0.0

[IMPEDANCE_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
stiffness 0.0 0.0 0.0
damping 0.0 0.0 0.0

[LIMITS]
jntPosMax 13.0 160.0 80.0
jntPosMin -88.0 12.0 -50.0
jntVelMax 100.0 100.0 100.0

73 changes: 73 additions & 0 deletions iCub/conf/gazebo_icub_right_arm_no_forearm.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
[include "gazebo_icub_robotname.ini"]

[WRAPPER]
# name of the wrapper device to be instatiated by the factory
device controlboardwrapper2
# rate of output streaming from ports in ms
period 10
# output port name (a leading '/' will be added by code)
name /${gazeboYarpPluginsRobotName}/right_arm
# Total number of joints
joints 3
# list of MotorControl device to use
networks ( right_arm_no_forearm )
# for each network specify the joint map
right_arm_no_hand 0 2 0 2

# Verbose output (on if present, off if commented out)
#verbose

[TRAJECTORY_GENERATION]
trajectory_type minimum_jerk

# Specify configuration of MotorControl devices
[right_arm_no_hand]
# name of the device to be instatiated by the factory
device gazebo_controlboard
#jointNames list
jointNames r_shoulder_pitch r_shoulder_roll r_shoulder_yaw
name right_arm_no_forearm

min_stiffness 0.0 0.0 0.0
max_stiffness 1000.0 1000.0 1000.0
min_damping 0.0 0.0 0.0
max_damping 100.0 100.0 100.0

#PIDs:
# this information is used to set the PID values in simulation for GAZEBO, we need only the first three values
[POSITION_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
kp 1.745 1.745 1.745
kd 0.174 0.174 0.174
ki 0.174 0.174 0.174
maxInt 9999 9999 9999
maxOutput 9999 9999 9999
shift 0.0 0.0 0.0
ko 0.0 0.0 0.0
stictionUp 0.0 0.0 0.0
stictionDwn 0.0 0.0 0.0

[VELOCITY_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
kp 8.726 8.726 8.726
kd 0.035 0.035 0.035
ki 0.002 0.002 0.002
maxInt 9999 9999 9999
maxOutput 9999 9999 9999
shift 0.0 0.0 0.0
ko 0.0 0.0 0.0
stictionUp 0.0 0.0 0.0
stictionDwn 0.0 0.0 0.0

[IMPEDANCE_CONTROL]
controlUnits metric_units
controlLaw joint_pid_gazebo_v1
stiffness 0.0 0.0 0.0
damping 0.0 0.0 0.0

[LIMITS]
jntPosMax 13.0 160.0 80.0
jntPosMin -88.0 12.0 -50.0
jntVelMax 100.0 100.0 100.0
7 changes: 7 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_left_arm_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_arm/analog:o
period 10

device analogServer

7 changes: 7 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_left_foot_front_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_foot_front/analog:o
period 10

device analogServer

7 changes: 7 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_left_foot_rear_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_foot_rear/analog:o
period 10

device analogServer

7 changes: 7 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_left_leg_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/left_leg/analog:o
period 10

device analogServer

7 changes: 7 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_right_arm_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_arm/analog:o
period 10

device analogServer

6 changes: 6 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_right_foot_front_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_foot_front/analog:o
period 10

device analogServer
6 changes: 6 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_right_foot_rear_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_foot_rear/analog:o
period 10

device analogServer
6 changes: 6 additions & 0 deletions iCub/conf_icub3/FT/gazebo_icub_right_leg_ft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[include "../gazebo_icub_robotname.ini"]

name /${gazeboYarpPluginsRobotName}/right_leg/analog:o
period 10

device analogServer
Loading

0 comments on commit bed6cb2

Please sign in to comment.