RoPod/Software/Pico Setup: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
export ROS_MASTER_URI=http://192.168.44.81:11311
export ROS_MASTER_URI=http://192.168.44.81:11311
export ROS_IP=192.168.44.81
export ROS_IP=192.168.44.81
alias pico-wired="export ROS_MASTER_URI=http://10.0.0.2:11311;
                  export ROS_IP=10.0.0.2"


export ROBOT_BRINGUP_PATH=~/ropod-project/catkin_workspace/src/platform/pico/pico_bringup
export ROBOT_BRINGUP_PATH=~/ropod-project/catkin_workspace/src/platform/pico/pico_bringup

Revision as of 09:25, 5 October 2017

General

After a clean install, the following should be done to get pico up and running:

  • Download the emc-install script and run it:
wget https://raw.githubusercontent.com/tue-robotics/emc-env/master/install.bash
source install.bash
  • Add the following lines to the .bashrc file:
export ROS_PACKAGE_PATH=~/ros/:$ROS_PACKAGE_PATH
export ROS_MASTER_URI=http://192.168.44.81:11311
export ROS_IP=192.168.44.81

alias pico-wired="export ROS_MASTER_URI=http://10.0.0.2:11311;
                  export ROS_IP=10.0.0.2"

export ROBOT_BRINGUP_PATH=~/ropod-project/catkin_workspace/src/platform/pico/pico_bringup
export ED_PLUGIN_PATH=~/ropod-project/catkin_workspace/devel/lib
export ED_MODEL_PATH=~/ropod-project/catkin_workspace/src/functionalities/ED/ed_object_models/models

export ROBOT_REAL=true

alias pstart='roslaunch pico_bringup start.launch'
alias teleop='rosrun robot_common teleop.py'

export DISPLAY=':0'
#xhost +si:localuser:$USER
export LC_ALL="en_US.UTF-8"

source /opt/ros/kinetic/setup.bash
source /home/ropod/ropod-project/catkin_workspace/devel/setup.bash

alias buildit="rm -rf build; mkdir build; cd build; cmake ..; make; cd ../bin"
                                                          
  • Create a ros folder in the ~ directory and clone the pico drivers:
git clone https://github.com/tue-robotics/pico_bringup
git clone https://github.com/tue-robotics/pico_base_controller

Everybody must use the new tue-install and the build system Create target links using udev rules as super user:

sudo su

echo SUBSYSTEMS=="usb", ATTRS{idProduct}=="0043", ATTRS{idVendor}=="2341", SYMLINK+="ttyArduino0", GROUP="emc" > /etc/udev/rules.d/91-arduino.rules

echo SUBSYSTEMS=="usb", ATTRS{idVendor}=="15d1", ATTRS{idProduct}=="0000", MODE="0666", SYMLINK+="ttyLaser0" > /etc/udev/rules.d/98-hokuyo.rules

Be careful: specify the group for the arduino-rules file.

Reboot to apply these changes.

Now, you can check if the links are present:

ls /dev/

If not, the numbering of the file names should be checked.

Sensor drivers

Arduino Frimware

The file can be found on the git repository: https://github.com/tue-robotics/pico_base_controller/blob/master/scripts/Pico_controller.ino

LRF

  • Install the drivers for the LRF (here, the ros kinetic distribution is used):
sudo apt-get install ros-kinetic-urg-node
  • Install ssh:
sudo apt install openssh-server

Now, using the "pstart"-command you should be able to get pico up and running. At this moment, the head-controller will give an error, while the asus camera is not installed either, but for the emc-course everything should work fine now.

RGB-D camera

Install ros opnenni_camera package for the ASUS Xtion Pro camera (works as well for Microsoft Kinect, PrimeSense PSDK and Pro Live). The driver publishes raw depth, RGB, and IR image streams. sudo apt-get install ros-kinetic-openni2-camera sudo apt-get install ros-kinetic-openni2-launch

Pico head controller

Did not work using python script yet. To check if the connection works, the maestro-linux software can be used, where separate signals are send via the maestro control centre of pololu: Download the software from https://www.pololu.com/file/download/maestro-linux-150116.tar.gz?file_id=0J315

Unzip the tar/gzip archive by running “tar -xzvf” followed by the name of the file. After following the instructions in README.txt, you can run the program by executing MaestroControlCenter

Last time, the up/down movement did work, but the lef/right movement did not due to hardware problems!