Skip to content

makerspet/oomwoo-one

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oomwoo-one — ROS 2 robot description + Gazebo simulation

ROS 2 robot description and Gazebo simulation for oomwoo-one, the first OOMWOO open-source robot vacuum model.

Tutorials:

Reference robot vacuum cleaner top

Video: OOMWOO One Step-by-step Gazebo/ROS2 simulation tutorial

OOMWOO One Step-by-step Gazebo/ROS2 simulation tutorial

Package contents

  • urdf/ — xacro description of the ~349 mm round vacuum (body + LiDAR turret, diff-drive wheels, caster). Frames follow the Kaia.ai convention: base_footprint → base_link → base_scan.
  • config/ekf.yamlrobot_localization EKF that fuses /odom + /imu and publishes the odom → base_footprint transform (the bridge publishes the /odom topic but not this TF, which cartographer requires).
  • config/cartographer_lds_2d.lua, config/navigation.yaml, … — SLAM / Nav2 tuning.
  • config/gz_bridge.yaml, urdf/plugins.xacro — Gazebo simulation (diff-drive, odometry, gpu_lidar) — simulation does not use the bridge.
  • launch/bringup.launch.py — physical bring-up: bridge + robot_state_publisher + EKF.

Usage

Select the robot model (used by the shared Kaia.ai launch files):

kaia config robot.model oomwoo_one

Simulation (no robot needed)

ros2 launch kaiaai_gazebo world.launch.py
ros2 launch kaiaai_bringup navigation.launch.py use_sim_time:=true slam:=True
ros2 run kaiaai_teleop teleop_keyboard

Physical robot

The robot must be on the LAN running SangamIO (see the Proscenic root & setup tutorial for flashing/Wi-Fi).

ros2 launch oomwoo_one bringup.launch.py robot_ip:=<robot-ip>
ros2 launch kaiaai_bringup navigation.launch.py slam:=True
ros2 run kaiaai_teleop teleop_keyboard
ros2 run nav2_map_server map_saver_cli -f ~/maps/map

You can store the robot IP once instead of passing robot_ip:= every time:

kaia config robot.ip <robot-ip>
ros2 launch oomwoo_one bringup.launch.py

(Precedence: an explicit robot_ip:= wins, otherwise kaia config robot.ip, otherwise 192.168.1.143.)

Notes

  • URDF dimensions are approximate (~349 mm diameter, ~95 mm height, 0.233 m wheel base to match the bridge's odometry). Refine against measurements of your robot.
  • Vacuum-specific actuators (vacuum/brushes/water pump, LEDs) are exposed by the bridge via /set_actuator, /set_led, /set_lidar and the /actuator_cmd, /led_cmd topics.

License

Apache 2.0

About

Open-source vacuum cleaner, model One - ROS2 robot description package

Resources

License

Stars

17 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors