Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot arlobot_interfaces arlobot_ros

Repository Summary

Description ROS Package for a Parallax ArloBot Robot
Checkout URI https://github.com/chrisl8/arlobot.git
VCS Type git
VCS Version jazzy
Last Updated 2024-10-21
Dev Status UNKNOWN
Released UNRELEASED
Tags ros arlo-robot propeller-board arlo-platform arlobot
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
arlobot_interfaces 0.0.0
arlobot_ros 0.0.0

README

Node Script Tests React Build Test Setup Script Test Propeller Code Build Test

NOW ON ROS2 Jazzy!

Quick Start

  1. Install Ubuntu 24.04 on a Rapsberry Pi using the Rasbery Pi Imager
  2. Run the install script for this package on the Pi: bash <(wget -qO- --no-cache -o /dev/null https://raw.githubusercontent.com/chrisl8/ArloBot/jazzy/setup-jazzy.sh)
  3. SSH into the Pi and run: ros_start.sh

  4. On a remote system (like on Windows, on the same WiFi network as the robot):
D:\ros2-jazzy\ros2-windows\local_setup.ps1 # Or wherever you put it.
ros2 run rviz2 rviz2 -d \\wsl.localhost\Ubuntu\home\chrisl8\Dev\ArloBot\navigation.rviz


Obsolete Hardware Notice

The Arlo Robot System by Parallax has been discontinued. At this moment they are entirely out of stock, so this project’s usefulness slowly grows to an end, although my personal implementation, which has always been the primary focus of this repository, lives on as I run my robot almost daily.

I would love to build a new version of this robot, but I haven’t the free time for it at the moment.
Until then, enjoy this for what it is, and understand that any commits you see will be rather focused on a set of hardware that is no longer available.

ROS2 ToDo:

  • Reproduce the former ability to save and re-use old maps.
  • Consider dropping “watchdog” from propeller_node
    • I don’t think that I need the stationary odometry publisher anymore?
    • Although it currenty also watches for and updates mismatches between ROS params and Propeller board.
  • Convert propeller_node to be more ROS2 like
    • I’m not sure how the “spin” works as it should be 100% event driven:
      • It outputs when it gets data from the propeller board
      • It encodes to the propeller board upon receiving twist messages
      • Nothing else
  • Clean up unused convenience scripts
    • Make sure they all still work. Some might just not work anymore and should be removed.
  • Clean up unused bits of code in the node service
  • Clean up unused bits of code in the website
  • Fully test and make work the rest of the website and node code
  • Update cypress to test what is left and only what is left
  • Move all web bookmarks into relevant comments in my code or this Readme
  • Use vcgencmd get_throttled to detect and alarm on voltage and thermal issues
  • Monitor battery power from the activity board and alarm/act on low voltage
  • arlobot.yaml is gone, so fix up anything that depends on it
  • Reorganize old documentation into its own folder or delete it
  • Rebuild my robot’s Pi from scratch and ensure it still works
  • Could the PING and IR sensors be mapped into the “Collision Monitor” so as to be used by ROS but without affecting the map?
  • Re-implement old functions that might be built into NAV2 now if I can sort out how to use them:
    • Go to waypoints
    • Go “home” (dock?)
    • Go to a specific location
  • Clean up this readme and other docs that it links to
  • Build a new robot using off-the-shelf parts

ArloBot Package for ROS

Here is a YouTube Video of this robot in action.

and SO MUCH MORE!

This package also includes:

  1. An all in one install script that should get things as close to working as possible by running one install script.
  2. A Python and Curses based Serial Interface testing utility to help diagnose problems and confirm your hardware is working.
  3. A set of Bash script utilities to help in working with the robot.
  4. A set of Node.js based utilities to automate many repeated tasks.
  5. A Node.js based Server to run the robot at all times, along with:
  6. A React based web GUI to interact with the robot.
  7. Other fun things like Pushover integration.

Mobile Friendly Web Interface

Alt text

Curses Serial Testing Interface:

~/dev_ws/src/ArloBot/scripts/PropellerSerialTest.sh
Alt text

  • A Python Curses based serial communications test program allows testing of ALL Propeller board functions over serial with zero use of ROS to more easily ensure the hardware is working before starting ROS.

Build a Robot!

First you need to build a robot!

Parts List

  • Robot
  • On board computer
  • 3D Sensor

This code is based on the Arlo Robotic Platform from Parallax. Unfortunately, the Arlo Robotic Platform has been DISCONTINUED.

You will also need a few other items (Raspberry Pi and 3D sensor) which I have some details about on the Parts List Wiki Page

Building

Follow the excellent Arlo Robot Assembly Guide at Parallax to both assemble and test your Arlo Robot platform.
Be sure you have fully understood and run all of their tests before moving on with using ROS.

File truncated at 100 lines see the full file

Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot
Repo symbol

arlobot repository

ros arlo-robot propeller-board arlo-platform arlobot