<?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=Tinker0436</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=Tinker0436"/>
	<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Special:Contributions/Tinker0436"/>
	<updated>2026-05-13T10:04:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=155</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=155"/>
		<updated>2022-06-04T19:59:58Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Small fix to the OpenMower software for simulation to run */  Removed need for this after c.ez fixed it&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_record_area.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 btns 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_record_area.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 wich joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=154</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=154"/>
		<updated>2022-06-04T07:17:12Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Diagnostics / debugging / issues */&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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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_record_area.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 btns 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_record_area.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 wich joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=153</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=153"/>
		<updated>2022-06-04T07:14:50Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Recording a map */&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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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_record_area.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 btns 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_record_area.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 wichh joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration further down here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=152</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=152"/>
		<updated>2022-06-04T07:12:41Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Prerequisites */&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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.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 btns 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_record_area.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 wichh joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration further down here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=151</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=151"/>
		<updated>2022-06-04T07:11:41Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Joystick */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.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 btns 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_record_area.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 wichh joystick the recorder uses in sim_record_area.launch to use the correct joystick, see illustration further down here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=150</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=150"/>
		<updated>2022-06-04T07:09:24Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Recording a map */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.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 btns 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_record_area.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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=149</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=149"/>
		<updated>2022-06-04T07:08:16Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Diagnostics / debugging / issues */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=148</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=148"/>
		<updated>2022-06-04T07:08:00Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Additional notes / info */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here on the page.&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>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=147</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=147"/>
		<updated>2022-06-04T07:06:49Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Additional notes / info */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here on the page.&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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=146</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=146"/>
		<updated>2022-06-04T07:04:17Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Additional notes / info */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here on the page.&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 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, 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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=145</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=145"/>
		<updated>2022-06-04T07:03:44Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Diagnostics / debugging / issues */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration further down here on the page.&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 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, 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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=144</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=144"/>
		<updated>2022-06-04T07:00:08Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Introduction */&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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&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 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, 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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=143</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=143"/>
		<updated>2022-06-04T06:47:29Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower */ note on variant on catkin_make&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.4 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4 (or the latest LTS version of Ubuntu Server 20, it should probably work, since ROS Noetic is runnining on Ubuntu 20)&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recurse-submodules https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success. If continued application of catkin_make does not work, try using &amp;lt;code&amp;gt;catkin_make -j1 -l1&amp;lt;/code&amp;gt; a few times as well.&lt;br /&gt;
&lt;br /&gt;
=== A note on Wifi ===&lt;br /&gt;
The instructions here work for installing an Ubuntu 20 with Wifi enabled: https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/. However, it takes one or two boots &#039;&#039;before&#039;&#039; the Pi comes up on Wifi. So use a terminal or ssh for the first couple of boots.&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=142</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=142"/>
		<updated>2022-06-04T06:37:27Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Making sure the OpenMower environment is sourced */ fix to mower_logic.cpp&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. &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 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;
== Small fix to the OpenMower software for simulation to run ==&lt;br /&gt;
[[File:Adjust software for simulation.png|thumb|Adjust software for simulation]]&lt;br /&gt;
You need to make a small change to &amp;lt;code&amp;gt;~/OpenMower/ROS/src/open_mower_ros/mower_logic/src/mower_logic/mower_logic.cpp&amp;lt;/code&amp;gt;. Change the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (gpsGood || last_config.ignore_gps_errors) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;if (true) {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(it is ca. line 185, see illustration)&lt;br /&gt;
&lt;br /&gt;
Then recompile &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/OpenMower/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;catkin_make&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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&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 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, 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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Adjust_software_for_simulation.png&amp;diff=141</id>
		<title>File:Adjust software for simulation.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Adjust_software_for_simulation.png&amp;diff=141"/>
		<updated>2022-06-04T06:30:17Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Adjust software for simulation&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Mini_HOWTOs&amp;diff=140</id>
		<title>Mini HOWTOs</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Mini_HOWTOs&amp;diff=140"/>
		<updated>2022-06-04T06:26:44Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* List of Mini HOWTOs */ added link to running simulation&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;
*[[Running an OpenMower simulation]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=139</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=139"/>
		<updated>2022-06-04T06:25:41Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* rviz and OpenMower on different machines */&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. &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 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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&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 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, 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;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=138</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=138"/>
		<updated>2022-06-04T06:18:05Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: Note on distributed network setup and VirtualBox bridged cabled networking&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. &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 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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&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 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&#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&#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 and VirtualBox =====&lt;br /&gt;
To make your Ubuntu installation running in VirtualBox be able to have an externally accessible ip number, 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 for your Ubuntu host.&lt;br /&gt;
&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=137</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=137"/>
		<updated>2022-06-04T05:58:56Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Diagnostics / debugging / issues */&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. &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 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.&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 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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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;
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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&lt;br /&gt;
[[File:Which joystick to use.png|thumb|Which joystick to use]]&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=136</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=136"/>
		<updated>2022-06-04T05:57:20Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Running the simulation */ Ca complete&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. &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 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.&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 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 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
&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 btns 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_record_area.launch&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Simulation running.png|thumb|OpenMower simulation running]]&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 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.&lt;br /&gt;
&lt;br /&gt;
== Diagnostics / debugging / issues ==&lt;br /&gt;
&lt;br /&gt;
=== Joystick ===&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 wichh joystick the recorder uses in sim_recorc_area.launch to use the correct joystick, see illustration.&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Which_joystick_to_use.png&amp;diff=135</id>
		<title>File:Which joystick to use.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Which_joystick_to_use.png&amp;diff=135"/>
		<updated>2022-06-04T05:55:43Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Which joystick to use&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Simulation_running.png&amp;diff=134</id>
		<title>File:Simulation running.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Simulation_running.png&amp;diff=134"/>
		<updated>2022-06-04T05:47:11Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simulation running&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:VirtualBox_enable_USB.png&amp;diff=133</id>
		<title>File:VirtualBox enable USB.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:VirtualBox_enable_USB.png&amp;diff=133"/>
		<updated>2022-06-04T05:27:39Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VirtualBox enable USB&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Running_an_OpenMower_simulation&amp;diff=132</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=132"/>
		<updated>2022-06-04T05:24:22Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: Initial commit, unfinished&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. &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 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.&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 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;
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.&lt;br /&gt;
&lt;br /&gt;
&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_record_area.launch&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=131</id>
		<title>Building the Mower</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=131"/>
		<updated>2022-06-04T04:06:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Bill OF Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMower Building guide!&lt;br /&gt;
