Kawasaki-Robotics / khi_robot

ROS KHI robot meta-package
http://wiki.ros.org/khi_robot
BSD 3-Clause "New" or "Revised" License
54 stars 28 forks source link

RTC Switch Error When Having different ROS Master #78

Closed siddharthbhurat4 closed 1 year ago

siddharthbhurat4 commented 1 year ago

When my laptop is the ROS master, and when I run the duaro_bringup.launch, everything works fine. But when Toyota HSR robot is a ROS master and when I run duaro_bringup.launch, it give the RTC Error that is "krnx_PrimeRtcCompData returned -0x100A" and then in the end it says "RTC Switch turned OFF 0: ano:1".

Please can I know, how to solve this issue.

Thank you

matsui-hiro commented 1 year ago

Does the Toyota HSR robot controller make plans and send to the duaro robot controller ? 0x100A is command value error. The speed may have exceeded the upper limit.

Was there the error message like bellow ?

[KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:[arm_no] [jt]pos:vel:status [JT1]%.4f:%.4f:%d ~ [JT6]%.4f:%.4f:%d

IF so, please follow docs/ConnectingRealRobot.md#6-error-and-troubleshooting. You can get more detail error cause from the "status" value.

siddharthbhurat4 commented 1 year ago

Yes, the error was like the which you have mentioned above. I am actually running just the bringup.launch file which just launches the joint controllers, the urdfs', so that I can visualize them in RViz. I am not running the moveit node, so I think there are no plans being sent to the duaro robot. And even though Toyota HSR is the master, all the launch files are being run from the same laptop which is now slave to the Toyota HSR.

So what I am currently trying to do is, I have my laptop which is slave to Toyota HSR (The ROS Master), Duaro is also the slave to Toyota HSR. And I am running all the launch files from laptop where they are actually installed.

(Just putting this up again - Whenever the laptop is master, Duaro works perfectly fine, the moment I switch from laptop as master to Toyota HSR as the master, it gives that error of RTC switch (sometimes it works once in like 10-15 times of giving error), but I am still running everything from laptop itself, just that the master is changed)

And then it gives this error.

~$ roslaunch khi_robot_bringup duaro_bringup.launch ip:=192.168.50.10 ... logging to /home/bartonlab-user/.ros/log/20230322-164526_f274ad62-c8d0-11ed-a2b7-0013953132f2/roslaunch-me-bartonlab33-61923.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. xacro: in-order processing became default in ROS Melodic. You can drop the option. started roslaunch server http://192.168.50.202:38691/ SUMMARY ======== PARAMETERS * /WD002N/joint_limits/lower_joint1/has_acceleration_limits: True * /WD002N/joint_limits/lower_joint1/has_position_limits: True * /WD002N/joint_limits/lower_joint1/has_velocity_limits: True * /WD002N/joint_limits/lower_joint1/max_acceleration: 2.09439510239 * /WD002N/joint_limits/lower_joint1/max_position: 2.96705972839 * /WD002N/joint_limits/lower_joint1/max_velocity: 4.1887 * /WD002N/joint_limits/lower_joint1/min_position: -2.96705972839 * /WD002N/joint_limits/lower_joint2/has_acceleration_limits: True * /WD002N/joint_limits/lower_joint2/has_position_limits: True * /WD002N/joint_limits/lower_joint2/has_velocity_limits: True * /WD002N/joint_limits/lower_joint2/max_acceleration: 7.85398163397 * /WD002N/joint_limits/lower_joint2/max_position: 2.44346095279 * /WD002N/joint_limits/lower_joint2/max_velocity: 5.4977 * /WD002N/joint_limits/lower_joint2/min_position: -2.44346095279 * /WD002N/joint_limits/lower_joint3/has_acceleration_limits: True * /WD002N/joint_limits/lower_joint3/has_position_limits: True * /WD002N/joint_limits/lower_joint3/has_velocity_limits: True * /WD002N/joint_limits/lower_joint3/max_acceleration: 3.0 * /WD002N/joint_limits/lower_joint3/max_position: 0.15 * /WD002N/joint_limits/lower_joint3/max_velocity: 0.255 * /WD002N/joint_limits/lower_joint3/min_position: 0 * /WD002N/joint_limits/lower_joint4/has_acceleration_limits: True * /WD002N/joint_limits/lower_joint4/has_position_limits: True * /WD002N/joint_limits/lower_joint4/has_velocity_limits: True * /WD002N/joint_limits/lower_joint4/max_acceleration: 52.35987755983 * /WD002N/joint_limits/lower_joint4/max_position: 6.28318530718 * /WD002N/joint_limits/lower_joint4/max_velocity: 10.4717 * /WD002N/joint_limits/lower_joint4/min_position: -6.28318530718 * /WD002N/joint_limits/upper_joint1/has_acceleration_limits: True * /WD002N/joint_limits/upper_joint1/has_position_limits: True * /WD002N/joint_limits/upper_joint1/has_velocity_limits: True * /WD002N/joint_limits/upper_joint1/max_acceleration: 2.09439510239 * /WD002N/joint_limits/upper_joint1/max_position: 8.72664625997 * /WD002N/joint_limits/upper_joint1/max_velocity: 4.1887 * /WD002N/joint_limits/upper_joint1/min_position: -2.44346095279 * /WD002N/joint_limits/upper_joint2/has_acceleration_limits: True * /WD002N/joint_limits/upper_joint2/has_position_limits: True * /WD002N/joint_limits/upper_joint2/has_velocity_limits: True * /WD002N/joint_limits/upper_joint2/max_acceleration: 7.85398163397 * /WD002N/joint_limits/upper_joint2/max_position: 2.44346095279 * /WD002N/joint_limits/upper_joint2/max_velocity: 5.4977 * /WD002N/joint_limits/upper_joint2/min_position: -2.44346095279 * /WD002N/joint_limits/upper_joint3/has_acceleration_limits: True * /WD002N/joint_limits/upper_joint3/has_position_limits: True * /WD002N/joint_limits/upper_joint3/has_velocity_limits: True * /WD002N/joint_limits/upper_joint3/max_acceleration: 3.0 * /WD002N/joint_limits/upper_joint3/max_position: 0.15 * /WD002N/joint_limits/upper_joint3/max_velocity: 0.255 * /WD002N/joint_limits/upper_joint3/min_position: 0 * /WD002N/joint_limits/upper_joint4/has_acceleration_limits: True * /WD002N/joint_limits/upper_joint4/has_position_limits: True * /WD002N/joint_limits/upper_joint4/has_velocity_limits: True * /WD002N/joint_limits/upper_joint4/max_acceleration: 52.35987755983 * /WD002N/joint_limits/upper_joint4/max_position: 6.28318530718 * /WD002N/joint_limits/upper_joint4/max_velocity: 10.4717 * /WD002N/joint_limits/upper_joint4/min_position: -6.28318530718 * /duaro_lower_arm_controller/action_monitor_rate: 20 * /duaro_lower_arm_controller/constraints/goal_time: 2.0 * /duaro_lower_arm_controller/constraints/lower_joint1/goal: 0.2 * /duaro_lower_arm_controller/constraints/lower_joint1/trajectory: 0 * /duaro_lower_arm_controller/constraints/lower_joint2/goal: 0.2 * /duaro_lower_arm_controller/constraints/lower_joint2/trajectory: 0 * /duaro_lower_arm_controller/constraints/lower_joint3/goal: 0.2 * /duaro_lower_arm_controller/constraints/lower_joint3/trajectory: 0 * /duaro_lower_arm_controller/constraints/lower_joint4/goal: 0.2 * /duaro_lower_arm_controller/constraints/lower_joint4/trajectory: 0 * /duaro_lower_arm_controller/constraints/stopped_velocity_tolerance: 0.1 * /duaro_lower_arm_controller/joints: ['lower_joint1', ... * /duaro_lower_arm_controller/state_publish_rate: 50 * /duaro_lower_arm_controller/type: position_controll... * /duaro_lower_joint_group_controller/joints: ['lower_joint1', ... * /duaro_lower_joint_group_controller/type: position_controll... * /duaro_upper_arm_controller/action_monitor_rate: 20 * /duaro_upper_arm_controller/constraints/goal_time: 2.0 * /duaro_upper_arm_controller/constraints/stopped_velocity_tolerance: 0.1 * /duaro_upper_arm_controller/constraints/upper_joint1/goal: 0.2 * /duaro_upper_arm_controller/constraints/upper_joint1/trajectory: 0 * /duaro_upper_arm_controller/constraints/upper_joint2/goal: 0.2 * /duaro_upper_arm_controller/constraints/upper_joint2/trajectory: 0 * /duaro_upper_arm_controller/constraints/upper_joint3/goal: 0.2 * /duaro_upper_arm_controller/constraints/upper_joint3/trajectory: 0 * /duaro_upper_arm_controller/constraints/upper_joint4/goal: 0.2 * /duaro_upper_arm_controller/constraints/upper_joint4/trajectory: 0 * /duaro_upper_arm_controller/joints: ['upper_joint1', ... * /duaro_upper_arm_controller/state_publish_rate: 50 * /duaro_upper_arm_controller/type: position_controll... * /duaro_upper_joint_group_controller/joints: ['upper_joint1', ... * /duaro_upper_joint_group_controller/type: position_controll... * /joint_state_controller/publish_rate: 50 * /joint_state_controller/type: joint_state_contr... * /khi_robot_param/arm/arm1: ['duaro_lower_arm... * /khi_robot_param/arm/arm2: ['duaro_upper_arm... * /khi_robot_param/robot: WD002N * /robot_description: CONNECTING [ INFO] [1679504142.725173359]: [KhiRobotKrnxDriver] Connecting to real controller: 192.168.50.10 No port_*.tbl. KRNX uses default port setting. [ INFO] [1679504146.281150193]: [KhiRobotKrnxDriver] State 0: CONNECTING -> INACTIVE [ INFO] [1679504146.281635375]: [KhiRobotCommandService] Start [ INFO] [1679504146.525522406]: [KhiRobotKrnxDriver] State 0: INACTIVE -> ACTIVATING [INFO] [1679504146.733891]: Controller Spawner: Waiting for service controller_manager/switch_controller [INFO] [1679504146.880417]: Controller Spawner: Waiting for service controller_manager/unload_controller [INFO] [1679504147.041397]: Loading controller: joint_state_controller Loaded 'duaro_lower_joint_group_controller' [INFO] [1679504147.254005]: Loading controller: duaro_lower_arm_controller Loaded 'duaro_upper_joint_group_controller' [joint_group_controller_manager-5] process has finished cleanly log file: /home/bartonlab-user/.ros/log/20230322-164526_f274ad62-c8d0-11ed-a2b7-0013953132f2/joint_group_controller_manager-5*.log [ INFO] [1679504148.312978099]: [KhiRobotKrnxDriver] State 0: ACTIVATING -> ACTIVE [ERROR] [1679504148.317153404]: [KhiRobotKrnxDriver] krnx_PrimeRtcCompData returned -0x100A [ INFO] [1679504148.317172231]: [KhiRobotKrnxDriver] State 0: ACTIVE -> ERROR [ WARN] [1679504148.317192846]: JT1:-2.339351,-2.339351,0.000000,0.016755,-2.356106,-2.356106 [ WARN] [1679504148.317209362]: JT1:-134.034967,-134.034967,0.000000,0.959979,-134.994946,-134.994943 [ WARN] [1679504148.317251062]: JT2:2.072281,2.072281,0.000000,-0.021991,2.094271,2.094271 [ WARN] [1679504148.317281948]: JT2:118.732934,118.732934,0.000000,-1.259980,119.992914,119.992909 [ WARN] [1679504148.317295641]: JT3:0.118969,-0.898792,0.000000,-1.018779,0.119988,119.989006 [ WARN] [1679504148.317316018]: JT3:6.816422,-51.496966,0.000000,-58.371761,6.874794,6874.863760 [ WARN] [1679504148.317337444]: JT4:0.219657,0.219657,0.000000,-0.041972,0.261629,0.261544 [ WARN] [1679504148.317360415]: JT4:12.585415,12.585415,0.000000,-2.404820,14.990235,14.985351 [ERROR] [1679504148.317380757]: [KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:1 [jt]pos:vel:status [1]-2.3561:4.1887:0 [2]2.0943:-5.4977:0 [3]0.1200:-0.2547:0 [4]0.2615:-10.4930:4 [ WARN] [1679504148.317403233]: JT1:2.339397,2.339397,-0.016743,-0.016743,2.356141,2.356141 [ WARN] [1679504148.317425320]: JT1:134.037589,134.037589,-0.959324,-0.959324,134.996913,134.996915 [ WARN] [1679504148.317447574]: JT2:-2.072203,-2.072203,0.021978,0.021978,-2.094180,-2.094180 [ WARN] [1679504148.317469324]: JT2:-118.728467,-118.728467,1.259229,1.259229,-119.987695,-119.987693 [ WARN] [1679504148.317490486]: JT3:0.121013,1.141212,1.021221,1.021221,0.119991,119.992683 [ WARN] [1679504148.317513491]: JT3:6.933516,65.386639,58.511633,58.511633,6.875004,6875.074516 [ WARN] [1679504148.317535040]: JT4:-0.213981,-0.213981,0.040932,0.040932,-0.254914,-0.254948 [ WARN] [1679504148.317556182]: JT4:-12.260219,-12.260219,2.345249,2.345249,-14.605468,-14.607421 [ERROR] [1679504148.317577855]: [KhiRobotKrnxDriver] [krnx_PrimeRtcCompData] ano:2 [jt]pos:vel:status [1]2.3561:0.0000:0 [2]-2.0942:0.0000:0 [3]0.1200:0.0000:0 [4]-0.2549:0.0000:0 [ERROR] [1679504148.470216994]: [KhiRobotKrnxDriver] RTC SWITCH turned OFF 0: ano:1 [ INFO] [1679504148.470241777]: [KhiRobotKrnxDriver] State 0: ERROR -> DEACTIVATING [ INFO] [1679504151.129649072]: [KhiRobotKrnxDriver] State 0: DEACTIVATING -> INACTIVE [INFO] [1679504151.134627]: Loading controller: duaro_upper_arm_controller [INFO] [1679504152.938870]: Controller Spawner: Loaded controllers: joint_state_controller, duaro_lower_arm_controller, duaro_upper_arm_controller [INFO] [1679504153.018751]: Started controllers: joint_state_controller, duaro_lower_arm_controller, duaro_upper_arm_controller ^C[controller_spawner-4] killing on exit [robot_state_publisher-3] killing on exit [world_link_broadcaster-2] killing on exit [INFO] [1679504221.097156]: Shutting down spawner. Stopping and unloading controllers... [khi_robot_control-1] killing on exit [ WARN] [1679504221.100426981]: received signal 2 [ INFO] [1679504221.102582209]: [KhiRobotKrnxDriver] State 0: INACTIVE -> DEACTIVATING [INFO] [1679504221.154927]: Stopping all controllers... [ INFO] [1679504223.764016418]: [KhiRobotKrnxDriver] State 0: DEACTIVATING -> INACTIVE [ INFO] [1679504223.764132268]: [KhiRobotKrnxDriver] State 0: INACTIVE -> DISCONNECTING [ INFO] [1679504223.779459046]: [KhiRobotKrnxDriver] State 0: DISCONNECTING -> DISCONNECTED [WARN] [1679504223.923403]: Controller Spawner error while taking down controllers: transport error completing service call: unable to receive data from sender, check sender's logs for details shutting down processing monitor... ... shutting down processing monitor complete done Also, it would be great if you could provide the steps to solve this error, because the link you have referenced is just giving the information about what the error is and not how to solve it
siddharthbhurat4 commented 1 year ago

I was able to solve this issue by reducing the velocity limits of each joint.

Thank you.