Advantech Robotic Suite/Q&A

From ESS-WIKI
Revision as of 06:15, 30 January 2023 by Eric.liang (talk | contribs) (Created page with " = General  = == Nodes missing from ROS2 node list after relaunch == This issue is triggered because rosnode start and close too quickly, ROS2 daemon keeps some nodes a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

General 

Nodes missing from ROS2 node list after relaunch

This issue is triggered because rosnode start and close too quickly, ROS2 daemon keeps some nodes as “alive” in the cache, as it takes some time of them being unresponsive before eliminating them.

If run ros2 node list can’t find a specific rosnode, you can try run ros2 node list --no-daemon, then you will get the missing nodes.

Also you can run ros2 daemon stop; ros2 daemon start to restart ROS2 daemon and update the rosnode list.

Disabling shared memory for ROS 2

FastDDS allows for providing a configuration XML file at runtime in order to customize several aspects of the middleware. Such as, forcing the transport to use UDPv4. The XML profile is passed through an environment variable:

$ export FASTRTPS_DEFAULT_PROFILES_FILE=myProfileLocation/fastdds_no_shared_memory.xml

The fastdds_no_shared_memory.xml content is as follows.

<?xml version="1.0" encoding="UTF-8" ?>
    <profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" >
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUdpTransport</transport_id>
                <type>UDPv4</type>
            </transport_descriptor>
        </transport_descriptors>

        <participant profile_name="participant_profile" is_default_profile="true">
            <rtps>
                <userTransports>
                    <transport_id>CustomUdpTransport</transport_id>
                </userTransports>

                <useBuiltinTransports>false</useBuiltinTransports>
            </rtps>
        </participant>
    </profiles>

OpenGL error when running gazebo

If get OpenGL error when running gazebo.

gazebo

Can change render-engine to ogre, and try again.

$ ign gazebo tugbot_warehouse.sdf --render-engine ogre

EPC-R3720 ( NXP iMX8 Plus )

How to use RViz on EPC-R3720

RViz supports X11 display but EPC-R3720 (NXP iMX8 plus ) only supports Wayland display. So RViz can’t display on the EPC-R3720. You can display RViz on another platform with X Window Server by X11 fordwarding.

Before running rviz2, please make sure libcurl is linked correctly.

/usr/lib/libcurl.so.4 should link to the libcurl.so.4.X.X in /usr/lib/aarch64-linux-gnu folder.

example:

$ ls -la /usr/lib/libcurl.so.4
lrwxrwxrwx 1 root root 43 Dec 27 08:41 /usr/lib/libcurl.so.4 -> /usr/lib/aarch64-linux-gnu/libcurl.so.4.6.0

If /usr/lib/libcurl.so.4 is not linked to the libcurl.so.4.X.X in /usr/lib/aarch64-linux-gnu folder, please run below command to fix it.

sudo rm -f /usr/lib/libcurl.so.4
sudo ln -s $(readlink -f /usr/lib/aarch64-linux-gnu/libcurl.so) /usr/lib/libcurl.so.4


  • Prepare a x86_64 Ubuntu 20.04.
  • Use ssh -X to enable graphical applications on a remote server. Notice : it is -X not -x
$ ssh -X remote-user@remote-host

 

$ export QT_QPA_PLATFORM=xcb 
  • Run RViz2
$ ros2 run rviz2 rviz2

  Rviz X11

How to disable automatic suspend

Step1. Click settings

EPC-R3720 disable auto suspend 1.jpg

Step2. Turn off in Automatic Suspend

EPC-R3720 disable auto suspend 2.jpg