[Documentation] [TitleIndex] [WordIndex

Introduction

These demos are for customers who purchase the navigator or navigator elite packages. These are pre-configured systems from Stanley Innovation.

Setup

Turn on the platform

Press the small sliver button for ~ 1 second and it will light up blue. After about 20 seconds the platform will beep and then 5 seconds later it will beep a second time.

Connect the wireless

Connect the virtual machine host computer to the wireless on the platform.

Start your virtual machine

You should already have installed your virtual machine by following these instructions Robots/RMPv3/indigo/virtual_machine. Login to the virtual machine we will now call this the "remote control computer"

Bring up a terminal

You should start in a directory called ~/segway_remote_ws

Inside this directory there is a script called "start_v3"

Check for Communication

Run this:

./start_v3 test

You should get the following:

=====================Testing Communication===================
Testing Communication with the base...
Using username->sibot
Using computername->sibot1
This computer's IP is->10.66.171.101
SSH to platform...[ok]

Run assisted_teleop

Run this:

./start_v3 assisted_teleop

Things to look for

The terminal windows are often buried behind the RVIZ window. Minimize RVIZ so you can see the terminal windows because its important to check for any error messages there.

New terminal windows

NODES
  /
    segway_assisted_teleop (segway_assisted_teleop/segway_assisted_teleop)

ROS_MASTER_URI=http://10.66.171.4:11311/

core service [/rosout] found
process[segway_assisted_teleop-1]: started with pid [6943]

started roslaunch server http://10.66.171.101:40102/

SUMMARY
========

PARAMETERS
 * /joy_node/autorepeat_rate: 50.0
 * /joy_node/deadzone: 0.1
 * /joy_node/dev: /dev/input/js2
 * /rosdistro: indigo
 * /rosversion: 1.11.13

NODES
  /
    joy_node (joy/joy_node)

ROS_MASTER_URI=http://SIBOT1:11311

core service [/rosout] found
process[joy_node-1]: started with pid [4721]

started roslaunch server http://10.66.171.101:45225/

SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.13

NODES
  /
    rviz (rviz/rviz)

ROS_MASTER_URI=http://SIBOT1:11311

core service [/rosout] found
process[rviz-1]: started with pid [4999]
[ INFO] [1441291544.374915219]: rviz version 1.11.7
[ INFO] [1441291544.375099062]: compiled against OGRE version 1.8.1 (Byatis)
[ INFO] [1441291544.533374262]: Stereo is NOT SUPPORTED
[ INFO] [1441291544.533468718]: OpenGl version: 3 (GLSL 1.3).

RVIZ window

  1. Look for the picture of the robot
  2. Look for the red laser data

Tweak RVIZ

Drive around

To drive around you will have to push the "B" button on the joystick to enter tractor mode. Sometimes the joystick turns off so pushing "B" twice might be required. Hold "LT" as your deadman switch and try moving the sticks.

If the platform is too close to an obstacle then you might not be able to move. You can temporarily override the obstacle avoidance by holding both triggers "LT" & "RT".

Cautiously drive toward an obstacle that the laser can see and ensure the platform stops before contacting the object. If it touches the object STOP and figure out what's wrong. It's usually best to close all windows, open a new one and run this command:

./start_v3 reboot

Run mapless_nav

Close all open windows, open a new terminal and run this:

./start_v3 mapless_nav

Mapless_nav is exactly the same as assisted_teleop as far as windows and settings. The only difference is that RVIZ is started with a different profile so you can have different settings for mapless_nav than for assisted_teleop.

Run the map builder

Now for the fun stuff. We need to have the robot map out the intended environment. For navigation to work well its best if the environment doesn't change during the mapping.

Close all open windows, open a new terminal and run this:

./start_v3  mapping

You will get the joy node and RVIZ windows as before.

The navigation window (running on the platform) looks like this when its working:

NODES
  /
    segway_assisted_teleop (segway_assisted_teleop/segway_assisted_teleop)
    slam_gmapping (gmapping/slam_gmapping)

ROS_MASTER_URI=http://10.66.171.4:11311/

core service [/rosout] found
process[segway_assisted_teleop-1]: started with pid [8169]
process[slam_gmapping-2]: started with pid [8199]
Laser Pose= 1.52869 -2.39417 -0.959006

Look specifically for the "Laser Pose" line. That shows that mapping is really running.

Drive around

Drive around to build the map. The assisted teleop node is also running so the platform will avoid obstacles it can see but use caution as it will still contact obstacles the laser cannot see.

Save the map

When your done, find the window that you used to start the mapping and it should look like this:

./start_v3 mapping
=====================Starting the Map builder===============
When you are ready to save the map enter a name and press [ENTER]:

Simply type a name for the map and press [ENTER] to save the map. You should see something like this:

[ INFO] [1441293025.560136906]: Waiting for the map
[ INFO] [1441293025.827953619]: Received a 384 X 384 map @ 0.050 m/pix
[ INFO] [1441293025.827999791]: Writing map occupancy data to /home/sibot/segway_ws/src/segway_v3/segway_navigation/segway_navigation_apps/maps/lab_map.map.pgm
[ INFO] [1441293025.832787604]: Writing map occupancy data to /home/sibot/segway_ws/src/segway_v3/segway_navigation/segway_navigation_apps/maps/lab_map.map.yaml
[ INFO] [1441293025.832909351]: Done

Maps are saved locally on the platform typically in this directory:

/home/sibot/segway_ws/src/segway_v3/segway_navigation/segway_navigation_apps/maps/

Run Mapping

Close all open windows, open a new terminal and run this:

./start_v3  map_nav lab_map.map

Substitute the name you used for the lab_map.map

If you can't remember the name you can enter no name and it will provide you a list:

./start_v3 map_nav

Again 3 terminal windows pop up with one for RVIZ.

Set the initial position

In order for mapping to work we need to tell the robot it's starting point on the map. It doesn't have to be exact but the closer the better. Click on "2D Pose Estimate" at the top of the RVIZ screen and click on the map where the platform is and hold down the mouse button and drag to set the direction. NOTE: The platform will spin the first time this is done trying to fine tune its initial position. If you don't click in the correct place you can repeat the steps but it will only spin once.

The goal is to have the red laser data line up with the black map.

Visually verify map vs laser

Before you drive around the platform based on the map you'll want to visually verify that the map lines up with the laser data.

Test the joystick interface

Next make sure the system can be driven around with the joystick. This is important because you can use the joystick to remotely stop the platform while testing the navigation. The "X" button will send the platform to standby mode and halt the navigation.

NOTE: In this mode there is no obstacle avoidance on input from the joystick. In this mode it is assumed that you will be commanding motion through way-points or Nav goals. The path planner will use the laser to avoid obstacles but the joystick commands are sent straight to the platform.

Test out the Nav Goal

Click on "2D Nav Goal" at the top of RVIZ. Click on the map for where you want the platform to go and drag to set the orientation. The platform will plot a course to that location and begin moving toward that location.

If you want to stop motion you can press the "X" button the joystick or press the kill switch.

Enable the Interactive features in RVIZ

Click on the "Interact" box at the top of the screen. You should see a blue ring appear around the platform with a white box above.

Test out Interactive Features

Note: The "publish points" do not provide a desired heading so the platform will turn at each way point back to 0 orientation. This behavior can be changed by creating the list nav_goals yourself and including heading information.


2019-04-20 12:24