Dingo Lite (Dingo L)

../_images/dingo-d.gif

Dingo Lite with Ufactory Lite6 Arm

The Dingo Lite is a mobile manipulation platform combining the Clearpath Dingo-D differential drive base with the Ufactory Lite6 robotic arm. This platform runs ROS Noetic on Ubuntu 20.04.

Key Features:

  • Differential drive mobility

  • Ufactory Lite6 6-DOF arm with gripper

  • ROS Noetic support

  • Hokuyo LiDAR

  • Intel RealSense D405 (wrist-mounted)

Autostart

Autostart Configuration

The Dingo-D ROS drivers are automatically launched during the robot’s startup process.

Startup Job Installation

To install or update the startup job:

  • Give root permission to the installation script:

sudo chmod +x startup_installer.py
  • Run the script from the terminal:

./startup_installer.py
  • Provide the workspace name as ros_ws and the directory as /home/administrator

Note

If the Dingo-D’s PC username is not administrator, manual changes will have to be made in the startup job.

ROS Environment Setup

Add a setup.bash file in /etc/ros if it’s not there already:

cd
sudo touch /etc/ros/setup.bash

Edit the file and add the configuration:

source /home/administrator/ros_ws/devel/setup.bash

export ROBOT_SETUP=/etc/ros/setup.bash
export DINGO_OMNI=0
export DINGO_JOY_DEV=/dev/input/js0

Base Driver Installation

Source and install the Dingo-D base driver:

source /etc/ros/setup.bash
roscd mmp_bringup/scripts
./can-udp-bridge.sh
./install

Webserver

Web Interface

The Noetic version does not include a web-based control interface.

For remote operation, use SSH and ROS command-line tools:

ssh -X administrator@192.168.131.1

Launch visualization remotely:

roslaunch mmp_viz view_robot.launch

Teleoperation

Keyboard Teleoperation

To operate the Dingo-D either in simulation or the real robot:

rosrun key_teleop key_teleop.py

Joystick Teleoperation

The Dingo-D can be controlled via a joystick connected to the robot.

Important

The Logitech controller dongle should be inserted and used with the Dingo PC (192.168.131.1). Do not use the dongle with the external NVIDIA PC (192.168.131.5).

Visualization

RViz Visualization

To view the Dingo current state:

roslaunch mmp_viz view_robot.launch

This package is useful when checking and integrating depth camera or other auxiliary sensors such as LiDAR sensors.

Rigs

Hardware Configurations

The Dingo-D (Noetic) can be configured with different sensor and accessory rigs.

Standard Configuration

  • Clearpath Dingo-D differential base

  • Ufactory Lite6 arm

  • Hokuyo LiDAR (192.168.131.20)

  • Intel RealSense D405 (wrist-mounted)

Network Devices

Dingo-D network devices

Device

Network Address

Users

Password

Dingo-D

192.168.131.1

administrator

mybotshop

Hokuyo

192.168.131.20

n/a

n/a

Lite6

192.168.131.50

n/a

n/a

Lite6 Web

192.168.131.50:18333

n/a

n/a

Manipulation

Lite6 MoveIt

../_images/dingo-d.gif

Note

As the Dingo-D Lite6 is a multi-robot system consisting of Lite6 and Lite6 gripper, the Lite6 Guides are applicable.

For the Lite6 ROS drivers please refer to the ufactory github section. To aid in manipulation tasks please refer to the examples in the mmp_bringup/scripts/mmp_example.py. For recommended manipulation please refer to MoveIt documentation.

Lite6 Utilities

To operate the Lite6 from other means than ROS, the Python and C++ SDKs are available in the utils folder. Direct control of the Lite6 is available via the app. To access the app, navigate into the /utils/app folder and run:

./UfactoryStudio-client-linux-1.0.1.AppImage

Alternatively, you can install the app image directly from their website and grant root permission to the image.

Connect to the IP address of 192.168.131.50 and you should have complete access to the arm. The app has a built-in plugin to interface with robotiq gripper available in the control panels.

Important

The app can also be accessed via ssh or when connected to the same network as the Lite6 at 192.168.131.50:18333.

Complete steps for opening the app:

ssh -X administrator@192.168.131.1
mybotshop
cd
cd ros_ws/utils/app
./UfactoryStudio-client-linux-1.0.1.AppImage

This can be used when the Lite6 goes to error state. Alternatively, the error can be cleared via the Lite6 python API.

Lite6 Power Fuse

../_images/lite6_fuse.webp

The Lite6 is powered by Dingo-D’s power. For safety reasons a 15 Amp fuse is installed. In case of a power surge, the fuse will trigger and will have to be replaced. To replace it, open the Dingo-D’s central hatch located under the Lite6, open the rubber cover over the MCU and replace the fuse.

Lite6 E-Stop

../_images/e-stop.webp

There’s a red Emergency Stop button positioned at the rear of the mounted arm. Pressing this button cuts off the power supply to the arm, providing a manual method to halt the arm in case of any malfunction or emergency situation.

