Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 1.91 KB

README.md

File metadata and controls

50 lines (32 loc) · 1.91 KB

Vacuum Bot

Purpose of this software

This ROS2 Foxy package is used to convert a random vacuum robot into an over-engineered futuristic vacuum robot.

Disclaimer

This project is under developpement and may change according to my ideas.

Installation & Contribute

To run this package you will need ROS 2 Foxy installed on your system. You may clone this repo into your src/ workspace's folder.

sudo apt install -y ros-humble-gazebo-ros-pkgs ros-humble-xacro ros-humble-slam-toolbox*

source /opt/ros/$ROS_DISTRO/setup.bash

cd ~
mkdir -p vacuum_ws/src
cd vacuum_ws/src
git clone https://github.com/EG-Julien/vacuum_bot.git
cd ../
colcon build --symlink-install
source install/setup.bash

ros2 launch vacuum_bot launch_sim.launch.py

# in another tab

rviz2

ros2 launch slam_toolbox online_async_launch.py params_file:=./src/vacuum_bot/config/mapper_params_online_async.yaml use_sime_time:=true

ros2 run teleop_twist_keyboard teleop_twist_keyboard

Now you can drive around the house to generate the map and save it. You have an Rviz configuration file template in config/robot.rviz.

If you now open RViz you should see the robot.

Note : It's possible that Gazebo can't find models. In this case, copy models' folder to vacuum_ws/install/vacuum_bot/share/vacuum_bot/models :

cp -r models ~/vacuum_ws/install/vacuum_bot/share/vacuum_bot

Note 2 : Gazebo is experiencing some weird issues. If you get this error : gzclient: /usr/include/boost/smart_ptr/shared_ptr.hpp:734:typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = gazebo::rendering::Camera; typename boost::detail::sp_member_access<T>::type gazebo::rendering::Camera*]: Assertion 'px != 0' failed., you should source /usr/share/gazebo/setup.sh.

Playing

Since you have launched the simulation you could control the robot by launching teleop : ros2 run teleop_twist_keyboard teleop_twist_keyboard.