The installation process required for the UXA-90 Humanoid robot ROS software based on NimbRo ROS Soccer Package. For more information please visit https://github.com/nvtienanh/UXA_OP
Dependencies
- Ubuntu 14.04 LTS (anything else and you are on your own)
- Suggested kernel: Xenial Xerus
sudo apt-get install linux-generic-lts-xenial
- ROS Indigo
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116 sudo apt-get update sudo apt-get install ros-indigo-desktop-full sudo rosdep init rosdep update sudo apt-get install ros-indigo-rqt-rviz sudo apt-get install ros-indigo-joy
- The QGLViewer library
sudo apt-get install libqglviewer-dev
- GNU Scientific Library (GSL)
sudo apt-get install libgsl0-dev
- The G2O library
sudo apt-get install ros-indigo-libg2o
- Controllers for Gazebo
sudo apt-get install ros-indigo-gazebo-ros-control sudo apt-get install ros-indigo-ros-controllers sudo apt-get install ros-indigo-controller-manager sudo apt-get install ros-indigo-rqt-controller-manager
- Vision packages
sudo apt-get install v4l-utils v4l2ucp v4l-conf sudo add-apt-repository ppa:pj-assis/ppa sudo apt-get update sudo apt-get install guvcview
- Python dependencies
sudo apt-get install sshpass sudo apt-get install python-pip python-dev build-essential sudo pip install --upgrade pip sudo pip install --upgrade virtualenv sudo pip install --upgrade --no-deps --force-reinstall pexpect sudo pip install termcolor
- The ncurses Library
sudo apt-get install libncurses5-dev
- The x264 Library
sudo apt-get install libx264-dev
- GCC ARM Compiler
sudo apt-get install gcc-arm-none-eabi
- Doxygen Documentation System
sudo apt-get install doxygen
- Utilities (optional, choose relevant ones)
sudo apt-get install curl tshark ssh screen sudo apt-get install git git-gui gitk qgit sudo apt-get install joe vim nano kwrite kdiff3 colordiff kompare sudo apt-get install gdb valgrind tree htop
Installation
- Clone my repository
git clone https://github.com/nvtienanh/UXA_OP ~/NimbRo-OP
- Place the following into your .bashrc
source /opt/ros/indigo/setup.bash source ~/NimbRo-OP/src/nimbro/scripts/env.sh # Or alternate path export NIMBRO_ROBOT_TYPE=P1 export NIMBRO_ROBOT_NAME=xs0 export NIMBRO_ROBOT_VARIANT=igus_op_hull
System setup
The robotcontrol node needs realtime permissions to run reliably. Create a file etc/security/limits.d/nimbro.conf with contents (replace USER with your username)
* hard rtprio 0 * soft rtprio 0 USER hard rtprio 20 USER soft rtprio 20
You will need to log out and in again to load the security settings. Alternatively, you can use the following to emulate the login:
sudo -i -u user
If you want to set up udev rules for devices you want to use, then refer to
src/nimbro/scripts/set_camera.py src/nimbro/scripts/set_cm7X0.py
For installation and deployment of the required files to the robots, a special installation folder is required:
sudo mkdir -p /nimbro sudo chown $USER /nimbro
A logging and backup directory is also required
sudo mkdir -p /var/log/nimbro sudo chmod 777 /var/log/nimbro
For everything to work properly you may also need to modify the first two lines of your /etc/hosts
to something like this, where mycomp
is the name of your computer:
127.0.0.1 localhost 127.0.1.1 mycomp mycomp.local
Build model
The nimbro utility (present once the env.sh script is sourced, e.g. in your .bashrc) can help you in your daily work. Type nimbro help for usage information. The command source is, as mentioned, in the env.sh script. Start by compiling the source code using the following command:
nimbro make
Launch model
roslaunch nimbro_op_gazebo nimbro_op.launch # starts gazebo, creates the world and spawns the robot.
roslaunch launch gazebo_robot_standing_cap.launch # starts the robotcontrol node and connects to the virtual robot.
If you get this issue in the terminal:
Warning [gazebo.cc:215] Waited 1seconds for namespaces. Warning [gazebo.cc:215] Waited 1seconds for namespaces. Warning [gazebo.cc:215] Waited 1seconds for namespaces. Warning [gazebo.cc:215] Waited 1seconds for namespaces. Warning [gazebo.cc:215] Waited 1seconds for namespaces. Error [gazebo.cc:220] Waited 11 seconds for namespaces. Giving up. Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found Error [Node.cc:90] No namespace found
Please press Ctrl+C to break and try to fix:
mkdir ~/.gazebo/models
- Edit /usr/share/gazebo-2.2/setup.sh
sudo gedit /usr/share/gazebo-2.2/setup.sh
then change http://gazebosim.org/models to http://models.gazebosim.org
- Edit /usr/share/gazebo/setup.sh
sudo gedit /usr/share/gazebo/setup.sh
then change http://gazebosim.org/models to http://models.gazebosim.org
Close all terminal and launch again
Install develop IDE
sudo apt-get install kdevelop
Comments