eProsima / Micro-XRCE-DDS-Agent

Micro XRCE-DDS Agent respository. Looking for commercial support? Contact info@eprosima.com
Apache License 2.0
102 stars 72 forks source link

MicroXRCEAgent stuck on "logger setup" step. #361

Closed CannonFodder511 closed 4 months ago

CannonFodder511 commented 4 months ago

Issue template

Steps to reproduce the issue

The image is built from the following Dockerfile `FROM ubuntu:22.04 SHELL ["/bin/bash", "-c"] ENV DEBIAN_FRONTEND=noninteractive

install ROS2

RUN apt update && apt install locales -y RUN locale-gen en_US en_US.UTF-8 RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 RUN apt install software-properties-common -y RUN add-apt-repository universe RUN apt update && apt install curl gnupg2 lsb-release -y RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null RUN apt update && apt upgrade -y && DEBIAN_FRONTEND=noninteractive apt install ros-humble-desktop -y && DEBIAN_FRONTEND=noninteractive apt install ros-dev-tools -y

RUN apt-get update && apt-get install -y --no-install-recommends git python3-pip RUN pip3 install empy pyros-genmsg setuptools

install MicroDDS Agent

WORKDIR / RUN git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git WORKDIR /Micro-XRCE-DDS-Agent RUN mkdir build WORKDIR /Micro-XRCE-DDS-Agent/build RUN cmake .. RUN make RUN make install RUN ldconfig /usr/local/lib/ RUN apt update && apt upgrade

install PX4 dependancies

WORKDIR / RUN mkdir -p /ros_ws/src WORKDIR /ros_ws/src RUN git clone https://github.com/PX4/px4_ros_com.git --recursive RUN git clone https://github.com/PX4/px4_msgs.git --recursive RUN pip3 install kconfiglib

build dependencies

WORKDIR /ros_ws RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc RUN source /opt/ros/humble/setup.bash RUN rosdep init RUN rosdep update RUN rosdep install -i --from-path src --rosdistro humble -y RUN source /opt/ros/humble/setup.bash && colcon build --symlink-install --packages-select px4_msgs RUN source /opt/ros/humble/setup.bash && colcon build --symlink-install --packages-select px4_ros_com`

Ubuntu 22.04 LTS is installed on the pi and docker.io is installed. This follows the guide here: https://docs.px4.io/main/en/companion_computer/pixhawk_rpi.html

Expected behavior

MicroXRCEAgent should connect to the client running on the Pixhawk 4

Actual behavior

MicroXRCEAgent offers the following output: /ros_ws: MicroXRCEAgent serial --dev /dev/ttyUSB0 -b 115200 -v6 [1709157626.383849] info | TermiosAgentLinux.cpp | init | running... | fd: 3 [1709157626.385726] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 6

Additional information

I have a script that runs a loopback test and confirms that the serial ports work and are accessable from in the docker container. On my USBtoTTL adaptor there is a light that indicates when data is being sent. This flashes even when there is no leads connected to the Tx pin. The light doesn't flash when the MicroXRCEAgent is runnning.

pablogs9 commented 4 months ago

As far as I see

/ros_ws: MicroXRCEAgent serial --dev /dev/ttyUSB0 -b 115200 -v6 [1709157626.383849] info | TermiosAgentLinux.cpp | init | running... | fd: 3 [1709157626.385726] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 6

Is a successful Micro XRCE-DDS Agent instance that is not stuck, so your Agent is built correctly and running correctly, if your client is not connecting to it maybe you need to check the behavior of your Micro XRCE-DDS Client.

Closing as not an issue.