micro-ROS / micro-ROS/micro-ROS-Agent

Provide branch for ROS 2 Jazzy and update GIT_TAG for xrceagent

Đang mở
#223 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
C++
Star
201
Fork
111
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
10

Mô tả

## Issue template

This is a feature request. ROS 2 Rolling and [Jazzy depend on Fast-CDR 2.2.x](https://raw.githubusercontent.com/ros2/ros2/jazzy/ros2.repos). [Version 2.4.3 of Micro-XRCE-DDS-Agent](https://github.com/eProsima/Micro-XRCE-DDS-Agent/tree/v2.4.3) supports this but the GIT_TAG in the SuperBuild.cmake in the `rolling` branch refers to `ros2`

#### Steps to reproduce the issue

- Create a `colcon` workspace to build this repo, and source ROS Rolling before building.

#### Expected behavior

- micro-ROS-Agent will build in a `colcon` workspace that has sourced ROS Rolling.

#### Actual behavior

- micro-ROS-Agent will not build in a `colcon` workspace that has sourced ROS Rolling.

#### Additional information

Looks like this will require code changes as well, as micro-ROS-agent will not build against the updated Fast-CDR version. For example:

```bash
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:57:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:64:54: error: no member named 'getSerializedDataLength' in 'eprosima::fastcdr::Cdr'; did you mean 'get_serialized_data_length'?
payload->length = static_cast(scdr.getSerializedDataLength());
^~~~~~~~~~~~~~~~~~~~~~~
get_serialized_data_length
/Users/rhys/Code/ros2/rolling/ros2-rolling/install/fastcdr/include/fastcdr/Cdr.h:266:23: note: 'get_serialized_data_length' declared here
Cdr_DllAPI size_t get_serialized_data_length() const;
^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:80:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:149:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:156:54: error: no member named 'getSerializedDataLength' in 'eprosima::fastcdr::Cdr'; did you mean 'get_serialized_data_length'?
payload->length = static_cast(scdr.getSerializedDataLength());
^~~~~~~~~~~~~~~~~~~~~~~
get_serialized_data_length
/Users/rhys/Code/ros2/rolling/ros2-rolling/install/fastcdr/include/fastcdr/Cdr.h:266:23: note: 'get_serialized_data_length' declared here
Cdr_DllAPI size_t get_serialized_data_length() const;
^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:172:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
6 errors generated.
make[2]: *** [CMakeFiles/micro_ros_agent.dir/src/agent/graph_manager/graph_typesupport.cpp.o] Error 1
make[1]: *** [CMakeFiles/micro_ros_agent.dir/all] Error 2
```

This branch contains patches to fix the above issue: https://github.com/srmainwaring/micro-ROS-Agent/tree/prs/pr-rolling-fastcdr-2.2.x

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với SuperBuild.cmake trong branch rolling và kiểm tra GIT_TAG của Micro-XRCE-DDS-Agent. Tái hiện colcon build sau khi source ROS Rolling, sau đó xem lại graph_typesupport.cpp và các patch trong branch được tham chiếu prs/pr-rolling-fastcdr-2.2.x. Được xem là hoàn tất khi agent build được với Fast-CDR 2.2.x cho branch ROS 2 được yêu cầu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
build-system, robotics
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.