wiki:Carologistics/RobotinoStartUp

Version 21 (modified by dbosen, 3 months ago) (diff)

--

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:
    10.0.1.1 robotino-base-1
    10.0.2.1 robotino-base-2
    10.0.3.1 robotino-base-3
    
    172.26.108.91    robotino-laptop-1
    172.26.108.92    robotino-laptop-2
    172.26.108.93    robotino-laptop-3
    # 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 base:
    ssh robotino@robotino-base-1  
    # or robotino-base-2 or 3...
    

Fire up the System

How to use screen

On the Robotino Base

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-base-full
    

On the Robotino Laptop

ssh from the base to the laptop by running

  ssh robotino-laptop

Start a screen on the laptop and start fawkes within the screen

  screen
  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-base-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

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.