<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cutdact</id>
	<title>Open Mower Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cutdact"/>
	<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Special:Contributions/Cutdact"/>
	<updated>2026-05-13T10:14:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Mini_HOWTOs&amp;diff=306</id>
		<title>Mini HOWTOs</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Mini_HOWTOs&amp;diff=306"/>
		<updated>2022-08-30T15:08:46Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: Add setup instructions for ROS Mobile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you can find various collected instructions on how to do various tasks related to the OpenMower project. Most are rather impressionistic and are not meant to be detailed, thoroughly tested guides, but more a quick notion on how to do something rather than having to be a detective and find out entirely on your own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Disclaimer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This material is provided as-is and free of charge. No guarantees of any kind are made that the information contained herein is exact or correct or does not violate any local regulations or cause any security risk. Any use you make of any information given here is at your own discretion and risk.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Warning ==&lt;br /&gt;
Please note that this project currently is in a very early stage! So don&#039;t go buying stuff right away! You will need to order and solder your own boards, since there are no assembled boards for sale yet.&lt;br /&gt;
&lt;br /&gt;
Please make sure that you&#039;re actually allowed to build this device in your area. There may be laws / patents prohibiting you of doing so!&lt;br /&gt;
&lt;br /&gt;
Please just be responsible and if you&#039;re not sure what you&#039;re doing, please don&#039;t do anything.&lt;br /&gt;
&lt;br /&gt;
BTW the warranty of your brand new mower will obviously be void as soon as you modify it in any way, so be aware.&lt;br /&gt;
&lt;br /&gt;
== List of Mini HOWTOs ==&lt;br /&gt;
&lt;br /&gt;
* [[Simple set-up of a RTK base station]]&lt;br /&gt;
*[[Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)]] (placeholder for now)&lt;br /&gt;
*[[Flashing firmware on the Pi Pico]]&lt;br /&gt;
*[[Flashing Xesc firmware]]&lt;br /&gt;
*[[Running an OpenMower simulation]]&lt;br /&gt;
*[[Setting up ROS Mobile]]&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_Mobile&amp;diff=305</id>
		<title>Setting up ROS Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_Mobile&amp;diff=305"/>
		<updated>2022-08-30T15:06:51Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: add missing newline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NOTE: THIS CURRENTLY ONLY WORKS WITH THE DEVELOPMENT BRANCH&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example configuration for ROS-Mobile for use with OpenMower.&lt;br /&gt;
