CLEARPATH DINGO User manual

DINGO
INDOOR PLATFORM
USER MANUAL

CONTENTS
1 Introduction 3
1.1 What’s Included . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Hardware Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Getting Started 8
2.1 Wireless Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Static IP Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Connect to Dingo via SSH over ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Connect Dingo to Wireless Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Remote ROS Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Dingo Desktop Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Apps 14
4 Charging & Battery Maintenance 15
5 Safety Considerations 16
5.1 General Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Stop Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Electrical System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Lifting and Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6 Payload Integration Guide 18
6.1 Mechanical Mounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2 Electrical Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.3 Software Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7 Contact 20
Rev. 1.1.0 2 Dingo

1 INTRODUCTION
Dingo is a lightweight and easy-to-use unmanned indoor ground vehicle for ROS Noetic, presented by Clearpath
Robotics.
Dingo includes a standard internal PC, as well as basic IMU. Standard perception modules are available, including
URDF and simulator integration, as well as demonstration applications.
There are two Dingo variants:
• Dingo-D: Uses differential drive and has two module bays, one of which must be a battery module; the second
module is typically a computer module.
• Dingo-O: Uses omnidirectional drive and has four module bays, at least two of which are typically battery modules;
the other modules may be computer modules or serve as expansion for other custom hardware.
Please inquire with Clearpath Robotics for details. See Contact on page 20 for contact information.
1.1 What’s Included
Contained in your Dingo shipment are the following items:
• Dingo UGV (Dingo-D or Dingo-O variant)
• One or more 12V sealed lead acid (SLA) or 14.4V Lithium-ion batteries
• One or more 110/220V universal chargers for your batteries
• One Sony PS4 Bluetooth controller
• One Dingo User Manual
If you elected to purchase standard payload modules or custom integration services with Dingo, then additional equip-
ment will be included per your specic conguration, plus further documentation as required.
1.2 Hardware Overview
Dingo’s external features include the mounting pattern on the top trough cover, 98.4 mm diameter wheels (Dingo-D) or
101.6 mm diameter mechanum wheels (Dingo-O), human machine interface panel (HMI), top (yellow) fairings, and side
access panels. The exteriors of Dingo-D and Dingo-O are shown in Figure 1 and Figure 2 respectively.
The HMI panel is shown in Figure 3, and includes from left: motor stop button, comms indictor, wi indicator, battery
indicator, and system power button.
To access Dingo’s payload modules (computers or batteries), simply slide and remove the top (yellow) fairings. To
access Dingo’s MCU PCBA (for user power), remove the four M5 athead screws from the top trough cover, and then
remove the trough cover.
The interior of the Dingo-D is shown in Figure 4 and the interior of Dingo-O is shown in Figure 5 along with example
payload modules.
Rev. 1.1.0 3 Dingo

Whee
ls
Side panels (battery swap)
Fairings (payloads)
HMI panel
Trough cover (MCU, user power)
External payload mounts (80mm spacing)
Figure 1: Dingo-D exterior
HMI panel
Fairings (payloads)
Side panels (battery swap)
Trough cover (MCU, user power)
Wheels
External payload mounts (80mm spacing)
Figure 2: Dingo-O exterior
Rev. 1.1.0 4 Dingo

