RustBuster

RustBuster

This project uses ROS2 (Humble) to perform Autonomous Simultaneous Localization and Mapping (A-SLAM) using a Spot robot from Boston Dynamics. The project was named Rustbuster due to the fact that it was initially intended to perform corrosion inspection, in an offshore platform.

dog

System Hardware

  • Spot robot
  • RealSense Intel D455 (RGB-D and IMU)
  • Laptop
  • Ethernet cable (optional)

The intel d455 is used instead of spot’s, native cameras because it has a higher frame rate and IMU.
NOTE: It is possible to calculate Spot’s IMU using the odometry messages, but the method is slow and imprecise.

Installation

This system was developed and tested only in a Lenovo IdeaPad Gaming 3 15ARH05 laptop running Ubuntu 22.04.

Install dependencies from public repositories:

sudo apt update

# Boston Dynamics software
pip3 install bosdyn-client bosdyn-mission bosdyn-api bosdyn-core

# Ros related packages
sudo apt install -y \
ros-humble-nav2* \
ros-humble-imu-filter-madgwick* \
ros-humble-librealsense2* \
ros-humble-apriltag* \
ros-humble-usb-cam*     # (Optional)

⚠️ If RTAB-Map does not install correctly, download it from source and follow the installation instructions.

Clone repositories into ROS2 workspace:

mkdir -p ros2_ws/src && cd ros2_ws/src 
git clone https://github.com/Hakaino/RustBuster
git clone https://github.com/bdaiinstitute/spot_ros2.git
git clone https://github.com/robo-friends/m-explore-ros2
cd ..
rosdep install --from-paths src --ignore-src -r -y 

Setup Spot

drawing

Follow the tutorial Spot network setup.

AAU students I developed this project as a student at Aalborg University (AAU). \ To other students working with spot, I suggest:
  • Contact Frank to get access to Spot.
  • From the administrator account in Spot’s computer, define a new user account.

Run the program

  1. Connect Spot and D455 to laptop. (I placed the laptop on back of the robot)
  2. Start Spot and connect the controller. (instructions)
  3. Configure the fields username, password, hostname in spot_config.yaml

⚠️ If auto_stand is set True, the robot will stand up

  1. In the terminal, navigate to ROS2_WS folder generated during installation, and run the command:
    colcon build --symlink-install
    source install/setup.bash
    ros2 launch rustbuster rustbuster_launch.py
    

Test videos

Manual Navigation: Using spot’s controller
Semi-auto Navigation: Inputting navigation goals
Auto Navigation: Fully autonomous

Configuration

The configuration files are saved in the config folder.
spot_launch contains lots of if statements, to deactivate parts of the program, for debugging.

Contributing

If you would like to contribute, please feel free to open a PR.
I am not maintaining the project anymore because I don’t have access to a spot, to test the changes.

License

RustBuster is an open-source software. So just use it as you please 😄

Visit original content creator repository https://github.com/Hakaino/RustBuster

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *