In this tutorial we will make basic tests to assert that both the robulab robot and the laptop are configured correctly. We will consider as well configured if we can start a PhaROS node that handle robulab robot, so we can publish motion messages through rostopic pub command and make it to move.

Setup

  1. Robulab charged and switched on.
  2. Laptop with Ubuntu 14.04
  3. ROS Indigo installed on laptop (Read: How to install ROS Indigo in Ubuntu 14.04)
  4. Your .bashrc file you should look like this:

    source /opt/ros/indigo/setup.bash
    source ~/PhaROS-ws/devel/setup.bash
    
    ROS_HOSTNAME=localhost
    ROS_MASTER_URI=http://localhost:11311
    
  5. PhaROS installed (Read: How to Install PhaROS).

  6. Robot should be unplugged and free to move.

Ok, lets test it

  1. Create a package for testing the robulab. In a terminal run (this could take a couple of minutes):

    $ pharos create testrobulab
    
  2. Open the Pharo image of your PhaROS package by running this:

    $ rosrun testrobulab edit
    
  3. Install the required software to controll Robulab by executing this script.

    Gofer it
        smalltalkhubUser: 'CAR'
        project: 'Robulab';
        configurationOf: 'PureROS';
        load.
    ((Smalltalk at: #ConfigurationOfPureROS) project version: #bleedingEdge) load: {'kompai'}.
    
  4. Connect your laptop to UBNT wireless network.

  5. Start ROS by running roscore in a terminal.

    $ roscore
    

    If everything goes fine it should print something like this:

    ...
    started roslaunch server http://achao:56856/
    ros_comm version 1.11.3
    
    SUMMARY
    ========
    
    PARAMETERS
     * /rosdistro: <...>
     * /rosversion: <...>
    
    NODES
    
    auto-starting new master
    process[master]: started with pid [4073]
    ROS_MASTER_URI=http://achao:11311/
    
    setting /run_id to 6e36ef46-005d-11e4-ac41-b8ee65bb26b0
    process[rosout-1]: started with pid [4086]
    started core service [/rosout]
    

    Where achao is the hostname of the laptop I am using.

  6. Be sure that the Pharo image has not http proxy set, or if it has, they are coherent with your network configuration. To deactivate it you can just execute this in a workspace:

    NetworkSystemSettings useHTTPProxy: false
    
  7. Open a workspace and execute:

    PureROSKompai new scriptKompai1
    

    change it to scriptKompai2 if you are using Robulab2. This will create a PhaROS node that you can check by executing:

    $ rosnode list
    

    and you would see

    /PharoHandle-1404143614
    /rosout
    
  8. Let’s check the available topics to publish, in a terminal execute:

    $ rostopic list
    

    and the list of topics should be:

    /command_velocity
    /initialpose
    /kompai/scan
    /kompai2/pose
    /kompai2/trajectory/differential
    /orientation
    /rosout
    /rosout_agg
    
  9. Let’s publish some motion message in /command_velocity. For that lets use the command pub for rostopic which has the following structure: rostopic pub <topic id> <topic type> <message> command. Press [TAB] key to autocomplete: topic id, topic type and get message template.

    $ rostopic pub /command_velocity geometry_msgs/Twist "linear:
      x: 0.0
      y: 0.0
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: 0.5"
    

And the robot will start to rotate. If so you are done :)

Leave a reply

required

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>