M
Figure 3: HMI panel.
Dingo-D will contain one battery module (Sealed Lead Acid or Lithium Ion) and Dingo-O will contain one or more battery
modules. Batteries can be installed and removed by removing the corresponding side access panel and sliding the
battery in or out as needed.
Dingo does provide an optional shore power connection to allow the system to be powered without requiring batteries
to be present. Note that when shore power is connected, the motors are disabled and it is not possible to drive the
Dingo; however, all other electronics (computers, sensors, etc) will remain enabled.
1.3 System Architecture
Like many ROS robots, Dingo is built around an x86 PC running Ubuntu, paired with a 32-bit MCU. The MCU handles
I/O, power supply monitoring, and motor control, as well as supplying data from the integrated IMU. The communication
channel between the MCU and PC is a Gigabit Ethernet connection.
The key topics which comprise Dingo’s ROS API are given in Table 1.
Topic Message Type Purpose
/cmd_vel geometry_msgs/Twist Input to Dingo’s kinematic controller. Publish here
to make Dingo go.
/odometry/filtered nav_msgs/Odometry Published by robot_localization, a ltered local-
ization estimate based on wheel odometry (en-
coders), and integrated IMU.
/imu/data sensor_msgs/IMU Published by imu_filter_madgwick, an orientation
estimate based on Dingo’s internal IMU unit.
/mcu/status dingo_msgs/Status Low-frequency status data for Dingo’s systems.
This information is republished in human readable
form on the diagnostics topic and is best con-
sumed with the Robot Monitor.
Table 1: Dingo ROS API Topics
Rev. 1.1.0 5 Dingo

MCU board
SLA battery module Computer module
Figure 4: Area inside Dingo-D, with example modules
Rev. 1.1.0 6 Dingo

Computer module Empty module
MCU board
Li-Ion battery module SLA battery module
Figure 5: Area inside Dingo-O, with example modules
Rev. 1.1.0 7 Dingo

2 GETTING STARTED
The rst step is to power up your Dingo and have some fun driving it around! If you’ve just unpacked Dingo from its
packaging, you may need to open it up and connect the battery.
Press the power button on Dingo’s HMI panel. The LEDs should show a test pattern, after which you will wait about
30 seconds for the internal PC to nish booting up.
When the comms LED ( ) is green, this signals that the PC is nished booting up, and that the PC and MCU are
in communication. At this point, press the PS button on the Sony Bluetooth controller to sync the controller to Dingo.
Once the blue LED on the top of the controller goes solid, you’re paired and ready to drive. Hold the L1 trigger button
(deadman switch), and push the left thumbstick forward to drive the Dingo. For full speed mode, hold the R1 trigger.
See Figure 6 for the Sony PS4 controls layout.
Deadman Switch [L1] Turbo [R1]
Full Speed Mode
Steer
Forward/Backward
Dingo-D: Yaw Left/Right
Dingo-O: Planar Left/Right
Steer
Dingo-O: Yaw Left/Right
Figure 6: PS4 Controls Layout
If you’re not seeing any action, check Contact on page 20 to get in touch with support.
Rev. 1.1.0 8 Dingo

2.1 Wireless Access
To get Dingo connected to your local wi, you must rst access the internal computer using a wired connection. Open
the chassis, lower the computer tray, and connect to the network port labeled STATIC with a standard ethernet cable.
2.1.1 Static IP Conguration
Set your laptop’s ethernet port to a static IP such as 192.168.131.101. To do this in Ubuntu, follow the steps below:
1. Click on the Wi icon in the upper-right corner of your screen, and select Edit Connections
2. In the Network Connections window, under Ethernet, select your wired connection and then click Edit
3. Select the IPv4 Settings tab and then change the Method to Manual
4. Click the Add button to add a new address
5. Enter a 192.168.131.101 as the static IP under the Address column, and enter 255.255.255.0 under the NetMask
column, and then select Save
Figure 7: Static IP Conguration
Rev. 1.1.0 9 Dingo

