Skip to content

A driver for the neato robot vacuum (Tested on ROS2 foxy)

Notifications You must be signed in to change notification settings

bribribriambriguy/neatonav2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neatonav2

A driver for the neato robot vacuum (Tested on ROS2 foxy, most likely works on a lot of other ros2 distros but can not confirm)

please read raw

This package includes a driver and launch file for slam using the slam_toolbox package and navigation using the nav_bringup package

Prerequistes:

Neato with USB control capabilities

A USB cable that properly conects to the neato

Ubuntu 20.04 or 22.04 installed

ROS2 Foxy (20.04) or ROS2 Humble (recomended due to some issue with nav2) (22.04) installed

foxy install: https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html

humble install: ttps://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

Package Install:

mkdir -p ~/neato_ws/src

cd ~/neato_ws/src

git clone https://github.com/bribribriambriguy/neatonav2.git -b -devel

cd ..

colcon build

Use:

Connect to neato with USB cable

cd ~/neato_ws

source install/setup.bash

Know what port the neato is on ex. /dev/ttyACM0

run sudo chmod 666 /dev/<your_port_here> so you can give file permissions to neato usb port

Run Driver:

ros2 launch neatonav2 base_launch.py neato_port:=<your_port> (default /dev/ttyACM0)

Run SLAM:

ros2 launch neatonav2 slam_launch.py

Run Nav2 stack:

ros2 launch neatonav2 nav_launch.py

ps. slam_launch.py and nav_launch.py do not include base_launch.py because it is assumed that the base_launch.py will be run on a computer on the robot and slam_launch.py and nav_launch.py are assumed to be running on a remote computer so base_launch.py and slam_launch.py or nav_launch.py must be run separately

Info for people who want to have a computer on robot:

You can either run everything on the computer on the robot, or you can have a computer in the robot that just runs the base_launch.py and a remote computer that handles SLAM and nav2

Usally the computer running on the robot ex.RPI will have limited proscessing power for SLAM and navigation algoriths so it is recomended to have a remote computer do the heavy lifting

Setup for computer on robot: It is pretty much the same thing as described before to connect the computer on the robot to the neato, but to connect the two computers through ROS2 so they can comunicate you must change the ROS_MASTER_URI on the remote computer, to the computer on the robot or vice versa more info: http://wiki.ros.org/ROS/Tutorials/MultipleMachines

About

A driver for the neato robot vacuum (Tested on ROS2 foxy)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published