Closed rsaintobert closed 1 year ago
Hi @rsaintobert Could you post a copy of the INIT_ROS.JBI file that was generated? Also, a copy of the PANELBOX.LOG file from your robot would be helpful. I'm wondering if your robot has some additional control group(s) configured.
Slightly off-topic, but on the FS100 branch I have https://github.com/gavanderhoorn/motoros2/commit/578a6101e71a6da140fb8ba17bdea3e07b848d21 which would print the 'offending' line during the check.
I might cherry-pick that to main
and submit a PR. Would make debugging this a bit easier perhaps.
Hi, here are the files.
I rebooted the controller several time today and so far I can see the ros node, but the alarm for invalid job still appears. I still don't know why the ros node is sometimes visible and sometimes not (boot order between agent and controller ?)
There is a difference here:
job MotoROS2 expects/generates:
TIMER T=0.05
job it 'sees' on your YRC1000m @rsaintobert:
TIMER T=0.050
@ted-miller: this is a similar difference to what I saw on the FS100 and I worked around/fixed with https://github.com/gavanderhoorn/motoros2/commit/6a79f9bf9fe28e09c0c2f9f3e5d45eeadd0e07e1. Would something similar be needed for the YRC1000m?
I tried to update the job manually and I confirm the YRC1000m adds a trailing 0 when entering 0.05 value.
Yes, that's also why I didn't suggest editing it. It wouldn't have worked.
this is a similar difference to what I saw on the FS100 and I worked around/fixed with https://github.com/gavanderhoorn/motoros2/commit/6a79f9bf9fe28e09c0c2f9f3e5d45eeadd0e07e1. Would something similar be needed for the YRC1000m?
What if we simply change strncmp
to strstr
?
https://github.com/Yaskawa-Global/motoros2/blob/4ab13e96ab1047fe232068d22cb2aa1d66c5f18e/src/InformCheckerAndGenerator.c#L263
Hm, could do that.
It wouldn't be the same though.
I personally like being specific about things.
Edit: but I won't block a PR if you decide to submit one.
@rsaintobert
For an immediate remedy, you can uncomment allow_custom_inform
in the config file and set it to true
. This will prevent the alarm from occurring.
To update the config file: https://github.com/Yaskawa-Global/motoros2#updating-the-configuration
Thanks for reporting the issue @rsaintobert :+1:
This should be fixed in 0.1.2
, which will be released in October.
ROS2 Version: Humble MotoROS2 Version: Latest (0.1.1) MicroROS Version: Latest YRC1000u GP7
Hi. I am having trouble to make the driver work. I followed the installation procedure and I let MotoROS2 generate the INIT_ROS job. I started the micro ros agent using the docker image and executed the "ros2 node list" cmd into the container (docker exec -it) but no ros node was visible. After reboot of the controller, the INIT_ROS job is detected as invalid and the alarm 8014 is raised. No ROS node is visible.
The weird thing is that I turns out to work one time without changing anything apparently. I was able to see the node and listen to the /joint_states topic, but after a reboot the problem appeared again.
Here are the logs of the agent
``` local-micro-ros-agent-1 | [1695908233.380252] info | UDPv4AgentLinux.cpp | init | running... | port: 9999 local-micro-ros-agent-1 | [1695908233.380331] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4 local-micro-ros-agent-1 | [1695908315.098871] info | ProxyClient.cpp | ProxyClient | session hard timeout enabled | client_key: 0xB5258455, timeout: 10000 ms local-micro-ros-agent-1 | [1695908315.098906] info | Root.cpp | create_client | create | client_key: 0xB5258455, session_id: 0x81 local-micro-ros-agent-1 | [1695908315.098964] info | SessionManager.hpp | establish_session | session established | client_key: 0xB5258455, address: 192.168.255.1:42474 local-micro-ros-agent-1 | [1695908315.110142] info | ProxyClient.cpp | create_participant | participant created | client_key: 0xB5258455, participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.128229] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x000(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.129441] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x000(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.132151] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x000(5), publisher_id: 0x000(3) local-micro-ros-agent-1 | [1695908315.234171] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x001(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.236989] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x001(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.240042] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x001(5), publisher_id: 0x001(3) local-micro-ros-agent-1 | [1695908315.245597] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x002(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.248058] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x002(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.250550] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x002(5), publisher_id: 0x002(3) local-micro-ros-agent-1 | [1695908315.253837] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x003(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.256189] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x003(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.259048] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x003(5), publisher_id: 0x003(3) local-micro-ros-agent-1 | [1695908315.262554] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x000(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.266670] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x001(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.268991] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x002(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.271409] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x004(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.274315] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x004(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.276964] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x004(5), publisher_id: 0x004(3) local-micro-ros-agent-1 | [1695908315.279497] info | ProxyClient.cpp | create_topic | topic created | client_key: 0xB5258455, topic_id: 0x005(2), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.281887] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0xB5258455, publisher_id: 0x005(3), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.285010] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0xB5258455, datawriter_id: 0x005(5), publisher_id: 0x005(3) local-micro-ros-agent-1 | [1695908315.334888] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x003(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.339744] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x004(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.342384] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x005(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.346158] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x006(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.350938] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x007(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.354202] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x008(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.358204] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x009(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.360912] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x00A(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.363761] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x00B(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.369887] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x00C(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.373540] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x00D(7), participant_id: 0x000(1) local-micro-ros-agent-1 | [1695908315.376741] info | ProxyClient.cpp | create_replier | replier created | client_key: 0xB5258455, requester_id: 0x00E(7), participant_id: 0x000(1) ```The logs of the debug after first boot
``` [2023-09-28 15:36:17.904400] [192.168.255.1:57070]: --- [2023-09-28 15:36:17.904600] [192.168.255.1:57070]: MotoROS2 0.1.1 - boot [2023-09-28 15:36:17.904600] [192.168.255.1:57070]: M+ libmicroros version: 'humble-20221102-dbg' [2023-09-28 15:36:17.904800] [192.168.255.1:57070]: PlatformLib version: 0.2.11 [2023-09-28 15:36:17.923200] [192.168.255.1:57070]: No new configuration file found on CN102 USB drive. [2023-09-28 15:36:17.923200] [192.168.255.1:57070]: Checking configuration file: motoros2_config.yaml [2023-09-28 15:36:18.072800] [192.168.255.1:57070]: Ros_ConfigFile_HostOnNetworkInterface: checking '192.168.255.20' on iface 1 [2023-09-28 15:36:18.073000] [192.168.255.1:57070]: Ros_ConfigFile_HostOnNetworkInterface: exit: on network: true [2023-09-28 15:36:18.073000] [192.168.255.1:57070]: UserLan monitor enabled, checking port setting .. [2023-09-28 15:36:18.073000] [192.168.255.1:57070]: Ros_ConfigFile_HostOnNetworkInterface: checking '192.168.255.20' on iface 1 [2023-09-28 15:36:18.073200] [192.168.255.1:57070]: Ros_ConfigFile_HostOnNetworkInterface: exit: on network: true [2023-09-28 15:36:18.073200] [192.168.255.1:57070]: UserLan monitor auto-detect port: 1 [2023-09-28 15:36:18.073200] [192.168.255.1:57070]: Config: ros_domain_id = 0 [2023-09-28 15:36:18.073800] [192.168.255.1:57070]: Config: node_name = 'motoman_25_84_55' [2023-09-28 15:36:18.073800] [192.168.255.1:57070]: Config: node_namespace = '' [2023-09-28 15:36:18.073800] [192.168.255.1:57070]: Config: remap_rules = '' [2023-09-28 15:36:18.073800] [192.168.255.1:57070]: Config: agent_ip_address = '192.168.255.20' [2023-09-28 15:36:18.074600] [192.168.255.1:57070]: Config: agent_port_number = '9999' [2023-09-28 15:36:18.074600] [192.168.255.1:57070]: Config: sync_timeclock_with_agent = 1 [2023-09-28 15:36:18.074600] [192.168.255.1:57070]: Config: namespace_tf = 1 [2023-09-28 15:36:18.074800] [192.168.255.1:57070]: Config: publish_tf = 0 [2023-09-28 15:36:18.074800] [192.168.255.1:57070]: List of configured joint names: [2023-09-28 15:36:18.074800] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.074800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075400] [192.168.255.1:57070]: x [2023-09-28 15:36:18.075600] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.075600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078400] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078400] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.078600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.078800] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.079000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079400] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079800] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.079800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.079800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.080000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.080000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.080000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.080000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082400] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082400] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.082400] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.082800] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.083000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083200] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083600] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083800] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.083800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.083800] [192.168.255.1:57070]: x [2023-09-28 15:36:18.084000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.084000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.084000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.084000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.087000] [192.168.255.1:57070]: x [2023-09-28 15:36:18.087000] [192.168.255.1:57070]: --- [2023-09-28 15:36:18.087000] [192.168.255.1:57070]: Config: logging.log_to_stdout = 0 [2023-09-28 15:36:18.087200] [192.168.255.1:57070]: Config: update_periods.executor_sleep_period = 10 [2023-09-28 15:36:18.087200] [192.168.255.1:57070]: Config: update_periods.action_feedback_publisher_period = 20 [2023-09-28 15:36:18.087400] [192.168.255.1:57070]: Config: update_periods.controller_status_monitor_period = 10 [2023-09-28 15:36:18.087600] [192.168.255.1:57070]: Config: publisher_qos.robot_status = 'sensor_data' [2023-09-28 15:36:18.087600] [192.168.255.1:57070]: Config: publisher_qos.joint_states = 'sensor_data' [2023-09-28 15:36:18.088000] [192.168.255.1:57070]: Config: publisher_qos.tf = 'default' [2023-09-28 15:36:18.088000] [192.168.255.1:57070]: Config: tf_frame_prefix = '' [2023-09-28 15:36:18.088000] [192.168.255.1:57070]: Config: stop_motion_on_disconnect = 1 [2023-09-28 15:36:18.088000] [192.168.255.1:57070]: Config: inform_job_name = 'INIT_ROS' [2023-09-28 15:36:18.088200] [192.168.255.1:57070]: Config: allow_custom_inform_job = 0 [2023-09-28 15:36:18.088200] [192.168.255.1:57070]: Config: userlan_monitor_enabled = 1 [2023-09-28 15:36:18.088200] [192.168.255.1:57070]: Config: userlan_monitor_port = 1 [2023-09-28 15:36:18.088400] [192.168.255.1:57070]: Waiting for robot alarms to clear... [2023-09-28 15:36:20.590400] [192.168.255.1:57070]: RMW settings 1: 1000; 0; 1000; 256; 256; 512 [2023-09-28 15:36:20.590400] [192.168.255.1:57070]: RMW settings 2: 1; 1; 30; 15; 30; 1; -1 [2023-09-28 15:36:20.590400] [192.168.255.1:57070]: RMW settings 3: 60; 120; 100; 100 [2023-09-28 15:36:20.590600] [192.168.255.1:57070]: Using ROS domain ID: 0 [2023-09-28 15:36:20.590600] [192.168.255.1:57070]: Using client key: 0xB5258455 [2023-09-28 15:36:20.590600] [192.168.255.1:57070]: Attempting to connect to micro-ROS PC Agent (at udp://192.168.255.20:9999) [1970-01-01 00:00:00.000000] [192.168.255.1:57070]: Found micro-ROS PC Agent [2023-09-28 15:36:21.610000] [192.168.255.1:57070]: rclc_support_init_with_options = 0 [2023-09-28 15:36:21.610200] [192.168.255.1:57070]: remap_rules str: '' [2023-09-28 15:36:21.610200] [192.168.255.1:57070]: len(remap_rules str): 0 [2023-09-28 15:36:21.610200] [192.168.255.1:57070]: num parsed remap rules: 0 [2023-09-28 15:36:21.610400] [192.168.255.1:57070]: faux argc: 2 [2023-09-28 15:36:21.610400] [192.168.255.1:57070]: rcl_parse_arguments = 0 [2023-09-28 15:36:21.621000] [192.168.255.1:57070]: rclc_node_init_with_options = 0 [2023-09-28 15:36:21.621200] [192.168.255.1:57070]: Ros_Communication_Initialize(..):comm_exec_init: memory free: 1045920 bytes, delta: -776 [2023-09-28 15:36:21.621200] [192.168.255.1:57070]: Initializing controller [2023-09-28 15:36:21.621200] [192.168.255.1:57070]: Number of motion groups: 1 (max supported: 8) [2023-09-28 15:36:21.636200] [192.168.255.1:57070]: axisType[0]: Rot Rot Rot Rot Rot Rot --- --- [2023-09-28 15:36:21.636200] [192.168.255.1:57070]: pulse->unit[0]: 71116.2160 86919.8196 65189.8647 48892.3985 41721.5134 26634.7161 -- -- [2023-09-28 15:36:21.636400] [192.168.255.1:57070]: maxInc[0] (in motoman joint order): 1861, 1911, 1865, 1877, 1601, 1862, 0 [2023-09-28 15:36:21.636400] [192.168.255.1:57070]: maxSpeed[0] (in ros joint order): 6.542108, 5.496445, 7.152185, 9.597606, 9.593372, 17.477190, 0.000000 [2023-09-28 15:36:21.636400] [192.168.255.1:57070]: Creating new task: Add To Inc Q (Group 1) [2023-09-28 15:36:21.636600] [192.168.255.1:57070]: Created ctrl group 0, memfree = (1008152) bytes [2023-09-28 15:36:21.643200] [192.168.255.1:57070]: Creating new task: IncMoveTask [2023-09-28 15:36:21.643400] [192.168.255.1:57070]: IncMoveTask Started [2023-09-28 15:36:21.643800] [192.168.255.1:57070]: Eco-mode: enabled [2023-09-28 15:36:21.644000] [192.168.255.1:57070]: Eco-mode: timeout: 10 min [2023-09-28 15:36:21.644000] [192.168.255.1:57070]: Ros_Controller_Initialize(..):ctrlr_init: memory free: 1007832 bytes, delta: -38088 [2023-09-28 15:36:21.644000] [192.168.255.1:57070]: Checking validity of robot job: INIT_ROS [2023-09-28 15:36:21.670000] [192.168.255.1:57070]: Job file doesn't exist [2023-09-28 15:36:21.670200] [192.168.255.1:57070]: Generating INFORM job in temporary location 'MPRAM1:0\INIT_ROS.JBI' [2023-09-28 15:36:21.742400] [192.168.255.1:57070]: Generated INFORM job, loaded as 'INIT_ROS' [2023-09-28 15:36:21.742600] [192.168.255.1:57070]: Initializing PositionMonitor publishers [2023-09-28 15:36:21.762200] [192.168.255.1:57070]: PositionMonitor: publishing TF to 'tf' [2023-09-28 15:36:21.770200] [192.168.255.1:57070]: Ros_PositionMonitor_Initialize(..):pos_mon_init: memory free: 1005320 bytes, delta: -2512 [2023-09-28 15:36:21.770400] [192.168.255.1:57070]: Initializing ActionServer FollowJointTrajectory [2023-09-28 15:36:21.796200] [192.168.255.1:57070]: Allocating FollowJointTrajectory goal request [2023-09-28 15:36:21.796200] [192.168.255.1:57070]: Maximum length of trajectories: 200 points [2023-09-28 15:36:21.810000] [192.168.255.1:57070]: g_actionServer_FJT_SendGoal_Request__sizeof = 451008 [2023-09-28 15:36:21.842400] [192.168.255.1:57070]: Ros_ActionServer_FJT_Initialize(..):fjt_init: memory free: 1003464 bytes, delta: -1856 [2023-09-28 15:36:21.847400] [192.168.255.1:57070]: Ros_ServiceQueueTrajPoint_Initialize(..):svc_queue_point_init: memory free: 996216 bytes, delta: -7248 [2023-09-28 15:36:21.869000] [192.168.255.1:57070]: Ros_ServiceReadWriteIO_Initialize(..):svc_rw_io_init: memory free: 994504 bytes, delta: -1712 [2023-09-28 15:36:21.872000] [192.168.255.1:57070]: Ros_ServiceResetError_Initialize(..):svc_reset_error_init: memory free: 994224 bytes, delta: -280 [2023-09-28 15:36:21.874600] [192.168.255.1:57070]: Ros_ServiceStartTrajMode_Initialize(..):svc_start_traj_mode_init: memory free: 993928 bytes, delta: -296 [2023-09-28 15:36:21.881200] [192.168.255.1:57070]: Ros_ServiceStartPointQueueMode_Initialize(..):svc_start_point_queue_mode_init: memory free: 993632 bytes, delta: -296 [2023-09-28 15:36:21.884200] [192.168.255.1:57070]: Ros_ServiceStopTrajMode_Initialize(..):svc_stop_traj_mode_init: memory free: 993344 bytes, delta: -288 [2023-09-28 15:36:21.888600] [192.168.255.1:57070]: Ros_ServiceSelectMotionTool_Initialize(..):svc_select_tool_init: memory free: 993048 bytes, delta: -296 [2023-09-28 15:36:21.888800] [192.168.255.1:57070]: Initialization complete. Memory available: (993048) bytes. Memory in use: (55528) bytes [2023-09-28 15:36:21.891200] [192.168.255.1:57070]: Starting UserLan link state monitor (port: 1) ```The logs of the debug at reboot indicating that the job is invalid
``` [2023-09-28 15:46:42.143000] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.143200] [192.168.255.1:50187]: MotoROS2 0.1.1 - boot [2023-09-28 15:46:42.143200] [192.168.255.1:50187]: M+ libmicroros version: 'humble-20221102-dbg' [2023-09-28 15:46:42.143200] [192.168.255.1:50187]: PlatformLib version: 0.2.11 [2023-09-28 15:46:42.169400] [192.168.255.1:50187]: No new configuration file found on CN102 USB drive. [2023-09-28 15:46:42.169800] [192.168.255.1:50187]: Checking configuration file: motoros2_config.yaml [2023-09-28 15:46:42.326000] [192.168.255.1:50187]: Ros_ConfigFile_HostOnNetworkInterface: checking '192.168.255.20' on iface 1 [2023-09-28 15:46:42.326000] [192.168.255.1:50187]: Ros_ConfigFile_HostOnNetworkInterface: exit: on network: true [2023-09-28 15:46:42.326000] [192.168.255.1:50187]: UserLan monitor enabled, checking port setting .. [2023-09-28 15:46:42.326600] [192.168.255.1:50187]: Ros_ConfigFile_HostOnNetworkInterface: checking '192.168.255.20' on iface 1 [2023-09-28 15:46:42.326800] [192.168.255.1:50187]: Ros_ConfigFile_HostOnNetworkInterface: exit: on network: true [2023-09-28 15:46:42.326800] [192.168.255.1:50187]: UserLan monitor auto-detect port: 1 [2023-09-28 15:46:42.326800] [192.168.255.1:50187]: Config: ros_domain_id = 0 [2023-09-28 15:46:42.327000] [192.168.255.1:50187]: Config: node_name = 'motoman_25_84_55' [2023-09-28 15:46:42.327000] [192.168.255.1:50187]: Config: node_namespace = '' [2023-09-28 15:46:42.327000] [192.168.255.1:50187]: Config: remap_rules = '' [2023-09-28 15:46:42.327000] [192.168.255.1:50187]: Config: agent_ip_address = '192.168.255.20' [2023-09-28 15:46:42.327200] [192.168.255.1:50187]: Config: agent_port_number = '9999' [2023-09-28 15:46:42.327200] [192.168.255.1:50187]: Config: sync_timeclock_with_agent = 1 [2023-09-28 15:46:42.327200] [192.168.255.1:50187]: Config: namespace_tf = 1 [2023-09-28 15:46:42.327400] [192.168.255.1:50187]: Config: publish_tf = 0 [2023-09-28 15:46:42.327400] [192.168.255.1:50187]: List of configured joint names: [2023-09-28 15:46:42.327400] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.327800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.327800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.327800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.327800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328200] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.328200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328600] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328600] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328600] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.328600] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.328800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329000] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.329200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.329800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330000] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.330000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.330400] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.332800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.332800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.332800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333200] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.333200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.333800] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334000] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.334000] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334200] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334400] [192.168.255.1:50187]: x [2023-09-28 15:46:42.334600] [192.168.255.1:50187]: --- [2023-09-28 15:46:42.334600] [192.168.255.1:50187]: Config: logging.log_to_stdout = 0 [2023-09-28 15:46:42.334600] [192.168.255.1:50187]: Config: update_periods.executor_sleep_period = 10 [2023-09-28 15:46:42.334600] [192.168.255.1:50187]: Config: update_periods.action_feedback_publisher_period = 20 [2023-09-28 15:46:42.334800] [192.168.255.1:50187]: Config: update_periods.controller_status_monitor_period = 10 [2023-09-28 15:46:42.334800] [192.168.255.1:50187]: Config: publisher_qos.robot_status = 'sensor_data' [2023-09-28 15:46:42.334800] [192.168.255.1:50187]: Config: publisher_qos.joint_states = 'sensor_data' [2023-09-28 15:46:42.335000] [192.168.255.1:50187]: Config: publisher_qos.tf = 'default' [2023-09-28 15:46:42.335000] [192.168.255.1:50187]: Config: tf_frame_prefix = '' [2023-09-28 15:46:42.335000] [192.168.255.1:50187]: Config: stop_motion_on_disconnect = 1 [2023-09-28 15:46:42.335000] [192.168.255.1:50187]: Config: inform_job_name = 'INIT_ROS' [2023-09-28 15:46:42.335200] [192.168.255.1:50187]: Config: allow_custom_inform_job = 0 [2023-09-28 15:46:42.335400] [192.168.255.1:50187]: Config: userlan_monitor_enabled = 1 [2023-09-28 15:46:42.335400] [192.168.255.1:50187]: Config: userlan_monitor_port = 1 [2023-09-28 15:46:42.335800] [192.168.255.1:50187]: Waiting for robot alarms to clear... [2023-09-28 15:46:44.837600] [192.168.255.1:50187]: RMW settings 1: 1000; 0; 1000; 256; 256; 512 [2023-09-28 15:46:44.838000] [192.168.255.1:50187]: RMW settings 2: 1; 1; 30; 15; 30; 1; -1 [2023-09-28 15:46:44.838000] [192.168.255.1:50187]: RMW settings 3: 60; 120; 100; 100 [2023-09-28 15:46:44.838400] [192.168.255.1:50187]: Using ROS domain ID: 0 [2023-09-28 15:46:44.838400] [192.168.255.1:50187]: Using client key: 0xB5258455 [2023-09-28 15:46:44.838600] [192.168.255.1:50187]: Attempting to connect to micro-ROS PC Agent (at udp://192.168.255.20:9999) [1970-01-01 00:00:00.000000] [192.168.255.1:50187]: Found micro-ROS PC Agent [2023-09-28 15:46:45.861400] [192.168.255.1:50187]: rclc_support_init_with_options = 0 [2023-09-28 15:46:45.864200] [192.168.255.1:50187]: remap_rules str: '' [2023-09-28 15:46:45.864200] [192.168.255.1:50187]: len(remap_rules str): 0 [2023-09-28 15:46:45.864400] [192.168.255.1:50187]: num parsed remap rules: 0 [2023-09-28 15:46:45.864400] [192.168.255.1:50187]: faux argc: 2 [2023-09-28 15:46:45.864400] [192.168.255.1:50187]: rcl_parse_arguments = 0 [2023-09-28 15:46:45.872400] [192.168.255.1:50187]: rclc_node_init_with_options = 0 [2023-09-28 15:46:45.872600] [192.168.255.1:50187]: Ros_Communication_Initialize(..):comm_exec_init: memory free: 1045920 bytes, delta: -776 [2023-09-28 15:46:45.872600] [192.168.255.1:50187]: Initializing controller [2023-09-28 15:46:45.872600] [192.168.255.1:50187]: Number of motion groups: 1 (max supported: 8) [2023-09-28 15:46:45.884400] [192.168.255.1:50187]: axisType[0]: Rot Rot Rot Rot Rot Rot --- --- [2023-09-28 15:46:45.884600] [192.168.255.1:50187]: pulse->unit[0]: 71116.2160 86919.8196 65189.8647 48892.3985 41721.5134 26634.7161 -- -- [2023-09-28 15:46:45.884600] [192.168.255.1:50187]: maxInc[0] (in motoman joint order): 1861, 1911, 1865, 1877, 1601, 1862, 0 [2023-09-28 15:46:45.884800] [192.168.255.1:50187]: maxSpeed[0] (in ros joint order): 6.542108, 5.496445, 7.152185, 9.597606, 9.593372, 17.477190, 0.000000 [2023-09-28 15:46:45.884800] [192.168.255.1:50187]: Creating new task: Add To Inc Q (Group 1) [2023-09-28 15:46:45.885000] [192.168.255.1:50187]: Created ctrl group 0, memfree = (1008152) bytes [2023-09-28 15:46:45.893600] [192.168.255.1:50187]: Creating new task: IncMoveTask [2023-09-28 15:46:45.894200] [192.168.255.1:50187]: IncMoveTask Started [2023-09-28 15:46:45.894200] [192.168.255.1:50187]: Eco-mode: enabled [2023-09-28 15:46:45.894200] [192.168.255.1:50187]: Eco-mode: timeout: 10 min [2023-09-28 15:46:45.894400] [192.168.255.1:50187]: Ros_Controller_Initialize(..):ctrlr_init: memory free: 1007832 bytes, delta: -38088 [2023-09-28 15:46:45.894400] [192.168.255.1:50187]: Checking validity of robot job: INIT_ROS [2023-09-28 15:46:45.950400] [192.168.255.1:50187]: Job has invalid contents [2023-09-28 15:46:45.950600] [192.168.255.1:50187]: Job exists, but is invalid. [2023-09-28 15:46:45.972600] [192.168.255.1:50187]: Initializing PositionMonitor publishers [2023-09-28 15:46:45.990600] [192.168.255.1:50187]: PositionMonitor: publishing TF to 'tf' [2023-09-28 15:46:46.000400] [192.168.255.1:50187]: Ros_PositionMonitor_Initialize(..):pos_mon_init: memory free: 1005320 bytes, delta: -2512 [2023-09-28 15:46:46.000400] [192.168.255.1:50187]: Initializing ActionServer FollowJointTrajectory [2023-09-28 15:46:46.027600] [192.168.255.1:50187]: Allocating FollowJointTrajectory goal request [2023-09-28 15:46:46.028000] [192.168.255.1:50187]: Maximum length of trajectories: 200 points [2023-09-28 15:46:46.042600] [192.168.255.1:50187]: g_actionServer_FJT_SendGoal_Request__sizeof = 451008 [2023-09-28 15:46:46.074800] [192.168.255.1:50187]: Ros_ActionServer_FJT_Initialize(..):fjt_init: memory free: 1003464 bytes, delta: -1856 [2023-09-28 15:46:46.078000] [192.168.255.1:50187]: Ros_ServiceQueueTrajPoint_Initialize(..):svc_queue_point_init: memory free: 996216 bytes, delta: -7248 [2023-09-28 15:46:46.107600] [192.168.255.1:50187]: Ros_ServiceReadWriteIO_Initialize(..):svc_rw_io_init: memory free: 994504 bytes, delta: -1712 [2023-09-28 15:46:46.112600] [192.168.255.1:50187]: Ros_ServiceResetError_Initialize(..):svc_reset_error_init: memory free: 994224 bytes, delta: -280 [2023-09-28 15:46:46.116800] [192.168.255.1:50187]: Ros_ServiceStartTrajMode_Initialize(..):svc_start_traj_mode_init: memory free: 993928 bytes, delta: -296 [2023-09-28 15:46:46.119400] [192.168.255.1:50187]: Ros_ServiceStartPointQueueMode_Initialize(..):svc_start_point_queue_mode_init: memory free: 993632 bytes, delta: -296 [2023-09-28 15:46:46.122800] [192.168.255.1:50187]: Ros_ServiceStopTrajMode_Initialize(..):svc_stop_traj_mode_init: memory free: 993344 bytes, delta: -288 [2023-09-28 15:46:46.125400] [192.168.255.1:50187]: Ros_ServiceSelectMotionTool_Initialize(..):svc_select_tool_init: memory free: 993048 bytes, delta: -296 [2023-09-28 15:46:46.125600] [192.168.255.1:50187]: Initialization complete. Memory available: (993048) bytes. Memory in use: (55528) bytes [2023-09-28 15:46:46.128600] [192.168.255.1:50187]: Starting UserLan link state monitor (port: 1) ```The config file
```yaml --- # SPDX-FileCopyrightText: 2022-2023, Yaskawa America, Inc. # SPDX-FileCopyrightText: 2022-2023, Delft University of Technology # # SPDX-License-Identifier: Apache-2.0 #----------------------------------------------------------------------------- # REQUIRED # IP address and UDP port number of the Micro-ROS Agent PC. All communication # to/from MotoROS2 will route through the Agent application. # (There is no default value for these fields. They must be specified by # the user.) agent_ip_address: "192.168.255.20" agent_port_number: 9999 # Any settings that are not specified will be set to their DEFAULT value. #----------------------------------------------------------------------------- # The (DDS) domain to join # # Please refer to the ROS 2 documentation on DDS domain IDs for more # information. This setting works exactly like its ROS 2 analogue. # # DEFAULT: 0 (the default ROS 2 domain ID) #ros_domain_id: 0 #----------------------------------------------------------------------------- # Name under which MotoROS2 should register with the ROS 2 node graph. # # DEFAULT: "motoman_xx_yy_zz" (xyz: last three bytes of robot's MAC address) #node_name: "" #----------------------------------------------------------------------------- # Namespace to use for the MotoROS2 node and all topics. # # DEFAULT: "" (empty string) #node_namespace: "" #----------------------------------------------------------------------------- # Remap rules to apply to ROS 2 resource names. # # This configures the micro-ROS equivalent of the ROS 2 remap functionality. # # The current implementation expects all remap rules as a single, # space-separated string. Whitespace in resource names is not allowed, so # this should not pose any issues. # # Maximum total length of the remap_rules string: 255 chars. Any characters # beyond that will be ignored (and likely result in parsing failures). # # Please refer to the ROS 2 documentation on remapping for more information # on syntax and contraints. # # Example: the following remaps the 'joint_states' topic to 'my_joint_states', # and the 'read_single_io' service to 'io/read_single': # # "joint_states:=my_joint_states read_single_io:=io/read_single" # # DEFAULT: "" (empty string) #remap_rules: "" #----------------------------------------------------------------------------- # This will ensure that when timestamps are sampled, they will match the clock # of the Agent PC. This is useful if the date/time of the robot controller is # not synchronized. # # DEFAULT: true sync_timeclock_with_agent: true #----------------------------------------------------------------------------- # Should MotoROS2 monitor the link state of the ethernet port used to # communicate with the Agent? # # If enabled, this will cause immediate notification of loss-of-connection # when the link goes down, causing MotoROS2 to activate it's shutdown # behaviour (ie: stop all motion (if enabled), release resources, wait for # link up and attempt reconnection with the Agent). # # If this is disabled, Agent disconnection detection uses an application # layer based timeout mechanism which takes longer to detect disconnects (but # might be more robust against intermittent link-layer disconnects which do not # cause network disconnections). # # DEFAULT: true #userlan_monitor_enabled: true #----------------------------------------------------------------------------- # Which port should MotoROS2 monitor, if 'userlan_monitor_enabled' is 'true'? # # If not specified, MotoROS2 will attempt to auto-detect the network port # that is used to connect to the micro-ROS Agent. It will do this by # comparing the 'agent_ip_address' setting against the IP addresses (and # netmasks) of all available network interfaces. # # If the Agent can be reached directly over a particular interface, or via a # configured default gateway on the same interface, the associated port will be # monitored for link drops. # # To disable auto-detection, uncomment 'userlan_monitor_port' below and set # it to the desired port. # # NOTE: this setting only applies to YRC1000 and YRC1000u controllers. # DX200 and FS100 controllers only have a single ethernet port, and any # value other than 1 will be ignored. # # NOTE 2: auto-detection is not perfect. It can't determine whether the Agent # might be reachable using multiple hops. Nor can it determine whether # any routers have been configured to forward particular types of # traffic or firewalls exist between MotoROS2 and the micro-ROS Agent. # For deployments with complex network configurations, disable # auto-detection by configuring 'userlan_monitor_port' below. # # NOTE 3: the port specified here is NOT checked against 'agent_ip_address'. # In other words: if 'agent_ip_address' is on 'USER_LAN1', but # 'userlan_monitor_port' is set to 'USER_LAN2', MotoROS2 will detect # link down events on 'USER_LAN2', whether or not that port is used # to communicate with the Agent. # # OPTIONS: USER_LAN1, USER_LAN2 # DEFAULT: USER_LAN1 #userlan_monitor_port: USER_LAN1 #----------------------------------------------------------------------------- # If the Agent PC disconnects from the robot while it is in motion, should the # robot come to a stop? # # DEFAULT: true stop_motion_on_disconnect: true #----------------------------------------------------------------------------- # Should MotoROS2 broadcast transforms on '/tf'? This can be disabled if # the data will interfere with applications such as robot_state_publisher. # # DEFAULT: true publish_tf: false #----------------------------------------------------------------------------- # Should the 'tf' topic be namespaced if 'node_namespace' is configured with a # non-empty string? # # Setting this to 'false' will make MotoROS2 broadcast transforms on the '/tf' # global topic, which cannot be namespaced (due to being an absolute name). # Otherwise, it will broadcast on 'tf', which can be namespaced. # # DEFAULT: true namespace_tf: true #----------------------------------------------------------------------------- # Similar to the 'frame_prefix' parameter of the ROS 2 'robot_state_publisher' # node. All published TF frames will be prefixed with this string. # # Example: with this parameter set to "left/", the "r1/tool0" frame would be # published as "left/r1/tool0". # # NOTE: the prefix must include a separator (fi: '/') if one should be included # in the final name of the TF frames. Such a separator is not added # automatically. # # DEFAULT: "" (empty string) #tf_frame_prefix: "" #----------------------------------------------------------------------------- # Joints in this configuration file must be listed in the order of Robots, # Base-axes, Station-axes. # # Example: R1+B1+R2+S1 system # # joint_names: # - [r1_s_axis, r1_l_axis, r1_u_axis, r1_r_axis, r1_b_axis, r1_t_axis] # - [r2_s_axis, r2_l_axis, r2_u_axis, r2_r_axis, r2_b_axis, r2_t_axis, r2_e_axis] # - [b1_axis] # - [s1_axis_1, s1_axis_2] # # When using a 7 axis robot arm with an elbow joint (E) in the middle of the # arm, the elbow axis should be listed last (SLURBTE). # # DEFAULT: "group_x/joint_y" #joint_names: #- [group_1/joint_1, group_1/joint_2, group_1/joint_3, group_1/joint_4, group_1/joint_5, group_1/joint_6] #----------------------------------------------------------------------------- # Logging settings logging: # All log messages are broadcast on the network on port UDP 21789. # Additionally, the messages can be printed to the standard output stream of # the robot controller. This would be visible over a telnet connection, or by # attaching a VGA debug monitor to the robot controller. # # NOTE: this WILL slow down the application. # # DEFAULT: false log_to_stdout: false #----------------------------------------------------------------------------- update_periods: # The delay between checks for incoming activity on the network. A lower # number will result in quicker responsiveness to received messages. # Additionally, it determines the rate at which the feedback_publisher timers # are checked. # This value should be <= to action_feedback_publisher_period as executor_sleep_period # is the rate at which the action-feedback timer is checked. If the value for # action_feedback_publisher_period is < executor_sleep_period, it will effectively # be treated as having the same value executor_sleep_period at runtime. # # DEFAULT: 10 milliseconds executor_sleep_period: 10 # The delay between each publish of feedback position and status information. # A lower number will publish the feedback data more frequently. # This value should be >= to executor_sleep_period and # controller_status_monitor_period. # # DEFAULT: 20 milliseconds action_feedback_publisher_period: 20 # The delay between each poll of the robot I/O and controller status data. # This value should be <= to action_feedback_publisher_period. # # DEFAULT: 10 milliseconds controller_status_monitor_period: 10 #----------------------------------------------------------------------------- # QoS profile to use for various publishers MotoROS2 creates. # The default values here are based on tests and inspection of the source code # of typical consumers of messages on these topics. # # NOTE : RViz2 expects/requires 'tf' to use the 'default' profile (ie: reliable). # NOTE2: MoveIt2 expects/requires 'joint_states' to use the 'default' profile. publisher_qos: # DEFAULT: sensor_data robot_status: sensor_data # DEFAULT: sensor_data joint_states: sensor_data # DEFAULT: default tf: default #----------------------------------------------------------------------------- # Name of the INFORM job to be used (and monitored) by MotoROS2. # # Maximum length: 32 UTF-8 characters. 16 Japanese (Shift-JIS) characters. # # Set this to a custom value when using a custom INFORM job with a different # name. # # NOTE: do NOT include the file extension here (ie: '.JBI'). Only the name # of the job should be specified. # # DEFAULT: "INIT_ROS" #inform_job_name: "INIT_ROS" #----------------------------------------------------------------------------- # Allow custom INFORM job. # # If MotoROS2 detects that the specified INFORM job is not formatted properly # then an alarm will be raised at startup. # This flag indicates that the job is intentionally configured and will # suppress the alarm. # # When this flag is set to 'true', then MotoROS2 will not validate whether the # job is compatible. It is the responsibility of the user to make sure the # custom job includes the required INFORM statements and in the expected order # (refer to the provided INFORM job files for the general structure). # # DEFAULT: false #allow_custom_inform: false ```