-
Notifications
You must be signed in to change notification settings - Fork 13
Tough 0.9 and part of 0.11 Installation
These are the instructions for installing Tough on a laptop with Ubuntu 16.04 LTS and ROS 1 Kinetic already installed.
If you want Tough 0.11, these are the same instructions to start, but we will be overriding these changes in the next set of instructions.
We are assuming that the catkin workspace catkin_ws/
is located under the home directory ~/
.
First, we need to do a bunch of apt-get installations.
sudo apt-get install ros-kinetic-controller-interface
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-footstep-planner
sudo apt-get install ros-kinetic-humanoid-*
sudo apt-get install ros-kinetic-multisense-*
sudo apt-get install ros-kinetic-robot-self-filter
sudo apt-get install ros-kinetic-trac-ik-*
sudo apt-get install ros-kinetic-moveit-*
sudo apt-get install ros-kinetic-moveit-ros-*
sudo apt-get install ros-kinetic-laser-assembler
Or you could just do this:
sudo apt-get install ros-kinetic-controller-interface && sudo apt-get install ros-kinetic-effort-controllers && sudo apt-get install ros-kinetic-footstep-planner && sudo apt-get install ros-kinetic-humanoid-* && sudo apt-get install ros-kinetic-multisense-* && sudo apt-get install ros-kinetic-robot-self-filter && sudo apt-get install ros-kinetic-trac-ik-* && sudo apt-get install ros-kinetic-moveit-* && sudo apt-get install ros-kinetic-moveit-ros-* && sudo apt-get install ros-kinetic-laser-assembler
Now we need to make sure we have Java 8 installed. You can follow these links: tipsonubuntu webupd8 Or you can do these steps:
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
Now we check the installation:
javac -version
You should get something like this:
javac 1.8.0_181
Then we set environment variables and the default java version.
sudo apt install oracle-java8-set-default
Now we start editing the ~/.bashrc
file.
We need to make sure that the ~/.bashrc
has the JAVA_HOME
variable set as well as the IHMC_SOURCE_LOCATION
variable. Add these to the end of your ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export IHMC_SOURCE_LOCATION=~/repository-group/ihmc-open-robotics-software
Notice the folder ~/repository-group
. This is going to hold all of the IHMC repos. The WPI repos will go in the catkin workspace ~/catkin_ws
. We are separating the organization dependencies because things will go south if we don't.
Start with these commands:
# We start in the user's home directory.
cd && git clone https://github.com/ihmcrobotics/repository-group.git
cd repository-group
git clone https://github.com/WPI-Humanoid-Robotics-Lab/ihmc-open-robotics-software && cd ihmc-open-robotics-software/ && git checkout 0-9-support-16.04
Now we start installing repositories in our catkin workspace. Moving on to the Tough library dependencies.
cd ~/catkin_ws/src
mkdir ihmc_repos && cd ihmc_repos # The repos come from IHMC, but WPI hosts their own forks, so we name it by the source
git clone https://github.com/WPI-Humanoid-Robotics-Lab/ihmc-ros-control.git && cd ihmc-ros-control && git checkout 0-9-support-16.04
cd ..
git clone https://github.com/WPI-Humanoid-Robotics-Lab/ihmc_atlas_ros.git && cd ihmc_atlas_ros/ && git checkout 0.9.0
cd ..
git clone https://github.com/WPI-Humanoid-Robotics-Lab/ihmc_ros_core.git && cd ihmc_ros_core && git checkout 0.9.2
cd ~/catkin_ws/
Now for the actual Tough repository.
cd ~/catkin_ws/src/ && git clone https://github.com/WPI-Humanoid-Robotics-Lab/tough.git && cd tough && git checkout kinetic-devel && cd ~/catkin_ws
And then we source to make sure everything is kosher.
source ~/.bashrc
source devel/setup.bash
Now we run the script that compiles everything and runs the node that controls Tough.
BUT WAIT, THERE'S MORE!
We need to catkin_make
now that we have all of our packages in our catkin workspace. Under ~/catkin_ws
run this ever-so-sly command: (Because we only have 1 command written down below here...
cd ~/catkin_ws
catkin_make
Now we can start the rosnode that compiles everything.
roslaunch ihmc_atlas_ros ihmc_atlas_scs_demo01.launch use_local_build:=true
NOTE: Do not forget to have your ROS_HOSTNAME
and ROS_MASTER_URI
correctly set.
Now we need to load the atlas
robot model. Run this in a new terminal:
roslaunch tough_perception_bringup field_laser_assembler.launch robot_name:=atlas
Now we need to start the node that plans footsteps. Run this in a new terminal:
roslaunch tough_footstep tough_footstep.launch
Now that we have installed and started Tough, we need to run the ROS node that actually gives us the ability to control the robot. Run this in a new terminal:
rosrun tough_gui tough_gui
You may notice that in order to path plan, we need to approve a path after creating it. Run this command in another terminal to approve footstep paths:
rostopic pub /approve_footsteps std_msgs/Empty
In all, there are 4 commands to run the Tough simulator and 1 command to approve path plans.
roslaunch ihmc_atlas_ros ihmc_atlas_scs_demo01.launch use_local_build:=true
roslaunch tough_perception_bringup field_laser_assembler.launch robot_name:=atlas
roslaunch tough_footstep tough_footstep.launch
rosrun tough_gui tough_gui
rostopic pub /approve_footsteps std_msgs/Empty
We have now covered the steps to install Tough 0.9. We have also covered how to run Tough 0.9. If you want to run Tough 0.11, continue on to these instructions.