I am having an issue when attempting to create a FollowJointTrajectory action server with MicroRos. My action server code is based on the fibonacci demo in micro-ROS-demos repo. The action client is based on this example.
Issue template
- Hardware description: Yaskawa Motoman YRC1000
- RTOS: VxWorks
- Installation type: Custom
- Version or commit hash: Galactic
uros/rmw-microxrcedds: b71c718
uros/micro-ROS-Agent: installed with micro_ros_setup
uros/rosidl_typesupport: 5afedecbf0150027e0d50aba86aef17824d4255e
uros/rosidl_typesupport_microxrcedds: 35b1212db08f67c0af727dcb1803cb417b84dcba
eProsima/Micro-CDR: c3420b63db2713cc9b9c2b122b46ce3e3dabac92
eProsima/Micro-XRCE-DDS-Client: private fork with customizations for hardware
Steps to reproduce the issue
I have stripped out any hardware-specific code and created an example that will run on Linux.
Server and Client: https://github.com/ted-miller/uros_action_issue
Start Agent:
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
source galactic
cd microros_ws
source install/local_setup.bash
ros2 run micro_ros_agent micro_ros_agent udp4 --port 2018
Start Server:
source galactic
export RMW_IMPLEMENTATION=rmw_microxrcedds
cd microros_ws
source install/local_setup.bash
ros2 run action_server server
Start Client:
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
source galactic
cd action_ws
source install/local_setup.bash
ros2 run action_tutorials_cpp example_position
Expected behavior
Console output should indicate that the action was accepted and successful.
Actual behavior
On Linux: On the server side, rcl_action_take_goal_request returns a 1 (failure) and the control_msgs__action__FollowJointTrajectory_SendGoal_Request message does not contain any positions.
On the Motoman: On the server side rcl_action_take_goal_request returns a 1 (failure) and the control_msgs__action__FollowJointTrajectory_SendGoal_Request message does not contain any positions. Additionally, the console output contains three messages stating cannot allocate received sequence in ros_message.
I searched for that error message and found it in msg__type_support_c.c.em. (Also, this is the first time I've ever seen EmberScript...)
I tweaked the output message a bit to get more info about the message type and the values that were being compared.
cannot allocate received sequence in ros_message (JointTrajectory)
size=6, capacity = 0
cannot allocate received sequence in ros_message (MultiDOFJointTrajectory)
size=6, capacity = 0
cannot allocate received sequence in ros_message (FollowJointTrajectory_Goal)
size=723236272, capacity = 0
Any help with this would be greatly appreciated. I don't understand what the error message is trying to indicate. Or rather, I guess I don't understand where those message were supposed to have been allocated.
I am having an issue when attempting to create a FollowJointTrajectory action server with MicroRos. My action server code is based on the fibonacci demo in micro-ROS-demos repo. The action client is based on this example.
Issue template
uros/rmw-microxrcedds: b71c718
uros/micro-ROS-Agent: installed with micro_ros_setup
uros/rosidl_typesupport: 5afedecbf0150027e0d50aba86aef17824d4255e
uros/rosidl_typesupport_microxrcedds: 35b1212db08f67c0af727dcb1803cb417b84dcba
eProsima/Micro-CDR: c3420b63db2713cc9b9c2b122b46ce3e3dabac92
eProsima/Micro-XRCE-DDS-Client: private fork with customizations for hardware
Steps to reproduce the issue
I have stripped out any hardware-specific code and created an example that will run on Linux.
Server and Client: https://github.com/ted-miller/uros_action_issue
Start Agent:
Start Server:
Start Client:
Expected behavior
Console output should indicate that the action was accepted and successful.
Actual behavior
On Linux: On the server side,
rcl_action_take_goal_requestreturns a1(failure) and thecontrol_msgs__action__FollowJointTrajectory_SendGoal_Requestmessage does not contain any positions.On the Motoman: On the server side
rcl_action_take_goal_requestreturns a1(failure) and thecontrol_msgs__action__FollowJointTrajectory_SendGoal_Requestmessage does not contain any positions. Additionally, the console output contains three messages statingcannot allocate received sequence in ros_message.I searched for that error message and found it in msg__type_support_c.c.em. (Also, this is the first time I've ever seen EmberScript...)
I tweaked the output message a bit to get more info about the message type and the values that were being compared.
Any help with this would be greatly appreciated. I don't understand what the error message is trying to indicate. Or rather, I guess I don't understand where those message were supposed to have been allocated.