wiki:Carologistics/RobotinoStartUp

Version 17 (modified by tneumann, 5 years ago) (diff)

Update page

Getting the robot to run

Initiating a remote connection

  1. Power on the Robotino laptop
  2. Power on the Robotino base
  3. Make sure you have all the laptops in your /etc/hosts file:
    172.26.102.91    robotino-laptop-1
    172.26.102.92    robotino-laptop-2
    172.26.102.93    robotino-laptop-3
    172.26.102.94    robotino-laptop-4
    # laptops 5 and 6 don't seem to be used atm...
    
  4. And vise versa, your pc in the robotino-laptop /etc/hosts file:
    *your ir* *your hostname*
    

  1. SSH into the laptop:
    ssh robotino@robotino-laptop-1  
    # or robotino-laptop-2 or 3...
    
  2. Check the time difference between robotino-base and -laptop
    ssh robotino@robotino-base date && date
    
  3. If the time differs, run the time-script on the robotino-base
    ~/time.sh
    

Fire up the System

How to use screen

On the Robotino Laptop

Now open three tabs and run the following in the tabs:

  1. Run ROS:
       roscore
    
  1. Run Fawkes:
       cd ~/fawkes-robotino/
       bin/fawkes -p m-full
    

On your own system

  1. Make sure that ROS_MASTER_URI points to the machine where you started roscore:
    echo $ROS_MASTER_URI
    
    If necessary, correct the value:
    export ROS_MASTER_URI=http://robotino-laptop-1:11311
    
    If you expect to work with that machine for a longer time, you might want to add/change the variable in ~/.bashrc.
  2. Run Rviz to localize robotino:
       rosrun rviz rviz
    
  3. Run SkillGui?:
       cd ~/fawkes-robotino/
       bin/skillgui
    
  4. Localize Robotino in Rviz (if nothing happens, see Padawan Pitfalls):

a) Select "2D Pose Estimate"

b) Draw an arrow to show the robot where it is.

Further infos to rviz : http://www.ros.org/wiki/navigation/Tutorials/Using%20rviz%20with%20the%20Navigation%20Stack

Debugging the Robotino Base

Normally you should not need to work on the base since it runs minimal functionality and should "just work". If you do run into trouble with the base, you can debug it from the robotino-laptop:

  1. Log into the Robotino-Base from the Robotino-Laptop:
    ssh robotino@robotino-base
    
  2. Reattach the autostarted screen session:
    screen -x
    
  3. Switch to the first terminal by pressing STRG-A, 0. You should see the fawkes console log. Here you can cancel fawkes (CTRL-C), restart it with the default base plugin...
    cd ~/fawkes-robotino/
    bin/fawkes -p robotino-base
    

... or do whatever else you need to debug.

Padawan Pitfalls

Typical problems you might run into.

Your rviz commands (pose, goto) are ignored
Most of the time your hostname is not in the /etc/hosts file of the robot. Make sure it is listed with the correct IP address!
If you are on Fedora you probably have firewalld running denying inbound connections
To fix this, allow ports 32768-61000 (tcp) from the Robotino network. Be advised the network might not be the same at different locations. Edit your firewall configuration ( sudo vim /etc/firewalld/zones/public.xml ) and add:

<zone>
  ...
  <rule family="ipv4">
    <source address="172.26.102.0/24"/>
    <port protocol="tcp" port="32768-61000"/>
    <accept/>
  </rule>
</zone>
After reconfiguration restart your firewall: sudo systemctl restart firewalld.service
Localization is terrible and has large rotational errors
The gyroscope is either not active or not properly initialized. First, open webview and check the RobotinoSensorInterface for the has_gyro field. If it is false the gyro is not connected. if it is true but the values indicate a drift, unplug the gyro, wait 15+ seconds, then connect it again and make sure the robot is standing still for another 15+ seconds.