Difference between revisions of "Running an OpenMower simulation"

From Open Mower Wiki
Jump to navigation Jump to search
(Initial commit, unfinished)
 
Line 24: Line 24:


=== Recording a map ===
=== Recording a map ===
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.
[[File:VirtualBox enable USB.png|thumb|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
<code>roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch</code>


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


Open a terminal and execute
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 <code>~/.ros/map.bag</code>
 
If you want to record a new map, delete the old one, <code>rm ~/.ros/map.bag</code>


=== Running the simulation ===
<code>roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch</code>
<code>roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch</code>
[[File:Simulation running.png|thumb|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 <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>
* 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: <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.

Revision as of 05:57, 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.