Smiling Robo Logo

SmilingRobo

Dingo

By Nathan Ferguson

robot-dog

Share this project to show your support

Dingo Quadruped

Dingo Quadruped Image

Overview

This repository hosts the code for the Dingo Quadruped, a robot designed to be low-cost but capable of conducting research and being extensively modified with additional actuators and sensors. CAD for the Dingo can be found here. A full Bill of materials for purchasable components can be found within this repo.

This code is based on the Stanford Pupper and notspot codebases, with extensive modifications, including integration into ROS 1 Noetic.

The repository includes a driver node, dingo_driver.py, which should be used anytime the code is run. This file enables joystick control of the Dingo, and allows joint and/or task space commands generated by any other code to be passed through the driver via the appropriate ROS command topics. The joystick can also be toggled on and off to override commands received via ROS command topics.

The repo also includes a gazebo simulation of the Dingo, based on URDF file and meshes which are also provided.

How Dingo_driver Works

The following flow diagram shows a simplified overview of how a joystick command is handled by the driver to affect joint movements:

Dingo Driver Flow Diagram

Installation of Code

Natively

  • Install Ubuntu 20.04 onto the Pi's SD card via the Raspberry Pi Imager, and setup username, password and network information.
  • Install ros-noetic
  • Install necessary packages via sudo apt-get install python3-catkin-tools git python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool python3-pip build-essential wireless-tools libraspberrypi-bin ros-noetic-joy ros-noetic-catkin python3-catkin-tools i2c-tools libi2c-dev python3-smbus
  • Install necessary python packages via pip install spidev transforms3d adafruit-circuitpython-bno055 pillow rpi.gpio pyserial
  • Change directory to the home folder: cd ~
  • Clone this (the Dingo Quadruped) repository using git: git clone ...
  • Move into the dingo_ws folder: cd /DingoQuadruped/dingo_ws
  • Initialise rosdep: sudo rosdep init
  • Fetch dependencies with rosdep: rosdep update
  • Build the workspace: catkin build
  • Source the workspace: source devel/setup.bash
  • (Optional) Add a line to .bashrc to automatically source the workspace: echo "source ~/DingoQuadruped/dingo_ws/devel/setup.bash" >> ~/.bashrc, source ~/.bashrc

Additional Installation Steps

All the steps are in the readme file of the Code and in the Documentation

SmilngRobo

SmilingRobo, a platfrom of opensource robotics

Opensource Robotics Platform with opensource tools and resources. We are on a journey to advance and democratize robotics through opensource.