PYNQ2.6에 ROS/ROS2 설치

3101 단어 FPGAROS2ROSPYNQzynq
PYNQ 과 ROS/ROS2 의 조합이 즐거울 것 같습니다.

PYNQ는, 공식 지원 보드 그 외, Zynq가 실려 있는 보드라면 대부분 스스로 SD카드를 만들면 움직입니다( ).

그러나 일반 ROS2 설치 절차 에서 PYNQ에 ROS2를 넣으려고하면 잘 작동하지 않으므로 다음 수정이 필요합니다.

ROS2 버전: ros-eloquent-desktop
PYNQ 버전: PYNQ2.5 및 PYNQ2.6(Ubuntu18.04 기반)

덧붙여 : 5개월전에 ROS의 discurse에도 투고했습니다. . . Pynq2.3 및 ROS1도 마찬가지입니다.
htps : // ぢs 이렇게 r세. 로 s. 오 rg/t/인 s 타치 온-오-로 s-로 s2-온-py q/15549? fbc ぃ d = 이와 R3 pfS ぇlt0cssqz8PJ syXlC 정액 x 수 Z Zmm J 제 b5S

수정해야 할 사항은 다음 두 가지입니다.

1. 우분투 버전을 직접 작성



ROS2의 통상 순서라면 다음을 하라고 써 있습니다.
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'

그러나 PYNQ의 경우 $(lsb_release -cs)로 나오는 것이 bionic이 아니기 때문에 ROS/ROS2의 패키지 취득에 실패합니다.
 xilinx@pynq:~$ lsb_release -cs
 WFH

따라서 위의 대신 다음을 수행하십시오.
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu bionic main" > /etc/apt/sources.list.d/ros2-latest.list'

2. apt 소스 목록에 bionic-updates 추가



ROS2가 의존하는 fast-rtps는 libssl1.1 (>=1.1.1)을 필요로 합니다.
그러나 18.04 bionic (armhf or arm64) 버전은 libssl1.1.0g입니다.

따라서/etc/apt/sources.list.d/multistrap-bionic.list에 bionic-updates repository를 추가하십시오.
xilinx@pynq:~$ cat /etc/apt/sources.list.d/multistrap-bionic.list
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports bionic universe main
deb-src http://ports.ubuntu.com/ubuntu-ports bionic universe main
deb http://ports.ubuntu.com/ubuntu-ports bionic-updates main

([arch=armhf]는 환경에 따라 다를 수 있습니다.)

설치 및 동작 확인



이상의 조작을 실시하면, 무사 PYNQ상에 ROS2가 인스톨 할 수 있을 것입니다.
sudo apt update
sudo apt install ros-eloquent-desktop

두 개의 새로운 창을 열고 Talker와 Listener를 움직여 봅시다.
source /opt/ros/eloquent/setup.bash
ros2 run demo_nodes_cpp talker

그리고,
source /opt/ros/eloquent/setup.bash
ros2 run demo_nodes_py listener

잘 작동했습니까? ROS2에서는 ROS와 같은 마스터 노드(roscore)가 불필요하므로, 망설임이 없어도 좋네요.

좋은 웹페이지 즐겨찾기