&lt;br /&gt;
Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
Below you can find an overview of the major parts and components in the OpenMower.&lt;br /&gt;
&lt;br /&gt;
There is a also another page with a [[Builder Road Map|&#039;&#039;&#039;Builder Road Map&#039;&#039;&#039;]] that gives guide to how to go about building your own OpenMower project.&lt;br /&gt;
&lt;br /&gt;
== Bill OF Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Open Mower Bill of Materials&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description &lt;br /&gt;
!Optional!! Availability !! Quantity Required !! Source Link 1 !! Alternate Source&lt;br /&gt;
|-&lt;br /&gt;
| Mower (Yardforce Classic 500) || Base building block &lt;br /&gt;
| || Off the shelf || 1 ||https://amzn.to/3NWgIxk&lt;br /&gt;
|  &#039;&#039;&#039;Note:&#039;&#039;&#039; Earlier, we had a reference to myrobotcenter. However, they have gone into reconstruction, so be aware of that vendor!&lt;br /&gt;
|-&lt;br /&gt;
| OpenMower Mainboard || The core of the new electronics. &lt;br /&gt;
| || Custom || 1 || [https://octopart.com/bom-tool/ODFKeG8J Components Octopart BOM]&lt;br /&gt;
| WIP&lt;br /&gt;
|-&lt;br /&gt;
| xESC || Motor drivers &lt;br /&gt;
| || Custom || 3 || Components Octoparts BOM:&lt;br /&gt;
- [https://octopart.com/bom-tool/p1aqUopq RP2040 &#039;&#039;without&#039;&#039; CAN]&lt;br /&gt;
&lt;br /&gt;
- [https://octopart.com/bom-tool/tZ27Fd1N RP2040 &#039;&#039;with&#039;&#039; CAN]&lt;br /&gt;
&lt;br /&gt;
- [https://octopart.com/bom-tool/hUY6qiSp STM32] &lt;br /&gt;
|  WIP&lt;br /&gt;
|-&lt;br /&gt;
| Raspebrry Pi 4 || The brain of the robot. Also used to send RTK correction data from the base station.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the base station the Raspberry Pi can be any model with Ethernet and USB, for the robot we need the Raspberry Pi 4 with at least 4 GB of RAM.&lt;br /&gt;
| || Off the shelf || 2 || https://rpilocator.com/?cat=PI4&amp;amp;instock&amp;lt;nowiki/&amp;gt;|| WIP&lt;br /&gt;
|-&lt;br /&gt;
| Ardusimple RTK2B GPS || Positioning system for the bot &lt;br /&gt;
| || Off the shelf || 2 || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi Pico|| Microcontroller talking to peripherals, soldered to the OpenMower mainboard&lt;br /&gt;
| ||Off the shelf||1||Widely available||&lt;br /&gt;
|-&lt;br /&gt;
|MPU 9250&lt;br /&gt;
|9-axis accelerometer sitting on Mainboard allowing for direction through compass and dead reckoning of movement between GPS updates.&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|You may need to shop around, corresponds to this one &lt;br /&gt;
[https://www.amazon.de/dp/B07Y7VGWX5/ Amazon (Fast shipping)]&lt;br /&gt;
|[https://www.aliexpress.com/item/1005003056348525.html?spm=a2g0o.cart.0.0.37ef3c00YO7lgM&amp;amp;mp=1 https://aliexpress.com/item/1005003056348525.html]&lt;br /&gt;
[https://www.aliexpress.com/item/32787237588.html?spm=a2g0o.cart.0.0.37ef3c00YO7lgM&amp;amp;mp=1 https://aliexpress.com/item/32787237588.html]&lt;br /&gt;
&lt;br /&gt;
[https://de.aliexpress.com/item/1005003718272772.html https://aliexpress.com/item/1005003718272772.html]&lt;br /&gt;
&lt;br /&gt;
https://www.ebay.de/itm/181877281002&lt;br /&gt;
|-&lt;br /&gt;
|3D printed brackets||To hold the GPS inside the bot&lt;br /&gt;
| ||Custom||1||https://www.printables.com/fr/model/175826-openmower-gps-mount-for-yardforce-classic-500&amp;lt;nowiki/&amp;gt;||WIP&lt;br /&gt;
|-&lt;br /&gt;
|SMA Angle Adapter&lt;br /&gt;
|Needed to connect the GPS without bending the wire too much&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3K913b1&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|CC/CV Step Down module&lt;br /&gt;
| As charger for the docking station&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3NUdRVL&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|Docking Station Adapter PCB&lt;br /&gt;
|A PCB to hold the module in place.&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
| WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|GPS PCB&lt;br /&gt;
| A ground plane PCB to improve GPS reception&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|USB Angle Adapter&lt;br /&gt;
|If you want to use the Classic 500&#039;s USB port&lt;br /&gt;
|YES&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3ukNAIj&lt;br /&gt;
|WIP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Building the bot==&lt;br /&gt;
&lt;br /&gt;
We are working on providing step by step instructions on how to build the bot. At the moment, we only have Clemens&#039;s video:&lt;br /&gt;
https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
==Setup and test==&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=127</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=127"/>
		<updated>2022-05-30T18:15:10Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Further parts needed */ mpu 9250 added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but we are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
| Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Get the latest zip file here.&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
* An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. https://de.aliexpress.com/item/1005003718272772.html&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/&lt;br /&gt;
|Use latest zip file here &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER&lt;br /&gt;
|Zip the files in this directory &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
==== Ground plane====&lt;br /&gt;
&lt;br /&gt;
This is not really a PCB with parts. It is just a PCB that provides a conducting plane on which the GPR antenna can sit for better reception - and with a size that fits within the Yard Force 500. You may order this from e.g. JLCPCB using the Gerber files below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
! Notes &lt;br /&gt;
|-&lt;br /&gt;
|Gerber files &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/Hardware/GPSGroundPlane&lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=124</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=124"/>
		<updated>2022-05-30T15:13:15Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but we are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
| Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Get the latest zip file here.&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
* An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. [TODO]&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/&lt;br /&gt;
|Use latest zip file here &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER&lt;br /&gt;
|Zip the files in this directory &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
==== Ground plane====&lt;br /&gt;
&lt;br /&gt;
This is not really a PCB with parts. It is just a PCB that provides a conducting plane on which the GPR antenna can sit for better reception - and with a size that fits within the Yard Force 500. You may order this from e.g. JLCPCB using the Gerber files below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
! Notes &lt;br /&gt;
|-&lt;br /&gt;
|Gerber files &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/Hardware/GPSGroundPlane&lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=123</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=123"/>
		<updated>2022-05-30T15:12:13Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Ground plate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
| Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Get the latest zip file here.&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
* An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. [TODO]&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/&lt;br /&gt;
|Use latest zip file here &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER&lt;br /&gt;
|Zip the files in this directory &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
==== Ground plane====&lt;br /&gt;
&lt;br /&gt;
This is not really a PCB with parts. It is just a PCB that provides a conducting plane on which the GPR antenna can sit for better reception - and with a size that fits within the Yard Force 500. You may order this from e.g. JLCPCB using the Gerber files below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
! Notes &lt;br /&gt;
|-&lt;br /&gt;
|Gerber files &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/Hardware/GPSGroundPlane&lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=122</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=122"/>
		<updated>2022-05-30T15:11:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* x-ESC (original STM32 version) */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
| Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Get the latest zip file here.&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
* An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. [TODO]&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/&lt;br /&gt;
|Use latest zip file here &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER&lt;br /&gt;
|Zip the files in this directory &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
==== Ground plate====&lt;br /&gt;
&lt;br /&gt;
This is not really a PCB with parts. It is just a PCB that provides a conducting plane on which the GPR antenna can sit for better reception - and with a size that fits within the Yard Force 500. You may order this from e.g. JLCPCB using the Gerber files below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
! Notes &lt;br /&gt;
|-&lt;br /&gt;
|Gerber files &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/Hardware/GPSGroundPlane&lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=121</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=121"/>
		<updated>2022-05-30T15:11:10Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Main board */ added ground plane&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
| Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Get the latest zip file here.&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
* An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. [TODO]&lt;br /&gt;
&lt;br /&gt;
=====xESC2040=====&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/&lt;br /&gt;
|Use latest zip file here &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER&lt;br /&gt;
|Zip the files in this directory &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv &lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already. &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
==== Ground plate====&lt;br /&gt;
&lt;br /&gt;
This is not really a PCB with parts. It is just a PCB that provides a conducting plane on which the GPR antenna can sit for better reception - and with a size that fits within the Yard Force 500. You may order this from e.g. JLCPCB using the Gerber files below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
! Notes &lt;br /&gt;
|-&lt;br /&gt;
|Gerber files &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/Hardware/GPSGroundPlane&lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=120</id>
		<title>Building the Mower</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=120"/>
		<updated>2022-05-30T14:57:52Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Bill OF Materials */ note on MPU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMower Building guide!&lt;br /&gt;
&lt;br /&gt;
Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
Below you can find an overview of the major parts and components in the OpenMower.&lt;br /&gt;
&lt;br /&gt;
There is a also another page with a [[Builder Road Map|&#039;&#039;&#039;Builder Road Map&#039;&#039;&#039;]] that gives guide to how to go about building your own OpenMower project.&lt;br /&gt;
&lt;br /&gt;
== Bill OF Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Open Mower Bill of Materials&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description &lt;br /&gt;
!Optional!! Availability !! Quantity Required !! Source Link 1 !! Alternate Source&lt;br /&gt;
|-&lt;br /&gt;
| Mower (Yardforce Classic 500) || Base building block &lt;br /&gt;
| || Off the shelf || 1 ||https://amzn.to/3NWgIxk&lt;br /&gt;
|  &#039;&#039;&#039;Note:&#039;&#039;&#039; Earlier, we had a reference to myrobotcenter. However, they have gone into reconstruction, so be aware of that vendor!&lt;br /&gt;
|-&lt;br /&gt;
| OpenMower Mainboard || The core of the new electronics. &lt;br /&gt;
| || Custom || 1 || Components Octopart BOM:&lt;br /&gt;
https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
| WIP&lt;br /&gt;
|-&lt;br /&gt;
| xESC || Motor drivers &lt;br /&gt;
| || Custom || 3 || Components Octoparts BOM:&lt;br /&gt;
- RP2040 no CAN version:&lt;br /&gt;
&lt;br /&gt;
https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
&lt;br /&gt;
-RP2040 full:&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
- STM32 :&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
|  WIP&lt;br /&gt;
|-&lt;br /&gt;
| Raspebrry Pi 4 || The brain of the robot. Also used to send RTK correction data from the base station.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the base station the Raspberry Pi can be any model with Ethernet and USB, for the robot we need the Raspberry Pi 4 with at least 4 GB of RAM.&lt;br /&gt;
| || Off the shelf || 2 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Ardusimple RTK2B GPS || Positioning system for the bot &lt;br /&gt;
| || Off the shelf || 2 || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi Pico|| Microcontroller talking to peripherals, soldered to the OpenMower mainboard&lt;br /&gt;
| ||Off the shelf||1||Widely available||&lt;br /&gt;
|-&lt;br /&gt;
|MPU 9250&lt;br /&gt;
|9-axis accelerometer sitting on Mainboard allowing for direction through compass and dead reckoning of movement between GPS updates.&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|You may need to shop around, corresponds to this one [TODO]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3D printed brackets||To hold the GPS inside the bot&lt;br /&gt;
| ||Custom||1||https://www.printables.com/fr/model/175826-openmower-gps-mount-for-yardforce-classic-500&amp;lt;nowiki/&amp;gt;||WIP&lt;br /&gt;
|-&lt;br /&gt;
|SMA Angle Adapter&lt;br /&gt;
|Needed to connect the GPS without bending the wire too much&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3K913b1&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|CC/CV Step Down module&lt;br /&gt;
| As charger for the docking station&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3NUdRVL&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|Docking Station Adapter PCB&lt;br /&gt;
|A PCB to hold the module in place.&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
| WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|GPS PCB&lt;br /&gt;
| A ground plane PCB to improve GPS reception&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|USB Angle Adapter&lt;br /&gt;
|If you want to use the Classic 500&#039;s USB port&lt;br /&gt;
|YES&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3ukNAIj&lt;br /&gt;
|WIP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building the bot==&lt;br /&gt;
&lt;br /&gt;
We are working on providing step by step instructions on how to build the bot. At the moment, we only have Clemens&#039;s video:&lt;br /&gt;
https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
==Setup and test==&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=119</id>
		<title>Building the Mower</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=119"/>
		<updated>2022-05-30T14:56:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Bill OF Materials */ 9-axis accelerometer MPU 9250&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMower Building guide!&lt;br /&gt;
&lt;br /&gt;
Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
Below you can find an overview of the major parts and components in the OpenMower.&lt;br /&gt;
&lt;br /&gt;
There is a also another page with a [[Builder Road Map|&#039;&#039;&#039;Builder Road Map&#039;&#039;&#039;]] that gives guide to how to go about building your own OpenMower project.&lt;br /&gt;
&lt;br /&gt;
== Bill OF Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Open Mower Bill of Materials&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description &lt;br /&gt;
!Optional!! Availability !! Quantity Required !! Source Link 1 !! Alternate Source&lt;br /&gt;
|-&lt;br /&gt;
| Mower (Yardforce Classic 500) || Base building block &lt;br /&gt;
| || Off the shelf || 1 ||https://amzn.to/3NWgIxk&lt;br /&gt;
|  &#039;&#039;&#039;Note:&#039;&#039;&#039; Earlier, we had a reference to myrobotcenter. However, they have gone into reconstruction, so be aware of that vendor!&lt;br /&gt;
|-&lt;br /&gt;
| OpenMower Mainboard || The core of the new electronics. &lt;br /&gt;
| || Custom || 1 || Components Octopart BOM:&lt;br /&gt;
https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
| WIP&lt;br /&gt;
|-&lt;br /&gt;
| xESC || Motor drivers &lt;br /&gt;
| || Custom || 3 || Components Octoparts BOM:&lt;br /&gt;
- RP2040 no CAN version:&lt;br /&gt;
&lt;br /&gt;
https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
&lt;br /&gt;
-RP2040 full:&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
- STM32 :&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
|  WIP&lt;br /&gt;
|-&lt;br /&gt;
| Raspebrry Pi 4 || The brain of the robot. Also used to send RTK correction data from the base station.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the base station the Raspberry Pi can be any model with Ethernet and USB, for the robot we need the Raspberry Pi 4 with at least 4 GB of RAM.&lt;br /&gt;
| || Off the shelf || 2 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Ardusimple RTK2B GPS || Positioning system for the bot &lt;br /&gt;
| || Off the shelf || 2 || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi Pico|| Microcontroller talking to peripherals, soldered to the OpenMower mainboard&lt;br /&gt;
| ||Off the shelf||1||Widely available||&lt;br /&gt;
|-&lt;br /&gt;
|9-axis accelerometer MPU 9250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|You may need to shop around, corresponds to this one [TODO]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3D printed brackets||To hold the GPS inside the bot&lt;br /&gt;
| ||Custom||1||https://www.printables.com/fr/model/175826-openmower-gps-mount-for-yardforce-classic-500&amp;lt;nowiki/&amp;gt;||WIP&lt;br /&gt;
|-&lt;br /&gt;
|SMA Angle Adapter&lt;br /&gt;
|Needed to connect the GPS without bending the wire too much&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3K913b1&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|CC/CV Step Down module&lt;br /&gt;
| As charger for the docking station&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3NUdRVL&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|Docking Station Adapter PCB&lt;br /&gt;
|A PCB to hold the module in place.&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
| WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|GPS PCB&lt;br /&gt;
| A ground plane PCB to improve GPS reception&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|USB Angle Adapter&lt;br /&gt;
|If you want to use the Classic 500&#039;s USB port&lt;br /&gt;
|YES&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3ukNAIj&lt;br /&gt;
|WIP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building the bot==&lt;br /&gt;
&lt;br /&gt;
We are working on providing step by step instructions on how to build the bot. At the moment, we only have Clemens&#039;s video:&lt;br /&gt;
https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
==Setup and test==&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=118</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=118"/>
		<updated>2022-05-30T14:52:08Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Further parts needed */ add note on MPU 9250&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*A 9-axis accelerometer, MPU 9250, e.g. [TODO]&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
| https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
| https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=117</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=117"/>
		<updated>2022-05-30T14:34:39Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* xESC2040 */ added BOM .csv files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/xESC2_bom.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
| https://octopart.com/bom-tool/p1aqUopq&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart&lt;br /&gt;
| https://octopart.com/bom-tool/tZ27Fd1N&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;with&#039;&#039; the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/xESC2_bom.csv&lt;br /&gt;
|With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://octopart.com/bom-tool/hUY6qiSp&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=114</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=114"/>
		<updated>2022-05-30T11:06:38Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Main board */ Fix BOM on Octopart for main board&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://octopart.com/bom-tool/ODFKeG8J&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039;the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=113</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=113"/>
		<updated>2022-05-30T10:55:50Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Main board */ add notes on interactive bom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039;the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Interactive BOM&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2_mini_VESC/BOM/ibom.html&lt;br /&gt;
|Use this file to see where parts go, very useful when you start to assemble.&lt;br /&gt;
Download the file and use it locally on you workstation. It has option to save state for how far you have gotten.&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=112</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=112"/>
		<updated>2022-05-30T10:47:02Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* PCBs with components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build 4 PCBs; 1 for the main board and 3 for the motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart site to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039;the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=111</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=111"/>
		<updated>2022-05-30T10:45:42Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Further parts needed */ updated BOM info and &amp;quot;getting parts&amp;quot; descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build two PCBs; 1 for the main board and one for the three motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart tool to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|}&lt;br /&gt;
=====Further parts needed=====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the RP2040 chip which should be available. The ESC can be produced single-sided for the OpenMower project (so it is less complicated than the STM32 version that is dual sided). xESC2040 has an option to mount some component on the underside to enable CAN interfacing, but, as said, this is not needed for the OpenMower. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
Note: this BOM is &#039;&#039;without&#039;&#039;the CAN components for the underside (they are not needed for the OpenMower project). &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====x-ESC (original STM32 version)====&lt;br /&gt;
&lt;br /&gt;
This version of the three motor drivers uses the STM32 chip which is in very short supply, therefore the xESC2040 was designed and you should probably go for the xESC2040, unless you actually have access to STM32s. Also the STM32 version uses a double-sided PCB, so it is harder to solder than xESC2040.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/tree/main/PCB/xESC2_mini_VESC/GERBER &lt;br /&gt;
|Zip the files in this directory&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=110</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=110"/>
		<updated>2022-05-30T10:37:32Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* PCBs with components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build two PCBs; 1 for the main board and one for the three motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart tool to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Further parts needed====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
*A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
&lt;br /&gt;
====xESC2040====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/GERBER/ &lt;br /&gt;
|Use latest zip file here&lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|TODO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/xESC/blob/main/PCB/xESC2040/BOM/ibom.html&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Getting the xESC&#039;s====&lt;br /&gt;
There are currently two versions of the xESC (of which you need 3 for the main board).&lt;br /&gt;
&lt;br /&gt;
#An version based on the STM32 chip. Information about that is in the git repo https://github.com/ClemensElflein/xESC. That is working and tested, but it is hard to get the STM32s and the soldering is somewhat technical and one cannot order xESC pre-assembled (from e.g. JLCPCB) due to parts sitting on both sides of the PCB. But you can go ahead and build those now.&lt;br /&gt;
#A new version, simpler and cheaper, and based on the RP2040 chip. That is currently (2022-05-01) under final revision and should be available ca. medio May. That should be possible to order assembled from JLCPCB, once ready. So you might want to wait for that.&lt;br /&gt;
&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=109</id>
		<title>Builder Road Map</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Builder_Road_Map&amp;diff=109"/>
		<updated>2022-05-30T10:33:43Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Main board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
If you want to embark on building an OpenMower, we have collected an overview of the various parts and where find information and what to to below. Beware that this is not complete, but it gives you some navigation to how to go about making a project for yourself.&lt;br /&gt;
&lt;br /&gt;
Please see the image to the right for an overview that will assist you when reading the road map description below. &lt;br /&gt;
&lt;br /&gt;
You can find more information on the various parts in the page [[Building the Mower|&#039;&#039;&#039;Building the Mower&#039;&#039;&#039;]]&lt;br /&gt;
[[File:Road map.png|thumb]]&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;
== Road map ==&lt;br /&gt;
&lt;br /&gt;
===The Mower===&lt;br /&gt;
&lt;br /&gt;
====Get a mower in a store ====&lt;br /&gt;
So far only the Yard Force 500 is supported. See [[FAQ]] for more about alternative mowers.&lt;br /&gt;
&lt;br /&gt;
====Disassemble the mower and Remove the old mainboard====&lt;br /&gt;
See @c.ez&#039;s YouTube video https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
Now, it is ready for a new main board. &lt;br /&gt;
&lt;br /&gt;
=== PCBs with components ===&lt;br /&gt;
You need to build two PCBs; 1 for the main board and one for the three motor controls (ESCs). You have to get the PCBs, get the parts and solder it yourself at the current stage. Due to international parts shortage, getting parts is quite a detective task, but here, we give you some help.&lt;br /&gt;
&lt;br /&gt;
The recommended process for getting parts is the following:&lt;br /&gt;
&lt;br /&gt;
# There are some parts lists (BOMs) maintained in Octopart - they will be given below. &lt;br /&gt;
# Use the Octopart tool to find out where there are parts available and order them. You will very likely have to use several vendors. We propose that you start at digikey and then move on for parts that you can not get there.&lt;br /&gt;
# Order the parts.&lt;br /&gt;
# Use the relevant Gerber files for the board that you are making to order PCBs at e.g. JLCPCB. If you plan to use a hot plate or an oven for the soldering process, consider simultaneously ordering a stencil for placing solder paste on your PCBs.&lt;br /&gt;
&lt;br /&gt;
====Main board====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!What&lt;br /&gt;
!Where&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Gerber files&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard &lt;br /&gt;
|Get the latest zip file here. &lt;br /&gt;
|-&lt;br /&gt;
|BOM .csv file&lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/blob/main/dist/Mainboard/OpenMowerMainboard_bom_.csv&lt;br /&gt;
| With a little effort can be used to create an Octpoart list or a digikey list, if you spend some time mapping fields. The file has digikey and lcsc part numbers in it already.&lt;br /&gt;
|-&lt;br /&gt;
|BOM on Octopart &lt;br /&gt;
|https://github.com/ClemensElflein/OpenMower/tree/main/dist/Mainboard&lt;br /&gt;
|Use this to see where parts are available&lt;br /&gt;
|}&lt;br /&gt;
At the time of writing, the main board is version 0.9.1beta and has a few issues (but is working, with the remarks stated here: [[Hardware]] !!), so you can either go from there or you can wait until a next revision fixes these problems.&lt;br /&gt;
&lt;br /&gt;
[TODO]: @c.ez : How does one find a current BOM for the main board if going to build one-self?&lt;br /&gt;
&lt;br /&gt;
[TODO] : @tinker0436 and @vamatis will try to see if a comprehensive description can be made on how to order an assembled main-board from JLCPCB.&lt;br /&gt;
&lt;br /&gt;
====Assembling====&lt;br /&gt;
You need to have all the fixed parts soldered to the main board. Either you do it yourself or you find a way to order it assembled from e.g. JLCPCB.&lt;br /&gt;
&lt;br /&gt;
====Further parts needed====&lt;br /&gt;
You also need&lt;br /&gt;
&lt;br /&gt;
* A Raspberry Pi 4&lt;br /&gt;
*An RTK Module&lt;br /&gt;
*3 xESC modules&lt;br /&gt;
*A Raspberry Pi Pico&lt;br /&gt;
*And check the BOM here: [[Building the Mower]] &lt;br /&gt;
&lt;br /&gt;
====Getting the xESC&#039;s====&lt;br /&gt;
There are currently two versions of the xESC (of which you need 3 for the main board).&lt;br /&gt;
&lt;br /&gt;
#An version based on the STM32 chip. Information about that is in the git repo https://github.com/ClemensElflein/xESC. That is working and tested, but it is hard to get the STM32s and the soldering is somewhat technical and one cannot order xESC pre-assembled (from e.g. JLCPCB) due to parts sitting on both sides of the PCB. But you can go ahead and build those now.&lt;br /&gt;
#A new version, simpler and cheaper, and based on the RP2040 chip. That is currently (2022-05-01) under final revision and should be available ca. medio May. That should be possible to order assembled from JLCPCB, once ready. So you might want to wait for that.&lt;br /&gt;
&lt;br /&gt;
===Base station with the base RTK GPS module===&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
===Charging Station ===&lt;br /&gt;
&lt;br /&gt;
=====Get a CC/CV module=====&lt;br /&gt;
This is currently needed to fix the charging station provided by Yard Force due to incompatibilities with the replaced main-board. It should be possible to fix this issue, but right now, it is necessary. See [[Building the Mower]]  for where to get it.&lt;br /&gt;
&lt;br /&gt;
====Upgrade the Charging Station ====&lt;br /&gt;
[TODO] @c.ez : Need info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=107</id>
		<title>Building the Mower</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=107"/>
		<updated>2022-05-28T13:00:34Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Bill OF Materials */ added RPI Pico&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMower Building guide!&lt;br /&gt;
&lt;br /&gt;
Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
Below you can find an overview of the major parts and components in the OpenMower.&lt;br /&gt;
&lt;br /&gt;
There is a also another page with a [[Builder Road Map|&#039;&#039;&#039;Builder Road Map&#039;&#039;&#039;]] that gives guide to how to go about building your own OpenMower project.&lt;br /&gt;
&lt;br /&gt;
== Bill OF Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Open Mower Bill of Materials&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description &lt;br /&gt;
!Optional!! Availability !! Quantity Required !! Source Link 1 !! Alternate Source&lt;br /&gt;
|-&lt;br /&gt;
| Mower (Yardforce Classic 500) || Base building block &lt;br /&gt;
| || Off the shelf || 1 ||https://amzn.to/3NWgIxk&lt;br /&gt;
|  &#039;&#039;&#039;Note:&#039;&#039;&#039; Earlier, we had a reference to myrobotcenter. However, they have gone into reconstruction, so be aware of that vendor!&lt;br /&gt;
|-&lt;br /&gt;
| OpenMower Mainboard || The core of the new electronics. &lt;br /&gt;
| || Custom || 1 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| xESC || Motor drivers &lt;br /&gt;
| || Custom || 3 || WIP  ||  WIP&lt;br /&gt;
|-&lt;br /&gt;
| Raspebrry Pi 4 || The brain of the robot. Also used to send RTK correction data from the base station.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the base station the Raspberry Pi can be any model with Ethernet and USB, for the robot we need the Raspberry Pi 4 with at least 4 GB of RAM.&lt;br /&gt;
| || Off the shelf || 2 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Ardusimple RTK2B GPS || Positioning system for the bot &lt;br /&gt;
| || Off the shelf || 2 || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi Pico|| Microcontroller talking to peripherals, soldered to the OpenMower mainboard&lt;br /&gt;
| ||Off the shelf||1||Widely available||&lt;br /&gt;
|-&lt;br /&gt;
|3D printed brackets||To hold the GPS inside the bot&lt;br /&gt;
| ||Custom||1||https://www.printables.com/fr/model/175826-openmower-gps-mount-for-yardforce-classic-500&amp;lt;nowiki/&amp;gt;||WIP&lt;br /&gt;
|-&lt;br /&gt;
|SMA Angle Adapter&lt;br /&gt;
|Needed to connect the GPS without bending the wire too much&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3K913b1&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|CC/CV Step Down module&lt;br /&gt;
| As charger for the docking station&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3NUdRVL&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|Docking Station Adapter PCB&lt;br /&gt;
|A PCB to hold the module in place.&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
| WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|GPS PCB&lt;br /&gt;
| A ground plane PCB to improve GPS reception&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|USB Angle Adapter&lt;br /&gt;
|If you want to use the Classic 500&#039;s USB port&lt;br /&gt;
|YES&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3ukNAIj&lt;br /&gt;
|WIP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building the bot==&lt;br /&gt;
&lt;br /&gt;
We are working on providing step by step instructions on how to build the bot. At the moment, we only have Clemens&#039;s video:&lt;br /&gt;
https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
==Setup and test==&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=FAQ&amp;diff=106</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=FAQ&amp;diff=106"/>
		<updated>2022-05-28T09:59:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Where can I buy the Yard Force 500? */ Note on myrobotcenter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GENERAL ==&lt;br /&gt;
&lt;br /&gt;
==== What is OpenMower? ====&lt;br /&gt;
OpenMower is a project that modifies an existing commercial Lawn mower robot (currently the Yard Force 500) with better steering electronics to provide, among other things, GPS navigation and optimized mowing paths. See the intro video here: https://www.youtube.com/watch?v=BSF04i3zNGw&lt;br /&gt;
&lt;br /&gt;
==== Can I buy an assembled OpenMower or a kit? ====&lt;br /&gt;
No, at present it is a DIY yourself project that will require effort and technical skill on your part. But there is a very active community, so help is available.&lt;br /&gt;
&lt;br /&gt;
==== How much does it cost? ====&lt;br /&gt;
Approx €350 for the mower + €400 for RTK GPS + €100 (yeah, semiconductor shortage..) for a Raspberry Pi + €200 for custom hardware.&lt;br /&gt;
&lt;br /&gt;
==== Who created OpenMower? ====&lt;br /&gt;
Clemens Elflein, known as @c.ez in the project&#039;s Discord (https://discord.com/channels/958476543846412329/958476543846412331) is the designer and creator of OpenMower. If you like what he is doing, please support him on [https://www.patreon.com/ClemensElflein/posts Patreon] &lt;br /&gt;
&lt;br /&gt;
==== What is the current stage of the project ====&lt;br /&gt;
The OpenMower is running in prototype at @c.ez. The mainboard and ESC work fine, just the STM32 for the ESCs are currently expensive.&lt;br /&gt;
Therefore we&#039;re working on a cheaper motor controller alternative. A group of early builders are buying parts and getting ready to “co-build” with @c.ez to test and validate the design.&lt;br /&gt;
&lt;br /&gt;
==== Where can I find more information? ====&lt;br /&gt;
The entry points for more information are:&lt;br /&gt;
&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/958476543846412331 The Discord for the project]&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/958476543846412332 Annoncements]&lt;br /&gt;
* This FAQ&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/964895268132757514 Important links to GitHub, the YouTube channel etc.]&lt;br /&gt;
&lt;br /&gt;
==== What license is OpenMower based on? ====&lt;br /&gt;
The license is “Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License”, pls. see here: https://creativecommons.org/licenses/by-nc-sa/4.0/&lt;br /&gt;
&lt;br /&gt;
== BUILDING AN OPENMOWER YOURSELF ==&lt;br /&gt;
&lt;br /&gt;
====What skills do I need to build one?====&lt;br /&gt;
&lt;br /&gt;
* Taking hardware apart and putting it together again&lt;br /&gt;
* Buying parts&lt;br /&gt;
* Soldering, in particular SMD techniques for making the main PCB&lt;br /&gt;
* Electronics, getting Linux and ROS on a Raspberry Pi, probably installing some packages etc.&lt;br /&gt;
* Debugging, patience, tech creativity, joy in participating&lt;br /&gt;
&lt;br /&gt;
====What should I do if I want to build an OpenMower?====&lt;br /&gt;
Remember, we are very early stage, so don’t expect finished build instructions, rather be prepared to figure out quite a bit of stuff yourself (with the help of the community).&lt;br /&gt;
That said, head to the #open-mower-builds in the Discord and be part of an exciting activity.&lt;br /&gt;
&lt;br /&gt;
====What can I do right now if I want to build?====&lt;br /&gt;
Start getting parts! Look at the preliminary BOM in https://wiki.openmower.de/index.php?title=Building_the_Mower and start getting the big chunks, like the YardForce 500, Raspberry Pis, GPS RTK modules etc.&lt;br /&gt;
&lt;br /&gt;
Start following the #open-mower-builds Discord channel here&lt;br /&gt;
&lt;br /&gt;
====Should I order a PCB for the main board right now?====&lt;br /&gt;
Not yet. @c.ez is currently awaiting a shipment of rev 0.9.1.beta of the main board. Once he has validated that, we should be able to start ordering.&lt;br /&gt;
&lt;br /&gt;
====Is there a step-by-step instruction?====&lt;br /&gt;
Not yet. @c.ez  is working on it. &lt;br /&gt;
&lt;br /&gt;
====Is there a recommended place to buy parts?====&lt;br /&gt;
Unfortunately, no. Best EU suggestions are Farnell, Mouser, Digikey.&lt;br /&gt;
&lt;br /&gt;
If anyone has better suggestions, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
&lt;br /&gt;
====Where do I buy Raspberry Pis?====&lt;br /&gt;
RPIs have a serious world-wide shortage at the moment. You may check https://rpilocator.com/ if they point to anywhere that has supply.&lt;br /&gt;
&lt;br /&gt;
If you find EU vendors with supply, pls. share in #open-mower-builds in the Discord.&lt;br /&gt;
== OPENMOWER TECH - GENERAL ==&lt;br /&gt;
&lt;br /&gt;
====Can I use a different mower than the YardForce 500?====&lt;br /&gt;
The project is designed for the YF500, so the immediate answer is no.&lt;br /&gt;
The project is solely focused on making the YF500 work at the moment.&lt;br /&gt;
However, YF500 seems to be one branding of a Chinese robot that appears under other names, too. So likely, we’ll discover that other brands (and also other models of Yard Force) can work. Also some builders in the Discord are looking into robots from other manufacturers to see if the core OpenMower tech could be applied to those. Check #mower-dissection if you want to follow or participate. But applying to other brands will likely not happen before the YF500 based OpenMower seems to run well. &lt;br /&gt;
&lt;br /&gt;
It is very likely that you can hack a solution for another mower than the YF500 &#039;&#039;&#039;if you have the appropriate hardware skills and understand the YF500 implementation in great detail&#039;&#039;&#039;. But if you want to have the support of the main project, be aware that it is focused on the YF500 for now. &lt;br /&gt;
&lt;br /&gt;
====Where can I buy the Yard Force 500?====&lt;br /&gt;
&lt;br /&gt;
* Amazon.de.&lt;br /&gt;
*Beware of myrobotcenter - they seem to have gone bankrupt.&lt;br /&gt;
&lt;br /&gt;
If you find other good vendors, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
====Is Yard Force 500 available in the US?====&lt;br /&gt;
It seems not directly. You may try to import it from Amazon in the EU.  Those that have it confirm that it operates on  100-240 V~, 50/60 Hz, 56 W.&lt;br /&gt;
&lt;br /&gt;
If you find a consistent way to obtain a YF500 or a compatible mower in the US, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
&lt;br /&gt;
====What is special about the OpenMower?====&lt;br /&gt;
&lt;br /&gt;
* OpenMower utilizes two GPS RTK units (one on the Mower, the other in a fixed place) to allow OpenMower to have centimeter-precise location data.&lt;br /&gt;
* That means that you can train OpenMower on your lawn edge and it can run without a boundary wire. And you can train it on several lawn segments that it can then roam between.&lt;br /&gt;
* The exact location info allows OpenMower to cut along an efficient planned path rather than move chaotically around like almost every commercial mower out there.&lt;br /&gt;
* You build it yourself and all the soft- and hardware is open source, so if you have the skills, you can mod it further.&lt;br /&gt;
&lt;br /&gt;
==== What technological platforms is OpenMower based on? ====&lt;br /&gt;
&lt;br /&gt;
* The Mower&lt;br /&gt;
** [https://www.raspberrypi.org/ Raspberry Pi SBC] version 4 running Linux and [https://www.ros.org/ ROS 1] for the robotics; mapping and navigation etc.&lt;br /&gt;
** [https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ GPS RTK module] communicating with a fixed GPS RTK module to provide cm accuracy&lt;br /&gt;
** [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pi Pico] (microcontroller) to operate sensors such as the IMU, battery voltage &amp;amp; charge current, &amp;quot;stop&amp;quot; button, lift sensor in front wheels etc...&lt;br /&gt;
* The GPS base station&lt;br /&gt;
** GPS RTK module for providing a point of reference to provide cm accuracy in conjunction with the module on the mower&lt;br /&gt;
&lt;br /&gt;
== WHAT ABOUT MOWERS THAT ARE NOT YARD FORCE 500? ==&lt;br /&gt;
&lt;br /&gt;
====ArduMower https://www.ardumower.de/&amp;lt;nowiki/&amp;gt;====&lt;br /&gt;
ArduMower is a slightly more mature but also more closed project, also using RTK GPS and no wire. You can get both an assembled mower and a full kit.&lt;br /&gt;
&lt;br /&gt;
As @c.ez# writes, it depends on your preference: &amp;quot;So basically: If you&#039;re looking to build an robotic mower as fast as possible, I&#039;d recommend you to go with the Ardumower. If you&#039;re in for the tech, I recommend you to follow this project instead (!!obviously biased opinion here!!)&amp;quot;. See his full post here: https://discord.com/channels/958476543846412329/961804411112394842/963271459357204560&lt;br /&gt;
&lt;br /&gt;
====Navimow https://navimow.segway.com/&amp;lt;nowiki/&amp;gt;====&lt;br /&gt;
Navimow is a new system that seems to be still not quite launched on the market (as per 2022-04-19). It looks to be quite full-featured and should offer a commercial out-of-the box solution with app and many features. Price point seems to be €1.300.&lt;br /&gt;
&lt;br /&gt;
==== ReP_AL mowers https://repalmakershop.com/ ====&lt;br /&gt;
ReP_AL has a mower that that you build yourself, based on a 3D print design that you can print yourself or buy from them. You buy the kit of all parts. They say &amp;quot;Fully autonomous robot lawn mower with TFT Touchscreen and Smartphone APP.  The mower project includes the mower itself a boundary wire control station, smartphone APP, TFT Touchscreen interface and an optional charging station.&amp;quot; The mover control is Arduino based and the software is open source. There is some indications that they are moving towards GPS RTK.&lt;br /&gt;
&lt;br /&gt;
====What do we know about the feasibility of doing OpenMower on other mowers?====&lt;br /&gt;
In the [https://discord.com/channels/958476543846412329/960885921174130758 #mower-dissection channel on the Discord], members are taking apart other brands/models from Yard Force 500 to assess the viability of applying the OpenMower platform to them. There is also a Google Sheet with collected notes and observations here: https://docs.google.com/spreadsheets/d/1BX0-KEs5v-VED8-RA4BLE-wRdXHtlmcKy4n9K5vJVAA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Ask @tinker0436 for edit permission if you want to contribute.&lt;br /&gt;
====A note on other mowers and future direction====&lt;br /&gt;
&lt;br /&gt;
It is likely that in a later version, the OpenMower platform could be split in &amp;quot;core&amp;quot; and &amp;quot;specific mower&amp;quot; parts so that many mowers could be supported and it would be easy to hack OpenMower onto your mower. But at the current stage, the project is focused on realizing a working beta on the Yard Force 500, There are already individual builders that are experimentally trying to adapt OpenMower to their owen mower platforms.&lt;br /&gt;
&lt;br /&gt;
== About the Yard Force 500 ==&lt;br /&gt;
&lt;br /&gt;
==== Can the YF500 be made to mow more than 500 square meters? ====&lt;br /&gt;
First: The area that the producers report are highly approximate. The reason being that traditional robotic mowers cut at random, so in a given time, they eventually cover the entire lawn more or less intensively. Hence, it is all approximate. Many owners of the traditional robots cover more area than the robots are made out for, simply by having them run a lot over a week, thus with the many hours of mowing per week, covering an area larger than specified for a given mower.&lt;br /&gt;
&lt;br /&gt;
That said, it is quite likely that OpenMower on YF500 has more direct capacity than 500 square meters - since it mows systematically and covers every bit of lawn only once. We still have no reports on how many square meters the YF500 can cover on one charge, but as we start having actual OpenMowers out there, we can report on that. &lt;br /&gt;
&lt;br /&gt;
We might later set up the software to have the mower return and pick up again where it left off upon an empty battery - but that is not implemented yet. It should be doable in software, though, and thus be able to increase the area that it is possible to cover.&lt;br /&gt;
&lt;br /&gt;
Lastly, there seems to be extra physical space for more battery in the YF500 &#039;&#039;under&#039;&#039; the battery pack, but it has not been investigated yet. Be aware, that it takes knowledge to work with the batteries. You should know what you are doing, since the batteries contain a lot of power and may explode or combust if handled incorrectly.&lt;br /&gt;
&lt;br /&gt;
== OPENMOWER TECH - SPECIFICS ==&lt;br /&gt;
&lt;br /&gt;
=== RTK GPS ===&lt;br /&gt;
&lt;br /&gt;
==== Which RTK GPS modules are used in the basic OpenMower design? ====&lt;br /&gt;
These ones: https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
&lt;br /&gt;
==== How many RTK GPS modules are needed for OpenMower? ====&lt;br /&gt;
In the actual phase 1 design, 2 are needed, one at base and one on the mower. The one on the mower is mandatory to measure exact position. The one at base provides reference. Without the reference, the exact location of the mower can not be determined. See a good explanation of this here: https://www.ardusimple.com/rtk-explained/&lt;br /&gt;
&lt;br /&gt;
The reference may - possibly - be provided instead by publicly available servers that can provide local correction data. One of these solutions is NTRIP. Using such a source, it should be possible to not have the RTK GPS module on the base, but instead subscribe to the correction signal from the internet. Two notes regarding that: 1) The current design does not have this out of the box, so you would have to modify the ROS code yourself for this setup. And 2) if the Internet-based correction signal becomes unavailable, your mower will lose cm-precise location and cannot navigate. With the basic design with two RTK modules, that is not a problem.&lt;br /&gt;
&lt;br /&gt;
==== How do the two RTK GPS modules communicate with each other - what are the options? ====&lt;br /&gt;
The original OpenMower implementation has a separate process running which receives the RTK corrections from an NTRIP server via WiFi and redirects them to the GPS board. The IP is set to the base station in the local network, you can update it to an external service provider though.&lt;br /&gt;
&lt;br /&gt;
This has the drawback, that you constantly need to be connected to the WiFi.&lt;br /&gt;
&lt;br /&gt;
Alternatively, the ArduSimple board has a slot where you can plug an external radio as direct bridge between the robot and the base station for extended range. ArduSimple offers multiple modules for this and they will all work plug and play with the OpenMower, since the OpenMower expects corrected data and does not care how the GPS receives the corrections. If you are using this though, you might need to edit your GPS configuration (see ArduSimple manual) and disable the NTRIP receiver process in ROS.&lt;br /&gt;
&lt;br /&gt;
== Maintenance of this FAQ ==&lt;br /&gt;
This FAQ is maintained by @tinker0436 &lt;br /&gt;
&lt;br /&gt;
It is a work in progress. If you have additional questions or comments or find stuff missing, use the Discord #open-mower channel and tag a @Mod so that we get a ping. Comments and suggestions are very welcome!&lt;br /&gt;
&lt;br /&gt;
====Disclaimer====&lt;br /&gt;
This FAQ 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.&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=FAQ&amp;diff=105</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=FAQ&amp;diff=105"/>
		<updated>2022-05-27T05:37:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Can I use a different mower than the YardForce 500? */  extra note on other mowers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GENERAL ==&lt;br /&gt;
&lt;br /&gt;
==== What is OpenMower? ====&lt;br /&gt;
OpenMower is a project that modifies an existing commercial Lawn mower robot (currently the Yard Force 500) with better steering electronics to provide, among other things, GPS navigation and optimized mowing paths. See the intro video here: https://www.youtube.com/watch?v=BSF04i3zNGw&lt;br /&gt;
&lt;br /&gt;
==== Can I buy an assembled OpenMower or a kit? ====&lt;br /&gt;
No, at present it is a DIY yourself project that will require effort and technical skill on your part. But there is a very active community, so help is available.&lt;br /&gt;
&lt;br /&gt;
==== How much does it cost? ====&lt;br /&gt;
Approx €350 for the mower + €400 for RTK GPS + €100 (yeah, semiconductor shortage..) for a Raspberry Pi + €200 for custom hardware.&lt;br /&gt;
&lt;br /&gt;
==== Who created OpenMower? ====&lt;br /&gt;
Clemens Elflein, known as @c.ez in the project&#039;s Discord (https://discord.com/channels/958476543846412329/958476543846412331) is the designer and creator of OpenMower. If you like what he is doing, please support him on [https://www.patreon.com/ClemensElflein/posts Patreon] &lt;br /&gt;
&lt;br /&gt;
==== What is the current stage of the project ====&lt;br /&gt;
The OpenMower is running in prototype at @c.ez. The mainboard and ESC work fine, just the STM32 for the ESCs are currently expensive.&lt;br /&gt;
Therefore we&#039;re working on a cheaper motor controller alternative. A group of early builders are buying parts and getting ready to “co-build” with @c.ez to test and validate the design.&lt;br /&gt;
&lt;br /&gt;
==== Where can I find more information? ====&lt;br /&gt;
The entry points for more information are:&lt;br /&gt;
&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/958476543846412331 The Discord for the project]&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/958476543846412332 Annoncements]&lt;br /&gt;
* This FAQ&lt;br /&gt;
* [https://discord.com/channels/958476543846412329/964895268132757514 Important links to GitHub, the YouTube channel etc.]&lt;br /&gt;
&lt;br /&gt;
==== What license is OpenMower based on? ====&lt;br /&gt;
The license is “Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License”, pls. see here: https://creativecommons.org/licenses/by-nc-sa/4.0/&lt;br /&gt;
&lt;br /&gt;
== BUILDING AN OPENMOWER YOURSELF ==&lt;br /&gt;
&lt;br /&gt;
====What skills do I need to build one?====&lt;br /&gt;
&lt;br /&gt;
* Taking hardware apart and putting it together again&lt;br /&gt;
* Buying parts&lt;br /&gt;
* Soldering, in particular SMD techniques for making the main PCB&lt;br /&gt;
* Electronics, getting Linux and ROS on a Raspberry Pi, probably installing some packages etc.&lt;br /&gt;
* Debugging, patience, tech creativity, joy in participating&lt;br /&gt;
&lt;br /&gt;
====What should I do if I want to build an OpenMower?====&lt;br /&gt;
Remember, we are very early stage, so don’t expect finished build instructions, rather be prepared to figure out quite a bit of stuff yourself (with the help of the community).&lt;br /&gt;
That said, head to the #open-mower-builds in the Discord and be part of an exciting activity.&lt;br /&gt;
&lt;br /&gt;
====What can I do right now if I want to build?====&lt;br /&gt;
Start getting parts! Look at the preliminary BOM in https://wiki.openmower.de/index.php?title=Building_the_Mower and start getting the big chunks, like the YardForce 500, Raspberry Pis, GPS RTK modules etc.&lt;br /&gt;
&lt;br /&gt;
Start following the #open-mower-builds Discord channel here&lt;br /&gt;
&lt;br /&gt;
====Should I order a PCB for the main board right now?====&lt;br /&gt;
Not yet. @c.ez is currently awaiting a shipment of rev 0.9.1.beta of the main board. Once he has validated that, we should be able to start ordering.&lt;br /&gt;
&lt;br /&gt;
====Is there a step-by-step instruction?====&lt;br /&gt;
Not yet. @c.ez  is working on it. &lt;br /&gt;
&lt;br /&gt;
====Is there a recommended place to buy parts?====&lt;br /&gt;
Unfortunately, no. Best EU suggestions are Farnell, Mouser, Digikey.&lt;br /&gt;
&lt;br /&gt;
If anyone has better suggestions, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
&lt;br /&gt;
====Where do I buy Raspberry Pis?====&lt;br /&gt;
RPIs have a serious world-wide shortage at the moment. You may check https://rpilocator.com/ if they point to anywhere that has supply.&lt;br /&gt;
&lt;br /&gt;
If you find EU vendors with supply, pls. share in #open-mower-builds in the Discord.&lt;br /&gt;
== OPENMOWER TECH - GENERAL ==&lt;br /&gt;
&lt;br /&gt;
====Can I use a different mower than the YardForce 500?====&lt;br /&gt;
The project is designed for the YF500, so the immediate answer is no.&lt;br /&gt;
The project is solely focused on making the YF500 work at the moment.&lt;br /&gt;
However, YF500 seems to be one branding of a Chinese robot that appears under other names, too. So likely, we’ll discover that other brands (and also other models of Yard Force) can work. Also some builders in the Discord are looking into robots from other manufacturers to see if the core OpenMower tech could be applied to those. Check #mower-dissection if you want to follow or participate. But applying to other brands will likely not happen before the YF500 based OpenMower seems to run well. &lt;br /&gt;
&lt;br /&gt;
It is very likely that you can hack a solution for another mower than the YF500 &#039;&#039;&#039;if you have the appropriate hardware skills and understand the YF500 implementation in great detail&#039;&#039;&#039;. But if you want to have the support of the main project, be aware that it is focused on the YF500 for now. &lt;br /&gt;
&lt;br /&gt;
====Where can I buy the Yard Force 500?====&lt;br /&gt;
&lt;br /&gt;
* https://www.myrobotcenter.eu/en/yardforce-classic-500 Note: They promise 48 hrs to delivery, but several builders have waited 7+ days and, so beware.&lt;br /&gt;
* Amazon.de. &lt;br /&gt;
&lt;br /&gt;
If you find other good vendors, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
====Is Yard Force 500 available in the US?====&lt;br /&gt;
It seems not directly. You may try to import it from Amazon in the EU.  Those that have it confirm that it operates on  100-240 V~, 50/60 Hz, 56 W.&lt;br /&gt;
&lt;br /&gt;
If you find a consistent way to obtain a YF500 or a compatible mower in the US, pls. share in #open-mower-builds on the Discord and it will be included here.&lt;br /&gt;
&lt;br /&gt;
====What is special about the OpenMower?====&lt;br /&gt;
&lt;br /&gt;
* OpenMower utilizes two GPS RTK units (one on the Mower, the other in a fixed place) to allow OpenMower to have centimeter-precise location data.&lt;br /&gt;
* That means that you can train OpenMower on your lawn edge and it can run without a boundary wire. And you can train it on several lawn segments that it can then roam between.&lt;br /&gt;
* The exact location info allows OpenMower to cut along an efficient planned path rather than move chaotically around like almost every commercial mower out there.&lt;br /&gt;
* You build it yourself and all the soft- and hardware is open source, so if you have the skills, you can mod it further.&lt;br /&gt;
&lt;br /&gt;
==== What technological platforms is OpenMower based on? ====&lt;br /&gt;
&lt;br /&gt;
* The Mower&lt;br /&gt;
** [https://www.raspberrypi.org/ Raspberry Pi SBC] version 4 running Linux and [https://www.ros.org/ ROS 1] for the robotics; mapping and navigation etc.&lt;br /&gt;
** [https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ GPS RTK module] communicating with a fixed GPS RTK module to provide cm accuracy&lt;br /&gt;
** [https://www.raspberrypi.com/products/raspberry-pi-pico/ Raspberry Pi Pico] (microcontroller) to operate sensors such as the IMU, battery voltage &amp;amp; charge current, &amp;quot;stop&amp;quot; button, lift sensor in front wheels etc...&lt;br /&gt;
* The GPS base station&lt;br /&gt;
** GPS RTK module for providing a point of reference to provide cm accuracy in conjunction with the module on the mower&lt;br /&gt;
&lt;br /&gt;
== WHAT ABOUT MOWERS THAT ARE NOT YARD FORCE 500? ==&lt;br /&gt;
&lt;br /&gt;
====ArduMower https://www.ardumower.de/&amp;lt;nowiki/&amp;gt;====&lt;br /&gt;
ArduMower is a slightly more mature but also more closed project, also using RTK GPS and no wire. You can get both an assembled mower and a full kit.&lt;br /&gt;
&lt;br /&gt;
As @c.ez# writes, it depends on your preference: &amp;quot;So basically: If you&#039;re looking to build an robotic mower as fast as possible, I&#039;d recommend you to go with the Ardumower. If you&#039;re in for the tech, I recommend you to follow this project instead (!!obviously biased opinion here!!)&amp;quot;. See his full post here: https://discord.com/channels/958476543846412329/961804411112394842/963271459357204560&lt;br /&gt;
&lt;br /&gt;
====Navimow https://navimow.segway.com/&amp;lt;nowiki/&amp;gt;====&lt;br /&gt;
Navimow is a new system that seems to be still not quite launched on the market (as per 2022-04-19). It looks to be quite full-featured and should offer a commercial out-of-the box solution with app and many features. Price point seems to be €1.300.&lt;br /&gt;
&lt;br /&gt;
==== ReP_AL mowers https://repalmakershop.com/ ====&lt;br /&gt;
ReP_AL has a mower that that you build yourself, based on a 3D print design that you can print yourself or buy from them. You buy the kit of all parts. They say &amp;quot;Fully autonomous robot lawn mower with TFT Touchscreen and Smartphone APP.  The mower project includes the mower itself a boundary wire control station, smartphone APP, TFT Touchscreen interface and an optional charging station.&amp;quot; The mover control is Arduino based and the software is open source. There is some indications that they are moving towards GPS RTK.&lt;br /&gt;
&lt;br /&gt;
====What do we know about the feasibility of doing OpenMower on other mowers?====&lt;br /&gt;
In the [https://discord.com/channels/958476543846412329/960885921174130758 #mower-dissection channel on the Discord], members are taking apart other brands/models from Yard Force 500 to assess the viability of applying the OpenMower platform to them. There is also a Google Sheet with collected notes and observations here: https://docs.google.com/spreadsheets/d/1BX0-KEs5v-VED8-RA4BLE-wRdXHtlmcKy4n9K5vJVAA/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Ask @tinker0436 for edit permission if you want to contribute.&lt;br /&gt;
====A note on other mowers and future direction====&lt;br /&gt;
&lt;br /&gt;
It is likely that in a later version, the OpenMower platform could be split in &amp;quot;core&amp;quot; and &amp;quot;specific mower&amp;quot; parts so that many mowers could be supported and it would be easy to hack OpenMower onto your mower. But at the current stage, the project is focused on realizing a working beta on the Yard Force 500, There are already individual builders that are experimentally trying to adapt OpenMower to their owen mower platforms.&lt;br /&gt;
&lt;br /&gt;
== About the Yard Force 500 ==&lt;br /&gt;
&lt;br /&gt;
==== Can the YF500 be made to mow more than 500 square meters? ====&lt;br /&gt;
First: The area that the producers report are highly approximate. The reason being that traditional robotic mowers cut at random, so in a given time, they eventually cover the entire lawn more or less intensively. Hence, it is all approximate. Many owners of the traditional robots cover more area than the robots are made out for, simply by having them run a lot over a week, thus with the many hours of mowing per week, covering an area larger than specified for a given mower.&lt;br /&gt;
&lt;br /&gt;
That said, it is quite likely that OpenMower on YF500 has more direct capacity than 500 square meters - since it mows systematically and covers every bit of lawn only once. We still have no reports on how many square meters the YF500 can cover on one charge, but as we start having actual OpenMowers out there, we can report on that. &lt;br /&gt;
&lt;br /&gt;
We might later set up the software to have the mower return and pick up again where it left off upon an empty battery - but that is not implemented yet. It should be doable in software, though, and thus be able to increase the area that it is possible to cover.&lt;br /&gt;
&lt;br /&gt;
Lastly, there seems to be extra physical space for more battery in the YF500 &#039;&#039;under&#039;&#039; the battery pack, but it has not been investigated yet. Be aware, that it takes knowledge to work with the batteries. You should know what you are doing, since the batteries contain a lot of power and may explode or combust if handled incorrectly.&lt;br /&gt;
&lt;br /&gt;
== OPENMOWER TECH - SPECIFICS ==&lt;br /&gt;
&lt;br /&gt;
=== RTK GPS ===&lt;br /&gt;
&lt;br /&gt;
==== Which RTK GPS modules are used in the basic OpenMower design? ====&lt;br /&gt;
These ones: https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
&lt;br /&gt;
==== How many RTK GPS modules are needed for OpenMower? ====&lt;br /&gt;
In the actual phase 1 design, 2 are needed, one at base and one on the mower. The one on the mower is mandatory to measure exact position. The one at base provides reference. Without the reference, the exact location of the mower can not be determined. See a good explanation of this here: https://www.ardusimple.com/rtk-explained/&lt;br /&gt;
&lt;br /&gt;
The reference may - possibly - be provided instead by publicly available servers that can provide local correction data. One of these solutions is NTRIP. Using such a source, it should be possible to not have the RTK GPS module on the base, but instead subscribe to the correction signal from the internet. Two notes regarding that: 1) The current design does not have this out of the box, so you would have to modify the ROS code yourself for this setup. And 2) if the Internet-based correction signal becomes unavailable, your mower will lose cm-precise location and cannot navigate. With the basic design with two RTK modules, that is not a problem.&lt;br /&gt;
&lt;br /&gt;
==== How do the two RTK GPS modules communicate with each other - what are the options? ====&lt;br /&gt;
The original OpenMower implementation has a separate process running which receives the RTK corrections from an NTRIP server via WiFi and redirects them to the GPS board. The IP is set to the base station in the local network, you can update it to an external service provider though.&lt;br /&gt;
&lt;br /&gt;
This has the drawback, that you constantly need to be connected to the WiFi.&lt;br /&gt;
&lt;br /&gt;
Alternatively, the ArduSimple board has a slot where you can plug an external radio as direct bridge between the robot and the base station for extended range. ArduSimple offers multiple modules for this and they will all work plug and play with the OpenMower, since the OpenMower expects corrected data and does not care how the GPS receives the corrections. If you are using this though, you might need to edit your GPS configuration (see ArduSimple manual) and disable the NTRIP receiver process in ROS.&lt;br /&gt;
&lt;br /&gt;
== Maintenance of this FAQ ==&lt;br /&gt;
This FAQ is maintained by @tinker0436 &lt;br /&gt;
&lt;br /&gt;
It is a work in progress. If you have additional questions or comments or find stuff missing, use the Discord #open-mower channel and tag a @Mod so that we get a ping. Comments and suggestions are very welcome!&lt;br /&gt;
&lt;br /&gt;
====Disclaimer====&lt;br /&gt;
This FAQ 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.&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Simple_set-up_of_a_RTK_base_station&amp;diff=104</id>
		<title>Simple set-up of a RTK base station</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Simple_set-up_of_a_RTK_base_station&amp;diff=104"/>
		<updated>2022-05-19T07:03:26Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* What to do */ debugging and good config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a very simple set-up of a working RTK-GPS base station for the OpenMower project.&lt;br /&gt;
&lt;br /&gt;
The purpose is to make base RTK GPS station that can broadcast base GPS RTK information on your local network to give OpenMower the reference data for accurate GPS localization.&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;
=== What you need ===&lt;br /&gt;
&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
* GPS RTK module (see [[Building the Mower]])&lt;br /&gt;
* Ethernet cable&lt;br /&gt;
* USB cable to connect Pi and GPS RTK module&lt;br /&gt;
&lt;br /&gt;
=== What to do ===&lt;br /&gt;
&lt;br /&gt;
* Install your Pi with the instructions here https://github.com/jancelin/pi-gen_RTKbase/releases/tag/BaseGNSS-RPi-2.3.1  (It is an installation of this project: https://github.com/Stefal/rtkbase).&lt;br /&gt;
** To begin with, you must install using an Ethernet cable&lt;br /&gt;
* Configure - @ow has a nice documentation of working settings - see image to the right&lt;br /&gt;
*You should be able to get the GUI on-screen and see the satellites going green&lt;br /&gt;
*If you do not see ANY signal in the GUI from the RTK module, you may have the wrong config in it. &lt;br /&gt;
**One that seems to be working is https://github.com/Stefal/rtkbase/blob/master/receiver_cfg/U-Blox_ZED-F9P_rtkbase.cfg&lt;br /&gt;
**You can send it to the RTK module by SSH&#039;ing to the Pi running the RTK base, cloning https://github.com/Stefal/rtkbase and running &amp;lt;code&amp;gt;rtkbase/tools/set_zed-f9p.sh /dev/ttyACM0 57600 rtkbase/receiver_cfg/U-Blox_ZED-F9P_rtkbase.cfg&amp;lt;/code&amp;gt; (optionally replace ttyACM0 with the correct device for you) [[File:Settings for RTK GPS base.png|thumb]]Info on how to SSH to the Pi running RTK base: https://github.com/jancelin/pi-gen_RTKbase/releases/tag/BaseGNSS-RPi-2.3.1&lt;br /&gt;
* That is really it&lt;br /&gt;
&lt;br /&gt;
=== Verifying base station NTRIP configuration ===&lt;br /&gt;
&lt;br /&gt;
If you want to ensure your base station is casting NTRIP information correctly, you can verify this using any other computer on the local network with the str2str (part of RTKLib) and gpsdecode (part of gpsd) commands.&lt;br /&gt;
&lt;br /&gt;
Connect to the NTRIP caster using the following command, this should output RTCM3 messages to the console:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;str2str -in ntrip://ntrip_user:ntrip_password@ntrip_host:ntrip_port/ntrip_mount | gpsdecode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replace the above with the following:&lt;br /&gt;
* ntrip_user = Local caster username&lt;br /&gt;
* ntrip_password = Local caster password&lt;br /&gt;
* ntrip_host = Local caster hostname or IP address&lt;br /&gt;
* ntrip_port = Local caster port&lt;br /&gt;
* ntrip_mount = Local caster mount name&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=103</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=103"/>
		<updated>2022-05-13T14:35:29Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: A note on Wifi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.4 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4 (or the latest LTS version of Ubuntu Server 20, it should probably work, since ROS Noetic is runnining on Ubuntu 20)&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recurse-submodules https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success&lt;br /&gt;
&lt;br /&gt;
=== A note on Wifi ===&lt;br /&gt;
The instructions here work for installing an Ubuntu 20 with Wifi enabled: https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/. However, it takes one or two boots &#039;&#039;before&#039;&#039; the Pi comes up on Wifi. So use a terminal or ssh for the first couple of boots.&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=101</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=101"/>
		<updated>2022-05-11T21:02:02Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.4 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4 (or the latest LTS version of Ubuntu Server 20, it should probably work, since ROS Noetic is runnining on Ubuntu 20)&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recursive https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=100</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=100"/>
		<updated>2022-05-11T21:00:47Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: Changed version of Ubuntu 20&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.4 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recursive https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=99</id>
		<title>Building the Mower</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Building_the_Mower&amp;diff=99"/>
		<updated>2022-05-11T17:50:17Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: Note on myrobotcenter going into reconstruction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the OpenMower Building guide!&lt;br /&gt;
&lt;br /&gt;
Note: This WIKI was only just started on 2022-04-22, but are actively working on filling it up and making a good documentation for the new builders out there!&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;
== Intro ==&lt;br /&gt;
Below you can find an overview of the major parts and components in the OpenMower.&lt;br /&gt;
&lt;br /&gt;
There is a also another page with a [[Builder Road Map|&#039;&#039;&#039;Builder Road Map&#039;&#039;&#039;]] that gives guide to how to go about building your own OpenMower project.&lt;br /&gt;
&lt;br /&gt;
== Bill OF Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Open Mower Bill of Materials&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description &lt;br /&gt;
!Optional!! Availability !! Quantity Required !! Source Link 1 !! Alternate Source&lt;br /&gt;
|-&lt;br /&gt;
| Mower (Yardforce Classic 500) || Base building block &lt;br /&gt;
| || Off the shelf || 1 ||https://amzn.to/3NWgIxk&lt;br /&gt;
|  &#039;&#039;&#039;Note:&#039;&#039;&#039; Earlier, we had a reference to myrobotcenter. However, they have gone into reconstruction, so be aware of that vendor!&lt;br /&gt;
|-&lt;br /&gt;
| OpenMower Mainboard || The core of the new electronics. &lt;br /&gt;
| || Custom || 1 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| xESC || Motor drivers &lt;br /&gt;
| || Custom || 3 || WIP  ||  WIP&lt;br /&gt;
|-&lt;br /&gt;
| Raspebrry Pi 4 || The brain of the robot. Also used to send RTK correction data from the base station.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the base station the Raspberry Pi can be any model with Ethernet and USB, for the robot we need the Raspberry Pi 4 with at least 4 GB of RAM.&lt;br /&gt;
| || Off the shelf || 2 || WIP || WIP&lt;br /&gt;
|-&lt;br /&gt;
| Ardusimple RTK2B GPS || Positioning system for the bot &lt;br /&gt;
| || Off the shelf || 2 || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/ || https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/&lt;br /&gt;
|-&lt;br /&gt;
| 3D printed brackets || To hold the GPS inside the bot &lt;br /&gt;
| || Custom || 1 || https://www.printables.com/fr/model/175826-openmower-gps-mount-for-yardforce-classic-500 || WIP&lt;br /&gt;
|-&lt;br /&gt;
|SMA Angle Adapter&lt;br /&gt;
|Needed to connect the GPS without bending the wire too much&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3K913b1&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|CC/CV Step Down module&lt;br /&gt;
|As charger for the docking station&lt;br /&gt;
|&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3NUdRVL&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|Docking Station Adapter PCB&lt;br /&gt;
|A PCB to hold the module in place.&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|GPS PCB&lt;br /&gt;
|A ground plane PCB to improve GPS reception&lt;br /&gt;
|&lt;br /&gt;
|Custom&lt;br /&gt;
|1&lt;br /&gt;
|WIP&lt;br /&gt;
|WIP&lt;br /&gt;
|-&lt;br /&gt;
|USB Angle Adapter&lt;br /&gt;
|If you want to use the Classic 500&#039;s USB port&lt;br /&gt;
|YES&lt;br /&gt;
|Off the shelf&lt;br /&gt;
|1&lt;br /&gt;
|https://amzn.to/3ukNAIj&lt;br /&gt;
|WIP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Building the bot ==&lt;br /&gt;
&lt;br /&gt;
We are working on providing step by step instructions on how to build the bot. At the moment, we only have Clemens&#039;s video:&lt;br /&gt;
https://www.youtube.com/watch?v=_bImqD-pQSA&lt;br /&gt;
&lt;br /&gt;
== Setup and test ==&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=97</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=97"/>
		<updated>2022-05-10T17:12:46Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower */ remove wrong line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.03 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recursive https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=96</id>
		<title>Setting up ROS on a Raspberry Pi (intended to be the Rover -- OpenMower)</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Setting_up_ROS_on_a_Raspberry_Pi_(intended_to_be_the_Rover_--_OpenMower)&amp;diff=96"/>
		<updated>2022-05-10T06:35:03Z</updated>

		<summary type="html">&lt;p&gt;Tinker0436: /* Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower */ minor fix, home dir path&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Steps to install Raspberry Pi 4 with Ubuntu 20, ROS 1 and OpenMower ==&lt;br /&gt;
&lt;br /&gt;
* Use this as guide https://x-tech.online/2022/01/installing-ros-noetic-on-a-headless-raspberry-pi-4-with-ubuntu-20-04/&lt;br /&gt;
** Use the Raspberry Pi official imager&lt;br /&gt;
** Use &#039;&#039;&#039;Ubuntu Server 20.04.03 LTS (RPI 3/4/400)&#039;&#039;&#039;, &#039;&#039;&#039;64 bit&#039;&#039;&#039; for the RPi4&lt;br /&gt;
**Follow the guide, doing upgrades before ROS install, sudo apt update, sudo apt upgrade&lt;br /&gt;
*To get the ROS environment right in all your bash terminals: &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;&lt;br /&gt;
*Log out and in again to have ROS sourced in bash&lt;br /&gt;
*Follow instructions in &amp;lt;code&amp;gt;https://github.com/ClemensElflein/OpenMower/tree/main/ROS&amp;lt;/code&amp;gt;&lt;br /&gt;
**Clone main repo, recursively &amp;lt;code&amp;gt;git clone --recursive https://github.com/ClemensElflein/OpenMower&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo apt install python3-rosdep&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;sudo rosdep init&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep update&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;cd ~/OpenMower/ROS/&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rosdep install --from-paths src --ignore-src -y&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;catkin_make&amp;lt;/code&amp;gt; to build OpenMower. &#039;&#039;&#039;Note:&#039;&#039;&#039; Due to a missing &amp;lt;code&amp;gt;dependency&amp;lt;/code&amp;gt;, you may need to do it 3-4 times before getting success&lt;/div&gt;</summary>
		<author><name>Tinker0436</name></author>
	</entry>
</feed>