Sensors

Hokuyo LiDAR

../_images/hokuyo.webp

You can start up the Hokuyo driver located at the robot’s front:

roslaunch mmp_lidars lidars.launch

Once running, you should be able to view the laser scan data created by Hokuyo on RViz.

Intel RealSense D405

../_images/cam.webp

To initiate the hardware driver for the RealSense camera mounted on the wrist of the Lite6:

roslaunch mmp_realsense wrist_camera.launch

If the camera drivers operate correctly, you should be able to view the camera stream on RViz.

Simulation

Gazebo Simulation

The Dingo-D can be simulated in Gazebo Classic.

Launch Simulation:

roslaunch mmp_gazebo simulation.launch

This launches:

  • Gazebo with the Dingo model

  • Robot state publisher

  • Joint state publisher

Packages

Dingo Base Driver

../_images/all.webp

To start the hardware-dingo drivers:

roslaunch dingo_base base.launch

Important

You need not manually execute this command, as the dingo hardware drivers are automatically launched during the robot’s startup process.

Lite6 Driver

To start the hardware-lite6 drivers:

roslaunch mmp_bringup lite6_driver.launch

This driver does not launch on startup. It is required for controlling the Lite6 arm.

Warning

Non-technical persons are not permitted to use the device as the damage it can cause is severe.

Visualization Package

roslaunch mmp_viz view_robot.launch

LiDAR Package

roslaunch mmp_lidars lidars.launch

RealSense Package

roslaunch mmp_realsense wrist_camera.launch

Debugging

Common Issues

Robot not responding to commands:

  1. Check if ROS master is running: roscore

  2. Verify network connection: ping 192.168.131.1

  3. Check ROS topics: rostopic list

No sensor data:

  1. Verify sensor connections

  2. Check sensor-specific topics

  3. Review sensor launch files

Diagnostic Commands

Check ROS Topics:

rostopic list
rostopic echo /odom

Check ROS Nodes:

rosnode list
rosnode info /dingo_base

Check TF Tree:

rosrun tf view_frames

Check Service Status:

sudo service {service_name} status

Rebuild Workspace

cd ~/catkin_ws
catkin build
source devel/setup.bash

Miscellanious

SSH Access

Connect to the robot via SSH:

ssh -X administrator@192.168.131.1
# Password: mybotshop

Programming Examples

Examples of programming the Lite6 and Dingo-D are provided in:

mmp_bringup/scripts/mmp_example.py

Message-of-the-Day (MOTD)

To configure a custom MOTD:

sudo chmod -x /etc/update-motd.d/*
sudo nano /etc/update-motd.d/45-mbs-motd
sudo chmod +x /etc/update-motd.d/45-mbs-motd

Example MOTD script:

#!/bin/sh

robot_status clearpath-vcan
robot_status clearpath-robot
robot_status clearpath-platform

echo "-------------------------------------------------------------------------------"
echo "Dingo - D IP:          192.168.131.1"
echo "Password:              mybotshop"
echo "SSH:                   ssh -XC administrator@192.168.131.1"
echo
echo "Dingo - D MCU:         192.168.131.2"
echo
echo "NVIDIA IP:             192.168.131.5"
echo "Password:              mybotshop"
echo "SSH:                   ssh -XC administrator@192.168.131.5"
echo "-------------------------------------------------------------------------------"
echo "Dingo - D Startup"
echo "-------------------------------------------------------------------------------"
echo "Service status:        sudo service {service_name} status"
echo "Rebuild package:       colcon build --symlink-install"
echo "-------------------------------------------------------------------------------"
../_images/dingod_motd.webp

Installation

ROS Noetic Installation

../_images/ros_noetic.webp

The ROS driver for the robots is initially supported for ROS Noetic. All ROS related software should be installed on the Remote-PC. The Dingo-D is pre-installed with the required drivers and ROS distribution.

PC Setup

ROS Noetic installation requires Ubuntu 20.04.

  1. Download Ubuntu 20.04

  2. Follow the Ubuntu 20.04 Installation guide

ROS Noetic Installation

You may run the following commands to install ROS Noetic or follow the instructions from the ROS wiki.

  1. Enter the Ubuntu terminal:

cd
  1. Set up the source list:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. Set up the keys:

sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
  1. Install ROS Noetic:

sudo apt update
sudo apt install ros-noetic-desktop-full
  1. Add ROS environment to your bash file:

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. Install python dependencies and initialize rosdep:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init
rosdep update

Catkin Workspace

  1. Ensure ROS Noetic is correctly setup:

cd ..
source /opt/ros/noetic/setup.bash
  1. Install catkin_tools:

sudo apt install python3-catkin-tools
  1. Create your workspace:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin build
  1. Enable the workspace:

source devel/setup.bash
  1. Add to bashrc to avoid typing every time:

gedit ~/.bashrc

Add the following line at the end:

source /home/<your_computer_username>/catkin_ws/devel/setup.bash
  1. Verify everything is working:

echo $ROS_PACKAGE_PATH