RoPod/Software/Pico Setup
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 export WIRED_CONNECTION=false alias pico-wired="export ROS_MASTER_URI=http://10.0.0.2:11311; export ROS_IP=10.0.0.2; export WIRED_CONNECTION=true" 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!