&lt;br /&gt;
== Install ROS-Mobile ==&lt;br /&gt;
&lt;br /&gt;
Either install ROS-Mobile through the Google Playstore or get the apk file from the [https://github.com/ROS-Mobile/ROS-Mobile-Android/blob/master/app/release/app-release.apk github repository]&lt;br /&gt;
&lt;br /&gt;
== Configure ROS-Mobile ==&lt;br /&gt;
&lt;br /&gt;
Start by adding a new configuration from the menu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the tab &#039;&#039;Master&#039;&#039;, configure Master IP and Port to the device running OpenMower.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;Details&#039;&#039; tab, Add the following:&lt;br /&gt;
[[File:Ros-mobile-viz.png|thumb|Viz example]]&lt;br /&gt;
* Add Joystick.&lt;br /&gt;
** Viz location: X = 4, Y = 4, Width = 4, Height = 4&lt;br /&gt;
** Publisher: Topic Name = joy_vel&lt;br /&gt;
* Add Record Dock Button.&lt;br /&gt;
** Viz location: X = 0, Y = 10, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_dock&lt;br /&gt;
** Parameters: Button text = Record dock&lt;br /&gt;
* Add Record Polygon Button.&lt;br /&gt;
** Viz location: X = 0, Y = 8, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_polygon&lt;br /&gt;
** Parameters: Button text = Record polygon&lt;br /&gt;
* Add Save Mowing Area Button.&lt;br /&gt;
** Viz location: X = 0, Y = 6, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_mowing&lt;br /&gt;
** Parameters: Button text = Save mowing area&lt;br /&gt;
* Add Save Navigation Area Button.&lt;br /&gt;
** Viz location: X = 0, Y = 4, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_navigation&lt;br /&gt;
** Parameters: Button text = Save navigation area&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_Mobile&amp;diff=304</id>
		<title>Setting up ROS Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_Mobile&amp;diff=304"/>
		<updated>2022-08-30T15:06:03Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: ROS-Mobile setup page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NOTE: THIS CURRENTLY ONLY WORKS WITH THE DEVELOPMENT BRANCH&#039;&#039;&#039; &lt;br /&gt;
Example configuration for ROS-Mobile for use with OpenMower.&lt;br /&gt;
&lt;br /&gt;
== Install ROS-Mobile ==&lt;br /&gt;
&lt;br /&gt;
Either install ROS-Mobile through the Google Playstore or get the apk file from the [https://github.com/ROS-Mobile/ROS-Mobile-Android/blob/master/app/release/app-release.apk github repository]&lt;br /&gt;
&lt;br /&gt;
== Configure ROS-Mobile ==&lt;br /&gt;
&lt;br /&gt;
Start by adding a new configuration from the menu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the tab &#039;&#039;Master&#039;&#039;, configure Master IP and Port to the device running OpenMower.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;Details&#039;&#039; tab, Add the following:&lt;br /&gt;
[[File:Ros-mobile-viz.png|thumb|Viz example]]&lt;br /&gt;
* Add Joystick.&lt;br /&gt;
** Viz location: X = 4, Y = 4, Width = 4, Height = 4&lt;br /&gt;
** Publisher: Topic Name = joy_vel&lt;br /&gt;
* Add Record Dock Button.&lt;br /&gt;
** Viz location: X = 0, Y = 10, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_dock&lt;br /&gt;
** Parameters: Button text = Record dock&lt;br /&gt;
* Add Record Polygon Button.&lt;br /&gt;
** Viz location: X = 0, Y = 8, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_polygon&lt;br /&gt;
** Parameters: Button text = Record polygon&lt;br /&gt;
* Add Save Mowing Area Button.&lt;br /&gt;
** Viz location: X = 0, Y = 6, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_mowing&lt;br /&gt;
** Parameters: Button text = Save mowing area&lt;br /&gt;
* Add Save Navigation Area Button.&lt;br /&gt;
** Viz location: X = 0, Y = 4, Width = 4, Height = 2&lt;br /&gt;
** Publisher: Topic Name = record_navigation&lt;br /&gt;
** Parameters: Button text = Save navigation area&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Ros-mobile-config.png&amp;diff=303</id>
		<title>File:Ros-mobile-config.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Ros-mobile-config.png&amp;diff=303"/>
		<updated>2022-08-30T15:04:40Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configuration page&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Ros-mobile-viz.png&amp;diff=302</id>
		<title>File:Ros-mobile-viz.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Ros-mobile-viz.png&amp;diff=302"/>
		<updated>2022-08-30T15:02:49Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Viz example&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=268</id>
		<title>Running an OpenMower simulation</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=268"/>
		<updated>2022-08-05T17:37:58Z</updated>

		<summary type="html">&lt;p&gt;Cutdact: Some spellchecking, updated launch file path, updated end path recording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
You can test the OpenMower software stack yourself by running a simulation where you can record a map and then have it mowed in a simulation on-screen. &lt;br /&gt;
&lt;br /&gt;
It&#039;s a bit rough around the edges, but it&#039;s a good way to see the software in action without hardware.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
You need the OpenMower software &#039;&#039;&#039;on a platform that has ROS and a graphical interface&#039;&#039;&#039; for rviz to be able to run and show the map. Ubuntu 20 on a desktop is a good choice, possibly on VM, VirtualBox is an excellent choice, if you do not already have a running Ubuntu 20 desktop environment.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Install ROS on Ubuntu&#039;&#039;&#039;: http://wiki.ros.org/noetic/Installation/Ubuntu - use the full install&lt;br /&gt;
** Note: make sure that you have the ROS environment set up in your terminal by &amp;lt;code&amp;gt;echo &amp;quot;source /opt/ros/noetic/setup.bash&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&amp;lt;/code&amp;gt;  and log out and back in.&lt;br /&gt;
* &#039;&#039;&#039;Install the OpenMower software:&#039;&#039;&#039; Use the instructions here: [[Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)]]&lt;br /&gt;
** Make sure that you have had &amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; succeed (may take a few tries, often 4 or more)&lt;br /&gt;
&lt;br /&gt;
You need to have a game controller for controlling the simulated bot.&lt;br /&gt;
&lt;br /&gt;
== Making sure the OpenMower environment is sourced ==&lt;br /&gt;
&#039;&#039;Whenever you are doing anything in a terminal with OpenMower&#039;&#039;, you need to make sure that ROS knows your OpenMower workspace.&lt;br /&gt;
&lt;br /&gt;
In every terminal that you use: &amp;lt;code&amp;gt;source ~/OpenMower/ROS/devel/setup.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running the simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Recording a map ===&lt;br /&gt;
[[File:VirtualBox enable USB.png|thumb|Enable USB ports on VirtualBox]]&lt;br /&gt;
Attach your joystick to a USB port. If you are on a VirtualBox, make sure that the USB port of your joystick / gamepad is mapped into your Ubuntu environment (see illustration).&lt;br /&gt;
&lt;br /&gt;
Open a terminal and execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_mower_logic.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&lt;br /&gt;
This will launch rviz where you can see the Rover and the map.&lt;br /&gt;
&lt;br /&gt;
Use your joystick to record a map and a base. On my gamepad, the buttons are&lt;br /&gt;
&lt;br /&gt;
* 1 - enable movement&lt;br /&gt;
* 2 - start path recording&lt;br /&gt;
* 4 + ↓ - end path recording&lt;br /&gt;
* 3 - register base&lt;br /&gt;
&lt;br /&gt;
Then exit rviz and the map will be recorded in &amp;lt;code&amp;gt;~/.ros/map.bag&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to record a new map, delete the old one, &amp;lt;code&amp;gt;rm ~/.ros/map.bag&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Running the simulation ===&lt;br /&gt;
&amp;lt;code&amp;gt;roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_mower_logic.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will launch rviz with the map and rqt_reconfigure where you can control various parameters of the simulation.&lt;br /&gt;
&lt;br /&gt;
You will need to press &amp;lt;code&amp;gt;manual_start_mowing&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Diagnostics / debugging / issues ==&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;br /&gt;
Your joystick needs to be transmitting messages on the topic /joy. To test that it does:&lt;br /&gt;
&lt;br /&gt;
* Run &amp;lt;code&amp;gt;roslaunch ~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
* In a new terminal run &amp;lt;code&amp;gt;rostopic echo /joy&amp;lt;/code&amp;gt;&lt;br /&gt;
You should see messages from the joystick streaming on screen. Test that pressing buttons etc. is reflected in the messages.&lt;br /&gt;
&lt;br /&gt;
If not:&lt;br /&gt;
&lt;br /&gt;
* Check which joysticks your Ubuntu installation knows: &amp;lt;code&amp;gt;ls -l /dev/input/js*&amp;lt;/code&amp;gt;&lt;br /&gt;
* Try to add/adjust which joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration here.&lt;br /&gt;
&lt;br /&gt;
===Buttons===&lt;br /&gt;
The control buttons can be edited here:&lt;br /&gt;
*movement activation button&lt;br /&gt;
**File: &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/open_mower/launch/sim_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
**Line 17: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;~enable_turbo_button&amp;quot; value=&amp;quot;4&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*area and base recording buttons&lt;br /&gt;
**File: &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_area_recorder/src/area_recorder.cpp&amp;lt;/code&amp;gt;&lt;br /&gt;
**Lines 61 ff.&lt;br /&gt;
&lt;br /&gt;
==Additional notes / info==&lt;br /&gt;
&lt;br /&gt;
===rviz and OpenMower on different machines ===&lt;br /&gt;
This is all running on one platform - the OpenMower simulation AND the graphical interface, hence the choice of desktop to have a graphical environment. In the real situation, the Rover with the OpenMower software is running on a headless Pi. If you still want to have the ability to see paths and maps (which is possible) in rviz, you need to do that on a separate desktop environment. That is possible. You can use the environment that you set up here, but the Rover and on the Desktop must be on the same network and need a little setup in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; to see each other as being part of the same ROS installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On Rover, in &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export ROS_HOSTNAME=192.168.1.126 # replace with your ip for your Rover&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export ROS_MASTER_URI=&amp;lt;nowiki&amp;gt;http://192.168.1.126:11311&amp;lt;/nowiki&amp;gt; # same as above&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On Desktop, in &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export ROS_HOSTNAME=192.168.1.123 # replace with your ip for your Desktop environment&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export ROS_MASTER_URI=&amp;lt;nowiki&amp;gt;http://192.168.1.126:11311&amp;lt;/nowiki&amp;gt; # eplace with your ip for your Rover&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Note on network visibility and guests on VirtualBox====&lt;br /&gt;
To make your Ubuntu installation running as guest in VirtualBox be able to have an externally accessible ip number and be able to talk to the Rover, you must&lt;br /&gt;
&lt;br /&gt;
#use a cabled network (not Wifi!!) to your computer that acts as host for VirtualBox and your Ubuntu guest OS&lt;br /&gt;
#use a &amp;lt;code&amp;gt;Bridged Adaptor&amp;lt;/code&amp;gt; to the cabled interface for the network setup in VirtualBox for your Ubuntu host.&lt;/div&gt;</summary>
		<author><name>Cutdact</name></author>
	</entry>
</feed>