ROSのlaunchファイルが起動できなくなった
解決したいこと
ROSのlaunchファイルがエラーにより起動しなくなった(今までは正常に動作していた).
(経緯)
今まで,ur3eというロボットをROSにより動作させていました.
しかし最近,ログファイルが原因で容量がオーバーし,エラーが発生してしまいました.
その際,容量のほかに,今まで無かった目新しいエラーが同時に発生してしまい困っています.
何か解決方法がわかる方いらっしゃれば,回答していただけると幸いです.
また,分からないことがあれば何でも聞いてください.
発生している問題・エラー
launchファイルを立ち上げるコード
$ roslaunch ur_robot_driver ur3e_bringup.launch robot_ip:=133.91.72.106 limited:=true
kinematics_config:="${HOME}/my_robot_calibration.yaml" use_tool_communication:=true
tool_voltage:=24 tool_parity:=0 tool_baud_rate:=115200 tool_stop_bits:=1
tool_rx_idle_chars:=1.5 tool_tx_idle_chars:=3.5 tool_device_name:=/tmp/ttyUR
エラーメッセージ
... logging to /home/aaa/.ros/log/372370d6-f1b3-11ee-b778-5f3c5669454d/roslaunch-aaa-System-Product-Name-21630.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Use of invalid name(s): __kinematics
when evaluating expression '__kinematics['shoulder']['x']'
when instantiating macro: ur3e_robot (/home/aaa/catkin_ws/src/universal_robot/ur_e_description/urdf/ur3e.urdf.xacro)
in file: /home/aaa/catkin_ws/src/universal_robot/ur_e_description/urdf/ur3e_joint_limited_robot.urdf.xacro
RLException: while processing /home/aaa/catkin_ws/src/Universal_Robots_ROS_Driver/ur_robot_driver/launch/ur_common.launch:
while processing /home/aaa/catkin_ws/src/universal_robot/ur_e_description/launch/ur3e_upload.launch:
Invalid <param> tag: Cannot load command parameter [robot_description]: command [['/opt/ros/noetic/lib/xacro/xacro', '/home/aaa/catkin_ws/src/universal_robot/ur_e_description/urdf/ur3e_joint_limited_robot.urdf.xacro', 'transmission_hw_interface:=hardware_interface/PositionJointInterface', 'kinematics_config:=/home/osumi/my_robot_calibration.yaml']] returned with code [2].
Param xml is <param if="$(arg limited)" name="robot_description" command="$(find xacro)/xacro '$(find ur_e_description)/urdf/ur3e_joint_limited_robot.urdf.xacro' transmission_hw_interface:=$(arg transmission_hw_interface) kinematics_config:=$(arg kinematics_config)"/>
The traceback for the exception was written to the log file
環境
・ubuntu(20.04.6 LTS)
・ROS(noetic)
・ロボット(ur3e)
自分で試したこと
エラーメッセージにもある通り,roscleanにより容量問題は解決した.
また,ログを消したのがまずかったのかと考えたが,消す前から同じエラーが表示されていたので可能性は低い.
疑問点
・エラーが初めて出るまで,3年ほど同じコードで動いていた.
・エラーメッセージには,ur3e_joint_limited_robot.urdf.xacroファイル内でur3e.urdf.xacroのファイルを実行中に,プロパティ名に問題がある(ダブルアンダースコアから始めることはできない. 例 __kinematics)といった趣旨のことが書かれているが,エラーが起きるまでにこのファイルはいじっていない.
・もしかしたら,見てないうちに何かのアップデートがはいり,それが悪さしてエラーをはいているのかも??
追記
現在は,エラーメッセージにあるプロパティ名をすべて変えるような方法でエラー解消を試みていますが,同じような現象になったことがある方や,何か解決方法を知っている方いればアドバイスお願いします.