Porting micro_ros_agent to Android
Hi everyone.
I’m trying to run micro_ros_agent
and the ping_pong
example on Android.
Currently compilation is done.
When I launches ping_pong, I got a DDS error from the agent side log:
micro_ros_agent udp4 -p 8888 -v 6 -m rtps
WARNING: linker: Warning: “/system/lib64/libc++_shared.so” unused DT entry: unknown processor-specific (type 0x70000001 arg 0x0) (ignoring)
[1631300905.970282] info | UDPv4AgentLinux.cpp | init | running… | port: 8888
[1631300905.971320] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 6
[1631300912.581017] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x00000000, len: 24, data:
0000: 80 00 00 00 00 01 10 00 58 52 43 45 01 00 01 0F 47 BE DC BE 81 00 FC 01
[1631300912.581299] info | Root.cpp | create_client | create | client_key: 0x47BEDCBE, session_id: 0x81
[1631300912.581483] info | SessionManager.hpp | establish_session | session established | client_key: 0x47BEDCBE, address: 127.0.0.1:47774
[1631300912.582069] debug | UDPv4AgentLinux.cpp | send_message | [** <> ] | client_key: 0x47BEDCBE, len: 19, data:
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00
[1631300912.582199] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x47BEDCBE, len: 44, data:
0000: 81 80 00 00 01 07 24 00 00 0A 00 01 01 03 00 00 16 00 00 00 00 01 FF FF 0E 00 00 00 70 69 6E 67
0020: 70 6F 6E 67 5F 6E 6F 64 65 00 00 00
[1631300912.582299] debug | ProxyClient.cpp | create_participant | DDS error | client_key: 0x47BEDCBE, participant_id: 0x000(1)
[1631300912.582502] debug | UDPv4AgentLinux.cpp | send_message | [ <> ] | client_key: 0x47BEDCBE, len: 14, data:
0000: 81 80 00 00 05 01 06 00 00 0A 00 01 80 00
[1631300912.582612] debug | UDPv4AgentLinux.cpp | send_message | [ <> **] | client_key: 0x47BEDCBE, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1631300912.583415] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x47BEDCBE, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
Any tips? And where should I start to debug this issue. Is there something like a check list? Thanks.
This sounds like something which should probably be posted on eProsima/Micro-XRCE-DDS-Agent instead of here on ROS Answers or perhaps micro-ROS/micro-ROS-Agent.
Having written that, this could be micro-ROS/micro_ros_setup#314. What helped me there was to make sure both sides were using compatible versions of the involved components (ie: you cannot mix-and-match Micro-ROS client versions with different Agent versions).
Hi @gvdhoorn. @Pablogs got the point. I was using the wrong DDS implementation. Thank you.