Difference between revisions of "Running an OpenMower simulation"

From Open Mower Wiki
Jump to navigation Jump to search
Line 49: Line 49:
This will launch rviz with the map and rqt_reconfigure where you can control various parameters of the simulation.
This will launch rviz with the map and rqt_reconfigure where you can control various parameters of the simulation.


You will need to press manual_start_mowing in rqt_reconfigure to start the simulation. You will probably need to zoom out, find your area and then zoom in again on that in rviz.
You will need to press <code>manual_start_mowing</code> in rqt_reconfigure to start the simulation. You will probably need to zoom out, find your area and then zoom in again on that in rviz.


== Diagnostics / debugging / issues ==
== Diagnostics / debugging / issues ==
Line 58: Line 58:
* Run <code>roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch</code>
* Run <code>roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch</code>
* In a new terminal run <code>rostopic echo /joy</code>
* In a new terminal run <code>rostopic echo /joy</code>
* You should see messages from the joystick streaming on screen. Test that pressing buttons etc. is reflected in the messages.
You should see messages from the joystick streaming on screen. Test that pressing buttons etc. is reflected in the messages.


If not:
If not:
Line 64: Line 64:
* Check which joysticks your Ubuntu installation knows: <code>ls -l /dev/input/js*</code>
* Check which joysticks your Ubuntu installation knows: <code>ls -l /dev/input/js*</code>
* Try to add/adjust wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.
* Try to add/adjust wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.
[[File:Which joystick to use.png|thumb|Which joystick to use]]

Revision as of 05:58, 4 June 2022

Introduction

You can test the OpenMower software stack yourself by running a simulation where you can record a map and then have it mowed.

It's a bit rough around the edges, but it's a good way to see the software in action without hardware.

This mini-HOWTO is meant to save you a bit of detective work and get you started, not to be a comprehensive guide to the simulation.

Prerequisites

You need the OpenMower software on a platform that has a graphical interface for rviz to be able to run and show the map. Ubuntu 20 is a good choice, possibly on VM, VirtualBox is an excellent choice, if you do not already have a running Ubuntu 20 desktop environment.

You need to have a game controller for controlling the simulated bot.

Making sure the OpenMower environment is sourced

Whenever you are doing anything in a terminal with OpenMower, you need to make sure that ROS knows your OpenMower workspace.

In every terminal that you use: source ~/OpenMower/ROS/devel/setup.sh

Running the simulation

Recording a map

Enable USB ports on VirtualBox

Attach your joystick to a USB port. If you are on a VirtualBox, make sure that the USB port is mapped into your Ubuntu environment (see illustration).

Open a terminal and execute

roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch

This will launch rviz where you can see the Rover and the map.

Use your joystick to record a map and a base. On my gamepad, the btns are

  • 1 - enable movement
  • 2 - start path recording
  • 4 - end path recording
  • 3 - register base

Then exit rviz and the map will be recorded in ~/.ros/map.bag

If you want to record a new map, delete the old one, rm ~/.ros/map.bag

Running the simulation

roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch

OpenMower simulation running

This will launch rviz with the map and rqt_reconfigure where you can control various parameters of the simulation.

You will need to press manual_start_mowing in rqt_reconfigure to start the simulation. You will probably need to zoom out, find your area and then zoom in again on that in rviz.

Diagnostics / debugging / issues

Joystick

Your joystick needs to be transmitting messages on the topic /joy. To test that it does:

  • Run roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch
  • In a new terminal run rostopic echo /joy

You should see messages from the joystick streaming on screen. Test that pressing buttons etc. is reflected in the messages.

If not:

  • Check which joysticks your Ubuntu installation knows: ls -l /dev/input/js*
  • Try to add/adjust wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.
Which joystick to use