User Tools

Site Tools


how_to_setup_robotino_for_programming_and_navigation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
how_to_setup_robotino_for_programming_and_navigation [2016/06/23 12:40] dwallacehow_to_setup_robotino_for_programming_and_navigation [2016/10/23 19:50] (current) dwallace
Line 1: Line 1:
 =======How to Setup Robotino for Programming and Navigation======= =======How to Setup Robotino for Programming and Navigation=======
  
-Author: Dylan Wallace Email: [email protected] \\  +**Author:** Dylan Wallace Email: <[email protected]
-Date: Last modified on 06/19/16 \\  +\\  
-Keywords: step-by-step, how to, ssh, linux, Robotino, ROS, programming, navigation +**Date:** Last modified on 06/24/16 
- +\\  
 +**Keywords:** step-by-step, how to, ssh, linux, Robotino, ROS, programming, navigation 
 +\\ \\  
 +{{ :dylanw:img_1322.jpg?700 |}} 
 +\\ 
 The big picture problem is navigation and mapping for robots. Solving this partially or completely is important because it allows for autonomous systems to navigate around autonomously, giving much more power than human control. This tutorial shows you how to setup and generally operate Robotino and takes approximately 1-2 hours to complete. The big picture problem is navigation and mapping for robots. Solving this partially or completely is important because it allows for autonomous systems to navigate around autonomously, giving much more power than human control. This tutorial shows you how to setup and generally operate Robotino and takes approximately 1-2 hours to complete.
  
Line 12: Line 15:
 This tutorial's motivation is to provide a platform to build navigation and mapping programs off of. Readers of this tutorial assumes the reader has the following background and interests: This tutorial's motivation is to provide a platform to build navigation and mapping programs off of. Readers of this tutorial assumes the reader has the following background and interests:
  
-* Know how to program in linux and C++ \\ +<fc blue> 
-* Knowledge in ROS is also very helpful for these tutorials \\  +* Know how to program in linux and C++ 
-* Perhaps also know how to ssh and use ftp \\  +\\ 
-* Perhaps additional background needed may include interest in mapping and navigation algorithms \\  +* Knowledge in ROS is also very helpful for these tutorials 
-* This tutorial may also attract readers who want to work with other linux-0based systems such as Darwin or MKII \\ +\\  
 +* Perhaps also know how to ssh and use ftp 
 +\\  
 +* Perhaps additional background needed may include interest in mapping and navigation algorithms 
 +\\  
 +* This tutorial may also attract readers who want to work with other linux-0based systems such as Darwin or MKII 
 +</fc> 
 +\\ \\ 
  
 For information on ROS, please refer to this document: https://cse.sc.edu/~jokane/agitr/ \\  For information on ROS, please refer to this document: https://cse.sc.edu/~jokane/agitr/ \\ 
