Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,63 @@ We are skipping 0.10 version of ihmc controllers more details [here](https://git
- Requires: Ubuntu 16.04, ROS-Kinetic
- [tough-kinetic-installation-instructions](https://github.com/WPI-Humanoid-Robotics-Lab/tough/wiki/Tough-0.11-Installation-using-vcstool)

- Bionic (18.04), ROS-Melodic
```bash
sudo apt install ros-melodic-map-server* ros-melodic-controller-interface ros-melodic-effort-controllers ros-melodic-multisense-* ros-melodic-robot-self-filter ros-melodic-trac-ik-* ros-melodic-moveit-* ros-melodic-moveit-ros-* ros-melodic-laser-assembler ros-melodic-fiducials ros-melodic-octomap* qt4-default qt4-qtconfig libqt4-dev qt4-qmake openjdk-8-jdk openjfx xsltproc
mkdir -p ~/hn_ws/src && cd ~/hn_ws/src
git clone https://github.com/DhruvKoolRajamani/humanoid_msgs.git
cd ../
catkin_make
source devel/setup.bash
cd src
git clone https://github.com/DhruvKoolRajamani/humanoid_navigation.git
cd ../
catkin_make
source devel/setup.bash
echo "source ~/hn_ws/devel/setup.bash" >> ~/.bashrc
mkdir -p ~/Downloads/Java/ && cd ~/Downloads/Java/
wget https://chriswhocodes.com/downloads/openjfx-8u60-sdk-overlay-linux-amd64.zip
unzip -q openjfx-8u60-sdk-overlay-linux-amd64.zip
rm openjfx-8u60-sdk-overlay-linux-amd64.zip
sudo cp * /usr/lib/jvm/java-8-openjdk-amd64/
```
- Modify `~/.bashrc` file to include `JAVA_HOME` and `IHMC_SOURCE_LOCATION` variable. Add these to the end of your `~/.bashrc`. We will download ihmc source in following steps.
```bash
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export IHMC_SOURCE_LOCATION=~/repository-group/ihmc-open-robotics-software
```
> Notice the folder `~/repository-group`. This is going to hold all of the low-level controller java code. All ros related repos will go in the catkin workspace `~/catkin_ws`.
- Download IHMC Open robotics software. It is preferable to use the paths as given here. If this path changes, ~/.bashrc needs to be updated as well.
```bash
# We start in the user's home directory.
cd && git clone https://github.com/ihmcrobotics/repository-group.git
cd repository-group && git checkout 0.11.0
git clone https://github.com/WPI-Humanoid-Robotics-Lab/ihmc-open-robotics-software --branch 0.11.0-warner --single-branch
```
### Installing TOUGH
- Install vcstool and catkin_tools if not already installed. Instructions are available [here](https://github.com/DhruvKoolRajamani/atlas_workspace/tree/melodic-devel). Once vcstool is available run the following commands to download required repositories.
```bash
# skip next 2 lines if you already have a catkin workspace created
mkdir ~/catkin_ws && cd ~/catkin_ws
catkin config --init --mkdirs
# Navigate to src directory of catkin workspace
cd src
# download vcs config file
wget https://github.com/DhruvKoolRajamani/atlas_workspace/raw/melodic-devel/atlas_ws_0.11.yaml
vcs import < atlas_ws_0.11.yaml
cd .. && catkin_make
```
- Source the ros packages, this can be added to `~/.bashrc`.
```bash
source devel/setup.bash
# Or
# echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
```
- We can start the simulation that compiles everything when it runs for the first time. It will take about 10-15 minutes in the run. Later runs would be faster
```bash
roslaunch ihmc_atlas_ros ihmc_atlas_scs_demo01.launch use_local_build:=true
```

### Tutorials
- Control examples
- [arm example](https://github.com/WPI-Humanoid-Robotics-Lab/tough/blob/kinetic-0.11.0/tough_examples/src/control_examples/arm_control_example.cpp)
Expand Down
39 changes: 28 additions & 11 deletions tough_examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,15 @@ find_package(catkin REQUIRED COMPONENTS
tough_controller_interface
tough_common
tough_footstep
tough_perception_common
# tough_perception_common
tough_moveit_planners
)

find_package(PkgConfig REQUIRED)

pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

catkin_package(
INCLUDE_DIRS include
Expand All @@ -24,9 +29,9 @@ catkin_package(
tough_controller_interface
tough_common
tough_footstep
tough_perception_common
# tough_perception_common
tough_moveit_planners
# DEPENDS system_lib
DEPENDS SBPL
)


Expand All @@ -39,6 +44,7 @@ catkin_package(
include_directories(
include
${catkin_INCLUDE_DIRS}
${SBPL_INCLUDE_DIRS}
)

######################
Expand Down Expand Up @@ -112,6 +118,10 @@ target_link_libraries(arm_interactive_example ${catkin_LIBRARIES})
## Navigation examples ##
#########################

pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

add_executable(walk_forward_example src/navigation_examples/walk_forward_example.cpp )
add_dependencies(walk_forward_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(walk_forward_example ${catkin_LIBRARIES})
Expand All @@ -136,13 +146,13 @@ target_link_libraries(walk_steps_example ${catkin_LIBRARIES})
#########################
## Perception examples ##
#########################
add_executable(multisense_image_example src/perception_examples/multisense_interface_example.cpp )
add_dependencies(multisense_image_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(multisense_image_example ${catkin_LIBRARIES})
# add_executable(multisense_image_example src/perception_examples/multisense_interface_example.cpp )
# add_dependencies(multisense_image_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
# target_link_libraries(multisense_image_example ${catkin_LIBRARIES})

add_executable(multisense_pc_example src/perception_examples/multisense_interface_pc_example.cpp )
add_dependencies(multisense_pc_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(multisense_pc_example ${catkin_LIBRARIES})
# add_executable(multisense_pc_example src/perception_examples/multisense_interface_pc_example.cpp )
# add_dependencies(multisense_pc_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
# target_link_libraries(multisense_pc_example ${catkin_LIBRARIES})

#########################
## Manipulation examples ##
Expand All @@ -152,9 +162,14 @@ add_executable(ik_example src/manipulation_examples/ik_example.cpp )
add_dependencies(ik_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(ik_example ${catkin_LIBRARIES})

pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

add_executable(motion_planner_example src/manipulation_examples/motion_planner_example.cpp )
add_dependencies(motion_planner_example ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(motion_planner_example ${catkin_LIBRARIES})
target_link_libraries(motion_planner_example ${catkin_LIBRARIES} ${SBPL_LIBRARY_DIRS})



add_executable(taskspace_planner_example src/manipulation_examples/taskspace_planner_example.cpp )
Expand All @@ -178,9 +193,11 @@ install(TARGETS reset_robot arm_control_example head_control_example arm_control
chest_control_example nudge_local_example pelvis_control_example
neck_control_example gripper_control_example arm_interactive_example
walk_forward_example walk_goal_example walk_example walk_rotate_example walk_steps_example
multisense_image_example ik_example motion_planner_example taskspace_planner_example
ik_example motion_planner_example taskspace_planner_example
taskspace_2stage_planner_example taskspace_planner_interactive_example follow_cartesian_path
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

# multisense_image_example

6 changes: 6 additions & 0 deletions tough_gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ find_package(catkin REQUIRED COMPONENTS
tough_footstep
)

find_package(PkgConfig REQUIRED)

pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

set(HEADER_FILES
include/${PROJECT_NAME}/tough_gui.h
include/${PROJECT_NAME}/configurationreader.h
Expand Down
6 changes: 6 additions & 0 deletions tough_motion_planners/val_trac_ik/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ find_package(catkin REQUIRED COMPONENTS
)

find_package(orocos_kdl REQUIRED)
find_package(PkgConfig REQUIRED)

pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS tf trac_ik_lib tough_common tough_footstep
DEPENDS orocos_kdl
DEPENDS SBPL
)

include_directories(include)
Expand Down
11 changes: 6 additions & 5 deletions tough_navigation/tough_footstep/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ find_package(catkin REQUIRED COMPONENTS
tough_common
tough_controller_interface
)
#find_package(PkgConfig REQUIRED)
find_package(PkgConfig REQUIRED)

#pkg_check_modules(SBPL REQUIRED sbpl)
#include_directories(${SBPL_INCLUDE_DIRS})
#link_directories(${SBPL_LIBRARY_DIRS})
pkg_check_modules(SBPL REQUIRED sbpl)
include_directories(${SBPL_INCLUDE_DIRS})
link_directories(${SBPL_LIBRARY_DIRS})

add_message_files(DIRECTORY msg
FILES
Expand All @@ -41,12 +41,13 @@ catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS message_runtime humanoid_nav_msgs tough_common
DEPENDS SBPL
)

###########
## Build ##
###########
include_directories( ${catkin_INCLUDE_DIRS} include)
include_directories( ${catkin_INCLUDE_DIRS} ${SBPL_INCLUDE_DIRS} include)

add_library(${PROJECT_NAME}
src/robot_walker.cpp
Expand Down
Empty file added tough_perception/CATKIN_IGNORE
Empty file.