2.1.2 Connect to Dingo via SSH over ethernet
The next step is to connect to Dingo via SSH. To do so execute the following in a terminal window:
ssh administrator@192.168.131.1
You will be promoted to enter a password. The default password is clearpath.
2.1.3 Connect Dingo to Wireless Network
Now that you’re connected via SSH over a wired connection, you can setup Dingo to connect to a local wi network. To
do this, you will need to use Netplan - a preinstalled network conguration tool.
In a terminal window, execute the following command:
sudo nano /etc/netplan/60‐wireless.yaml
This will create an empty YAML le called 60-wireless.yaml which you will populate to congure Dingo’s wireless
networking via Netplan.
Copy and paste the following into the empty le you just created:
network:
wifis:
WIRELESS_INTERFACE:
optional: true
access‐points:
SSID_GOES_HERE:
password: PASSWORD_GOES_HERE
dhcp4: true
dhcp4‐overrides:
send ‐hostname: true
Modify the following variables in the le. Replace WIRELESS_INTERFACE with the name of Dingo’s wi interface (e.g. wlan0,
wlp2s0, or wlp3s0). Replace SSID_GOES_HERE with the name of the local wi network. Replace PASSWORD_GOES_HERE with
the password of the local wi network.
Once you are done modifying the le, save it by pressing CTRL + O, then ENTER. Close the le by pressing CTRL + X.
Apply your new Netplan conguration and bring up the wi connection.
In a terminal window, execute the following command:
sudo netplan apply
While you’re still wired to Dingo, you’ll need to identify the IP address of Dingo’s wireless connection.
In a terminal window, execute:
ip a
Rev. 1.1.0 10 Dingo

A list of network connections will be displayed within the terminal. Locate the wireless network and make note of its IP
address. Now that you know Dingo’s wireless IP address, you may now exit the ethernet SSH session by executing
exit.
Remove the ethernet cable and close up Dingo. Now you can SSH into Dingo over the wireless network. To do so,
execute:
ssh administrator@ < IP_OF_DINGO >
SSH sessions allow you to control Dingo’s internal computer. You can do various things such as download packages,
run updates, add/remove les, transfer les etc.
2.2 Remote ROS Connectivity
To use ROS desktop tools, you’ll need your computer to be able to connect to Dingo’s ROS master. This will allow you
to run ROS commands like rostopic list,rostopic echo,rosnode list, and others, from a remote PC and the output
will reect the activity on Dingo’s ROS master, rather than on your own machine. This can be a tricky process, but we’ve
tried to make it as simple as possible.
In order for the ROS tools on your computer to talk to Dingo, they need to know two things:
• How to nd the ROS master, which is set in the ROS_MASTER_URI environment variable, and
• How processes on the other computer can nd your computer, which is the ROS_IP environment variable.
The suggested pattern is to create a le in your home directory called remote‐dingo.sh with the following contents:
export ROS_MASTER_URI =http ://cpr ‐dingo ‐0001:11311 # Dingo ’s hostname
export ROS_IP=10.25.0.102 # Your laptop’s wireless IP address
If your network doesn’t already resolve Dingo’s hostname to its wireless IP address, you may need to add a correspond-
ing line to your computer’s /etc/hosts le:
10.25.0.101 cpr‐dingo ‐0001
NOTE: You can verify the hostname and IP address of Dingo using the following commands during an SSH session
with the onboard PC.
hostname
hostname ‐i
Then, when you’re ready to communicate remotely with Dingo, you can source that script like so, thus dening those
two key environment variables in the present context.
source remote‐dingo.sh
To verify that everything is set up propelry, try running a few ROS commands, such as the standard visual ROS tools:
roslaunch dingo_viz view_robot.launch
Rev. 1.1.0 11 Dingo

rosrun rqt_robot_monitor rqt_robot_monitor
rosrun rqt_console rqt_console
If the tools launch, then everything is setup properly.
Please contact Clearpath Support if you need assistance in conguring remote access. For more general details on
how ROS works over TCP with multiple machines, please see:
http://wiki.ros.org/ROS/Tutorials/MultipleMachines.
For help troubleshooting a multiple machines connectivity issue, see:
http://wiki.ros.org/ROS/NetworkSetup
Rev. 1.1.0 12 Dingo

