Troubleshooting for Robot Tutorials
¶
Use ROS_DOMAIN_ID
to Avoid Interference in ROS Messages¶
A typical method to demonstrate a use case requires you to start several ROS 2 nodes and exchange ROS 2 messages between the ROS 2 nodes.
However, interference from unrelated nodes – whether on the same host machine or within the local network – can disrupt the process. Debugging and resolving such interference can be challenging in this scenario.
ROS 2 uses the ROS_DOMAIN_ID
environment variable to isolate several
use cases from each other. For this reason, you should set this variable
to a certain number before you execute a tutorial:
The ROS_DOMAIN_ID
should be an integer between 0 and 101 and it should
be the same for all the nodes launched for a particular use case. If you run only
one use case at a time, you can set this variable in your .bashrc
file,
as described in the Prepare your ROS 2 Environment section.
Troubleshooting AAEON Motor Control Board Issues¶
Several tutorials apply an AAEON UP Xtreme* i11 Robotic Development Kit to demonstrate how the Intel® Robotics SDK
can interact with a physical robot. The AAEON UP Xtreme* i11 Robotic Development Kit includes a motor control
board, which implements the motor drivers and the USB interface towards the compute
board. To support this motor control board, the Intel® Robotics SDK provides the Deb package
ros-humble-aaeon-ros2-amr-interface
, which is based on the GitHub project
AAEONAEU-SW/ros2_amr_interface
with some adaptations for ROS 2 Humble.
The following subsections provide solutions to fix potential issues with the USB interface of the AAEON UP Xtreme* i11 Robotic Development Kit.
Add the current user to the dialout
group¶
To control the AAEON UP Xtreme* i11 Robotic Development Kit via the USB interface, the current user must be a
member of the dialout
group. Use the groups
command to verify that the
current user belongs to the dialout
group. If the user does not belong
to this group, add the group membership by means of:
Solve conflicts with the BRLTTY daemon¶
BRLTTY is a background process that operates Braille displays, a tool for individuals who are blind. There is a possibility that BRLTTY may block the USB interface utilized by the AAEON motor control board. To identify such a conflict, execute the following command:
Connect the AAEON motor control board to one of the USB ports of the
compute board. Analyze the output of the dmesg
command and search for any
messages that contain BRLTTY
or brltty
. In the following example, the
lines with the time stamps 7768.502123
and 7768.618382
indicate
that there is a conflict between the BRLTTY daemon and the ch341 driver.
[ 7750.500707] usb 3-4: USB disconnect, device number 11 [ 7767.801366] usb 3-4: new full-speed USB device number 12 using xhci_hcd [ 7767.951513] usb 3-4: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64 [ 7767.951532] usb 3-4: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 7767.951537] usb 3-4: Product: USB Serial [ 7767.953988] ch341 3-4:1.0: ch341-uart converter detected [ 7767.954920] usb 3-4: ch341-uart converter now attached to ttyUSB0 [ 7768.502123] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input34 [ 7768.618382] usb 3-4: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1 [ 7768.618952] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0 [ 7768.618976] ch341 3-4:1.0: device disconnected![]()
To fix this conflict, remove the brltty
package:
Enable 3D options in RViz2¶
Note
Displaying in 3D consumes a lot of system resources this may interfere with the robot control commands. Intel® recommends opening rviz2 on a development system. The development system needs to be in the same network and have the same ROS_DOMAIN_ID set.
To prepare the development system follow the instructions to Prepare the Target System.
open options menu in Rviz2
enable 3D display
Troubleshooting OpenVINO™ Issues¶
Some of the OpenVINO™ based tutorials in this SDK rely on the models that are provided during the installation of the ros-humble-openvino-node
. In case you missed out on installing these models you may run into problem when executing these tutorials.
Follow the instructions on Installing OpenVINO™ packages, to troubleshoot potential issues with the OpenVINO™ installation.