Line 28: Line 38:
     Operation     Operation
     Final Words     Final Words
 +
 +**Before starting this tutorials you must have cmake 3.0 and ccmake installed onto your Ubuntu computer**\\ 
 +For more information on upgrading your version of cmake to 3.x, see [[http://stackoverflow.com/questions/18615451/cmake-missing-modules-directory|This link]].
  
 =====Setup===== =====Setup=====
Line 83: Line 96:
 ===Step 5: Download and Setup ROS=== ===Step 5: Download and Setup ROS===
  
-For information on installing ROS for your PC, refer to this tutorial (if running Ubuntu 14.04): http://wiki.ros.org/indigo/Installation/Ubuntu+For information on installing ROS for your PC, refer to this tutorial (if running Ubuntu 14.04): http://wiki.ros.org/indigo/Installation/Ubuntu. You will want to install at least ROS Hydro, as we will be using catkin to build our ROS packages. Indigo is the ROS version that I chose to best suit my need on 14.04 with Robotino.
  
 If you are running a different distro, please refer to: http://wiki.ros.org/ROS/Installation If you are running a different distro, please refer to: http://wiki.ros.org/ROS/Installation
 +
 +After ROS is installed, you will want to setup your catkin workspace. Do this by entering the following commands:
 +
 +   mkdir -p ~/catkin_ws/src
 +   cd ~/catkin_ws/src
 +   catkin_init_workspace
 +   cd ../
 +   catkin_make
 +   echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
 +   source ~/.bashrc
  
 ===Step 6: Install the Robotino API2=== ===Step 6: Install the Robotino API2===
Line 101: Line 124:
     apt-get install robotino-api2 robotino-examples     apt-get install robotino-api2 robotino-examples
          
-===Step 6: Download and Setup the ROS packages for Robotino===+===Step 7: Download and Setup the ROS packages for Robotino===
  
-For information on setting up the ROS packages for Robotino, refer to: https://github.com/AalborgUniversity-ControlLabs/start-here/blob/master/robotino/readme.md.  +Due to outdated revisions to the Robotino sources, the existing tutorials for setting up the ROS packages no longer work properly. Here I will explain the necessary steps to go around this problem. First you will want to install the necessary daemons. First open up a terminal on your computer, and enter the following commands one after another (replace the * with the most current version listed [[http://doc.openrobotino.org/download/packages/i386/|here]]): 
-Alternativelythere is more information atwiki.openrobotino.org/index.php?title=Install_daemons_v2+ 
-     +   wget http://doc.openrobotino.org/download/packages/i386/rec-rpc-qt4.5.0_*_i386.deb 
-After this is finished, Robotino should be all setup and ready to be programmed!+   wget http://doc.openrobotino.org/download/packages/i386/robotino-common_*_i386.deb 
 +   wget http://doc.openrobotino.org/download/packages/i386/robotino_daemons_*_i386.deb 
 +   wget http://doc.openrobotino.org/download/packages/i386/robotino-api2_*_i386.deb 
 +   wget http://doc.openrobotino.org/download/packages/i386/robotino-examples_*_i386.deb 
 + 
 +After these packages are downloadedyou will want to transfer them over to Robotino. We can achieve this using a similar ftp service such as what was used previously to backup the data on Robotino. Refer to the 3rd step for more information on this process. Once the files are transferred to Robotino, you will want to unpackage and install the files onto Robotino. Go into your Robotino ssh terminal, and enter the following commands (again replace the * with the version you downloaded to your computer): 
 + 
 +   dpkg -i rec-rpc-qt4.5.0_*_i386.deb 
 +   dpkg -i robotino-common_*_i386.deb 
 +   dpkg -i --auto-deconfigure robotino-daemons_*_i386.deb 
 +   dpkg -i robotino-api2_*_i386.deb 
 +   dpkg -i robotino-examples_*_i386.deb 
 + 
 +After these succeed installing, you can now focus on getting the Robotino ROS packages setup onto your computer. First, you will want to open up a fresh terminal and navigate into your catkin workspace. This should be located in your home directory. Then navigate to the src folder. When you are there your directory should be ~/catkin_ws/src . Once here you will want to type the following into your terminal: 
 + 
 +   svn co http://svn.openrobotino.org/robotino-ros-pkg/trunk/catkin-pkg/ 
 +   cd catkin-pkg 
 +   svn up -r3621 
 + 
 +This will ensure that you collect the correct version from the depository, and not the newer, broken versionsAfter this you are able to build these packagesNavigate back to your workspace (~/catkin_ws/). Enter the following in order to build the packages: 
 + 
 +   rosdep install robotino_node 
 +   catkin_make 
 + 
 +If this goes smoothly without any errors, then you will be good to go! If not, you will need to debug this issue to figure out what is causing the packages to build improperly. If you need any help with debugging this feel free to email me. After this is finished, Robotino should be all setup and ready to be programmed!
  
 =====Operation===== =====Operation=====
Line 112: Line 159:
 ===Step 1: Boot up Robotino=== ===Step 1: Boot up Robotino===
  
-Power on Robotino to ensure all systems are working properly. Either connect Robotino to a 24V, 2.5A power supply, or connect two 12V batteries into the two battery slots provided on Robotino. Make sure to read through the Robotino operation manual before plugging anything in, and always make sure to use the proper safety precautions. Provided below are photos of how to hook up the power supply or batteries. Verify thqat+Power on Robotino to ensure all systems are working properly. Either connect Robotino to a 24V, 2.5A power supply, or connect two 12V batteries into the two battery slots provided on Robotino. Make sure to read through the Robotino operation manual before plugging anything in, and always make sure to use the proper safety precautions. Provided below are photos of how to hook up the power supply or batteries. Verify that
  
 {{ http://i.imgur.com/gweBPxO.jpg?500x500 }} {{ http://i.imgur.com/gweBPxO.jpg?500x500 }}
Line 137: Line 184:
  
 The password for this root user is "dorp6". The password for this root user is "dorp6".
 +
 +===Step 5: Run your Program===
 +
 +Refer to the specific tutorial page for the instructions specific to the program that you are attempting to run on Robotino. For example, here are the commands used to launch the Breadth-First Navigation program from this tutorial.
 +
 +Once you have powered on and configured DHCP on Robotino after setup is complete, make sure that you download the BFNav ROS package to your catkin workspace src folder, and run catkin_make. Once this has built correctly, open a terminal and type the following:
 +
 +   roslaunch robotino_node robotino_node.launch hostname:=<robotinoIP>
 +   
 +Now open a second terminal and type the following:
 +
 +   rosrun robotino_control_bfnav BFNavigatorNode
 +
 +Now the BFNav program should run successfully. Please note that the configuration of the obstacles and the grid is detailed in the BFNavigator Node file, and can be edited for your use there. The current configuration given is using the map given at the very beginning of the tutorial.
  
 ======Final Words====== ======Final Words======
Line 144: Line 205:
 Speculating future work derived from this tutorial, includes implementing BFS, DFS, and other navigation methods on Robotino. In the big picture, the problem of robotic localization and navigation can be solved with this tutorial and its future work. Speculating future work derived from this tutorial, includes implementing BFS, DFS, and other navigation methods on Robotino. In the big picture, the problem of robotic localization and navigation can be solved with this tutorial and its future work.
  
-For questions, clarifications, etc, Email: [email protected]+For questions, clarifications, etc, Email: <[email protected]>
  
how_to_setup_robotino_for_programming_and_navigation.1466710858.txt.gz · Last modified: 2016/06/23 12:40 by dwallace