2.3 Dingo Desktop Packages
To command or observe Dingo from your desktop computer, rst set up a basic ROS installation. See the following
page for details:
http://wiki.ros.org/noetic/installation/ubuntu
When your ROS install is set up, install the Dingo desktop packages:
sudo apt‐get install ros‐noetic‐dingo‐desktop
Once your remote access to Dingo’s ROS master is congured (see options in subsection 2.2), you can launch rviz, the
standard ROS robot visualization tool:
roslaunch dingo_viz view_robot.launch
From within rviz, you can use interactive markers to drive Dingo, you can visualize its published localization estimate,
and you can visualize any attached sensors which have been added to its robot description XML (URDF).
Additionally from the desktop, you can launch the standard RQT Robot Monitor, which watches the diagnostic output
from Dingo’s self-montoring capabilities:
rosrun rqt_robot_monitor rqt_robot_monitor
Rev. 1.1.0 13 Dingo

4 CHARGING & BATTERY MAINTENANCE
When nished with the Dingo, press and release the power button to power it off. Then remove the batteries for
charging.
Dingo’s batteries are charged outside the Dingo using the charger(s) provided.
Alternatively, if you have multiple batteries, you can hot-swap them one at a time. The system will remain operational
while hot-swapping as long as there is at least one battery in the system or the system is connected to shore power
prior to removing the batteries. Note that plugging in shore power will engage a motor stop and it is not possible to drive
Dingo while connected to shore power.
The Sealed Lead Acid batteries have overcurrent protection in the form of an ATO fuse. The Lithium-Ion batteries include
integrated protections against fault due to overcurrent, overdischarge, and short circuit. The batteries are rugged and
designed for the demanding environments into which Dingo may be deployed.
However, please take note of the following:
• SLA batteries must be charged while in a 0 to 45 ◦C range and discharged while in a −30 to a 60 ◦C range.
• Li-Ion batteries must be charged while in a 0 to 50 ◦C range and discharged while in a −20 to a 60 ◦C range.
• The batteries must not be punctured or disassembled.
• The batteries should be dropped off or delivered to your local hazardous waste authority for disposal.
• When traveling with Dingo, consult your airline’s restrictions regarding lithium batteries (if applicable). If possi-
ble, bring the batteries in your carry on luggage, where they will be subject to normal cabin temperatures and
pressures.
Please contact Clearpath Robotics for additional information about Dingo’s batteries or for information about purchasing
additional batteries.
Rev. 1.1.0 15 Dingo

5 SAFETY CONSIDERATIONS
Dingo is a fast moving robotic platform. Please read the following notices carefully.
5.1 General Warnings
Dingo is a rugged and high-performance vehicle. For the safety of yourself and others, always conduct initial experi-
ments and software development with the vehicle raised off the ground. Place a wooden crate, a set of sawhorses, a
sturdy storage tub, or any other solid at structure having a height greater than 6 inches under Dingo to keep the wheels
clear of the ground (“up on blocks”).
When starting out, favor slower wheel speeds. Dingo’s control loops can accurately maintain velocities as low as 0.1
m/s. Operating at such speeds will give you more time to react if things don’t go quite as you expect.
5.2 Stop Buttons
The motor stop button
M
is located on the HMI Panel at the back of Dingo. To engage Stop Mode, press the motor
stop button once; you should see that the green LED by the motor stop button is ashing and that all four corner LEDs
are ashing red. To disengage Stop Mode, press the motor stop button again; all LEDs should return to their original
values.
When in Stop Mode, the Dingo will not drive. The commands received while in Stop Mode are not buffered; Dingo will
always act on the latest commands received. This means that if the commands are stopped before the motor stop
button is pressed to disengage Stop Mode, the Dingo will not move. If the commands are continued, Dingo will move
at the speed commanded once the motor stop button is pressed to disengage Stop Mode.
Ensure that the motor stop button is accessible at all times. Avoid mounting payloads that extend over the rear of Dingo
and would block access to the motor stop button.
Note that the Dingo MCU board does provide a breakout to allow an external stop button/switch to be integrated by the
end user, which could be used to engage/disengage Stop Mode. Please inquire with Clearpath Robotics for details on
adding an external stop button/switch. See Contact on page 20 for contact information.
5.3 Electrical System
Dingo is powered by batteries capable of delivering over 2000W for short durations. This gives Dingo’s motors their
great performance; however, it is also enough power to cause severe bodily harm. Always use caution when operating
Dingo to avoid personal injury or property damage. To ensure safety, please observe the following precautions:
• Do not tamper with the battery terminals or wiring.
• Do not tamper with the fuses, except to check and change the fuses.
• Always replace fuses with the same type and rating to ensure continued protection against risk of res.
• Consult Clearpath Robotics support if you need to service the batteries.
Rev. 1.1.0 16 Dingo

