This is a ROS package for my home-built robot. The package requires
- Latest LTS release of Xubuntu
- Latest LTS release of ROS
- Arduino 1.6.8
- for a working tele-op panel in rviz: modified ROS Visualization Tutorials
Arduino libraries needed to compile the Arduino code for the low level controller:
- BMSerial github.com/KurtE/Orion/tree/master/Libraries/BMSerial
- LiquidCrystal_I2C www.archiduino.com/liquidcrystal_i2c-h-library-arduino-ide-1-6-x/
- RoboClaw 2x15A Motor Controller www.ionmc.com/downloads
- My own version of UM7 github.com/raphipaffi/UM7
(Most of these steps were copied from OculusPrime Setup)
- Download and install Xubuntu.
- When asked, set to Login Automatically.
- Connect to Wifi network and set to Automatically connect when available.
- Go to Settings > Software and Updates, change package repository reference to Main Server.
- Update currently installed packages:
$ sudo apt get update
- Install sshd for remote console connection:
$ sudo apt-get install openssh-server
- Install a VNC server for remote desktop:
$ sudo apt-get install x11vnc
- Open Setting > Session and Startup, select tab Application Autostart
- Add a new entry with comand line x11vnc -display :0 -loop -forever -shared
- Make sure that the system has a VIRTUAL display (check using xrandr in console)
- If not, create a .conf file in /usr/share/X11/xorg.conf.d/ with the following content:
Section "Device"
Identifier "Device0"
Driver "intel"
Option "VirtualHeads" "1"
EndSection
- Add a .sh file to the desktop with following content and make it executable:
#! /bin/bash
xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode VIRTUAL1 1920x1080
xrandr --output VIRTUAL1 --mode 1920x1080
xrandr --output DP2 --off
- Go to Settings > Light Locker Settings, turn everything to Off, set sliders to 0 minutes/never.
- Go to Settings > Power Manager, uncheck Monitor Power Management Control and go through the various tabs and set all the sliders to 0 minutes/never.
- If the system doesn’t shut down cleanly, sometimes the Grub boot manager will wait for a menu selection before booting. To avoid this, open the file /etc/default/grub and add the line:
GRUB_RECORDFAIL_TIMEOUT=0
- Run:
$ sudo update-grub
- In case of disk checking on startup, you’ll want the system to repair any problems automatically. Edit the file /etc/default/rcS and change the line containing:
FSCKFIX=no
, toFSCKFIX=yes
. - When applications crash, they ask if you want to send a report. Disable this feature by editing the file /etc/default/apport and change the line:
enabled=1
toenabled=0
. - Go to Settings > Software and Udates and click on the Updates tab. Switch Automatically Check for Updates to Never
- It should be OK to work on the system remotely from here onward.
- Go to www.google.com/chrome/browser, download the 64-bit '.deb' package and install it using Software Center.
- Run Google Chrome from the menu once and choose set as default browser.
- Go to https://code.visualstudio.com/, download the '.deb' package and install it using Software Center.
- USB ports are only available to root by default in Ubuntu. To give yourself access:
$ sudo adduser user_name dialout
(Substitute “user_name” with your username. NOTE: reboot is required for this to take effect.)
(Most of these steps were copied from OculusPrime Setup)
- Install ROS following the instructions at http://wiki.ros.org/ROS/Installation. Choose 'Desktop-Full Install.'
- Install Git:
$ sudo apt-get install git
- Create a ROS Workspace in your home folder by entering:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ cd ~/catkin_ws/src
- Clone the modified depthimage_to_laserscan package:
$ git clone https://github.com/xaxxontech/depthimage_to_laserscan.git
- Clone the default ROS openni2_camera package:
$ git clone https://github.com/ros-drivers/openni2_camera.git
- For the Orbbec Astra camera, drivers have to be installed manually:
$ mkdir ~/temp/
$ cd ~/temp/
$ wget http://www.xaxxon.com/downloads/orbbec_openni2_files.zip
$ unzip orbbec_openni2_files.zip
$ cd orbbec_openni2_files
$ sudo mv 558-orbbec-usb.rules /etc/udev/rules.d/
$ sudo adduser oculus video
$ sudo mv libopenni2.pc /usr/lib/pkgconfig/
$ cd /usr/lib/
$ sudo mv ~/temp/orbbec_openni2_files/libOpenNI2.so .
$ cd OpenNI2/
$ sudo mv ~/temp/orbbec_openni2_files/* ./Drivers/
- Add the new workspace to the default ROS environment by doing:
$ echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
- Reboot.
sudo apt-get install ros-jade- git clone https://github.com/.git
rosrun rqt_reconfigure rqt_reconfigure rqt_console rqt_graph rqt_plot
rostopic echo sonar rostopic hz sonar
roscore roslaunch roboraider make_map.launch roslaunch roboraider navigation.launch roslaunch roboraider test_odom.launch