By Nathan Ferguson
Share this project to show your support
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.
The following flow diagram shows a simplified overview of how a joystick command is handled by the driver to affect joint movements:
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
pip install spidev transforms3d adafruit-circuitpython-bno055 pillow rpi.gpio pyserial
cd ~
git clone ...
cd /DingoQuadruped/dingo_ws
sudo rosdep init
rosdep update
catkin build
source devel/setup.bash
echo "source ~/DingoQuadruped/dingo_ws/devel/setup.bash" >> ~/.bashrc
, source ~/.bashrc