ROS Stack for the self-designed autonomous lawn mower of the University of Luebeck. We aim to design a fully autonomous lawn mower equipped with chlorophyll sensors developed at our Institute. We show that intelligent behavior with only limited sensing is possible.
- ROS Kinetic
- Gazebo V7.0 (comes with the full-Desktop Version of ROS Kinetic)
- Eigen3
- simulation_environment: Simulation Environment Package based on Gazebo for testing purposes
- interfaces: Package for interfaces between ROS and the sensors and actuators of the real robot, e.g. the chlorophyll sensors, the IMU, the motor
- localization: Package with localization algorithm such as a particle or a kalman filter
- mapping: Package for the mapping algorithm, where based on a wall following controller a pose graph is generated which is updated due to detected loop closures
- control: Control Package with different control algorithm, such as a PID Controller or a Wall Follower
-
Start by creating a catkin workspace folder and downloading the git repository
mkdir -p ~/mower_ws/src cd ~/mower_ws/src git clone https://github.com/NRottmann/AutonomousLawnMowerROS
-
Compile the catkin workspace
cd ~/mower_ws catkin_make
-
Run the mapping algorithm by first sourcing your packages and then starting the launch script
source devel/setup.bash roslaunch mapping mapping_simulation.launch
-
It should open then a Gazebo environment which shows the robot cycling along the boundary of the closed environment, similar to the picture below
The lawn mower robot properties are defined in the .yaml-file
AutonomousLawnMowerROS/simulation_environment/config/props.yaml
The properties define the structure of the robot as defined in the Figure below.