• Do not lay tools or other objects on top of the batteries.
• Charge the battery only with the charger provided by Clearpath Robotics.
• Please dispose of the batteries properly or return them to Clearpath Robotics to do so.
5.4 Lifting and Transport
• Ensure that Dingo’s Stop Mode is engaged when transporting short distances and powered off when transporting
longer distances
• Do not push the robot at more than 0.5 m/s (1.6 ft/s) or damage to the motor controls may occur.
Rev. 1.1.0 17 Dingo

6 PAYLOAD INTEGRATION GUIDE
If you’re wanting to attach custom hardware to Dingo, you’ll have to take care of mechanical mounting, electrical supply,
and software integration. This section aims to equip you with respect to these challenges.
6.1 Mechanical Mounting
External payloads can be attached to the 80 mm square mounting holes on Dingo’s trough cover as shown in Figure 4
and Figure 5. The mounting holes come with M5 screws pre-installed. You may mount your hardware directly onto the
trough cover or you may design and mount a new plate to the trough cover and secure it to the trough cover using M5
screws.
6.2 Electrical Integration
Except for bus-powered USB cameras, most payloads have separate leads for power and data. Data connections may
be brought through the openings in the trough cover and connected directly to the internal computer. Dingo’s internal
computer options support USB3 and Ethernet connectivity. With the performance PC, the PCIe Gen3 x16 slot may be
used to supply a GPU or other attachements, as necessary.
Additionally, the internal mounting area may be used for an Ethernet switch, when attaching multiple Ethernet payloads,
or for a PoE power injector as required.
The power lead may likewise be brought through the trough cover, and connected to the user power: unregulated
battery power, regulated 12V power, or regulated 5V power. Remove the front trough cover by removing four athead
screws and locate the appropriate power connector on the MCU board. Refer to Figure 8 for the location of the user
power connectors. Use DigiKey part WM3701-ND for connecting to 12V/5V power and DigiKey part WM10378-ND for
connecting to VBAT power.
Rev. 1.1.0 18 Dingo

Figure 8: Dingo MCU and User Power
Route the power from the MCU board to the appropriate location, either to the internal payload modules or through the
openings in the trough cover to the topside payload.
6.3 Software Integration
ROS has a large ecosystem of sensor drivers, some of which include pre-made URDF descriptions and even simulation
congurations. Please see the following page on the ROS wiki for a partial list:
http://wiki.ros.org/Sensors
For the best experience, consider purchasing supported accessories from Clearpath Robotics for your Dingo, which
will include simulation, visualization, and driver support. However, we will happily assist you in integrating your own
devices as well.
Rev. 1.1.0 19 Dingo

7 CONTACT
Clearpath is committed to your success with Dingo. Please get in touch with us and we’ll do our best to get you rolling
To get in touch with a salesperson regarding Dingo or other Clearpath Robotics products, please email [email protected].
If you have a an issue that is specically about ROS and is something which may be of interest to the broader community,
consider asking it on answers.ros.org. If you don’t get a satisfactory response, please ping us and include a link to your
question as posted there. If appropriate, we’ll answer in the ROS Answers context for the benet of the community.
Dingo is designed not to require regular maintenance. As it is a new product, Clearpath appreciates your patience as
we continue to improve the platform.
Rev. 1.1.0 20 Dingo
Table of contents
Other CLEARPATH Robotics manuals