Nishida-Lab / motoman_project

Repository for Motoman ROS applications
http://lab.cntl.kyutech.ac.jp/~nishida/en/research-en.html
51 stars 32 forks source link

hardware_interface::EffortJointInterface Issue #114

Open MuratCA77 opened 6 years ago

MuratCA77 commented 6 years ago

When I run the sia5_sim_control.launch file with sia5_joint_position_control.yaml, it is giving me the following error:

It is failed to load sia5_controller and could not find the resource “joint_s” in ‘hardware_interface::EffortJointInterface’.

I am using Ubuntu Linux 16.04 and Gazebo 7. Can you please help me fix this issue?

RyodoTanaka commented 6 years ago

@MuratCA77

The reason of the Error

Error1

It is failed to load sia5_controller

That error message, says we could not use sia5_controller, when we want to use sia5_joint_position_control.yaml configuration file. So, we need to change the controller names on launch file.

Error 2

Now, we use position_controllers/JointPositionController type for gazebo robot model that you can check on here. But, on kinect-devel branch, sia5_joint_position_control.yaml file sets effect_controllers/JointPositionController mistakenly. So, we need to fix from effect_controllers/JointPositionController to position_controllers/JointPositionController.

How to fix them ?

Fixing Error1

Rewrite your <motoman_project>/motoman_control/launch/sia5_sim_control.launch file as following.

<launch>

  <!-- Load joint controller configurations from YAML file to parameter server -->
  <rosparam file="$(find motoman_control)/config/sia5/sia5_joint_position_control.yaml" command="load"/>

  <!-- load the controllers -->
  <node name="sia5_controller_spawner" pkg="controller_manager"
        type="spawner" output="screen" 
        args="joint_state_controller
                  joint_s_position_controller
                      joint_l_position_controller
                      joint_e_position_controller
                      joint_u_position_controller
                      joint_r_position_controller
                      joint_b_position_controller
                      joint_t_position_controller"/>

  <!-- convert joint states to TF transforms for rviz, etc -->
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"
        respawn="false" output="screen">
  </node>

</launch>

Fixing Error 2

Now, I patched the error on 3a7a0650f63ef7bacecabe95106af800122fd9ed. So, pull it and launch it again.

At the End

Now, we have a problem on testing our packages.... That means, there should be more errors. So, if you find any other errors or bugs, please be free to open the Issue !

MuratCA77 commented 6 years ago

Hello Ryodo,

It was able to load the controllers but here is the problem. How can I control the speed of the robot? For example, when I change the PID gains in the yaml file, it does not even show its effects.

From: Ryodo Tanaka [mailto:notifications@github.com] Sent: Thursday, March 15, 2018 11:14 AM To: Nishida-Lab/motoman_project motoman_project@noreply.github.com Cc: Aksu, Murat (Fed) murat.aksu@nist.gov; Mention mention@noreply.github.com Subject: Re: [Nishida-Lab/motoman_project] hardware_interface::EffortJointInterface Issue (#114)

@MuratCA77https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmuratca77&data=02%7C01%7Cmurat.aksu%40nist.gov%7C299c56e1c36e43a9cedb08d58a87529a%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636567236175688357&sdata=jbz4Rd5zzK1lk8swmBQJa3bmSjG3VAeYNgBznrQ17FI%3D&reserved=0

The reason of the Error Error1

It is failed to load sia5_controller

That error message, says we could not use sia5_controller, when we want to use sia5_joint_position_control.yaml configuration file. So, we need to change the controller names on launch file.

Error 2

Now, we use position_controllers/JointPositionController type for gazebo robot model that you can check herehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNishida-Lab%2Fmotoman_project%2Fblob%2Findigo-devel%2Fmotoman_description%2Furdf%2Fsia5%2Fbody.transmission.xacro%23L10&data=02%7C01%7Cmurat.aksu%40nist.gov%7C299c56e1c36e43a9cedb08d58a87529a%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636567236175688357&sdata=Zfxmgd42aMOVPiEiwBe%2Fvie%2Fdungjc1B9Ion7nxNnnU%3D&reserved=0. But, on kinect-devel branch, sia5_joint_position_control.yaml file sets effect_controllers/JointPositionController mistakenly. So, we need to fix from effect_controllers/JointPositionController to position_controllers/JointPositionController.

How to fix them ? Fixing Error1

Rewrite your /motoman_control/launch/sia5_sim_control.launch file as following.

Fixing Error 2

Now, I patched the error on 3a7a065https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNishida-Lab%2Fmotoman_project%2Fcommit%2F3a7a0650f63ef7bacecabe95106af800122fd9ed&data=02%7C01%7Cmurat.aksu%40nist.gov%7C299c56e1c36e43a9cedb08d58a87529a%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636567236175688357&sdata=jpaT9cKsX9avYwXpkArc7651hr2DiAZNezqLkGzJu7I%3D&reserved=0. So, pull it and launch it again.

At the End

Now, we have a problem on testing our packages.... That means, there should be more errors. So, if you find any other errors or bugs, please be free to open the Issue !

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNishida-Lab%2Fmotoman_project%2Fissues%2F114%23issuecomment-373411156&data=02%7C01%7Cmurat.aksu%40nist.gov%7C299c56e1c36e43a9cedb08d58a87529a%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636567236175688357&sdata=MYvxFx%2ByjngHUUw4CAs0KCFU07jITN5sNB0A%2B0obRJs%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASs76N7XKhPNqrrZyuQ9Okv3pPidg6a-ks5teoUdgaJpZM4SsRO1&data=02%7C01%7Cmurat.aksu%40nist.gov%7C299c56e1c36e43a9cedb08d58a87529a%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636567236175688357&sdata=UulEaGwEUgr4SbORo3Y4pIvXMSp0ErxLzCqAUKaZjas%3D&reserved=0.

RyodoTanaka commented 6 years ago

@MuratCA77

How can I control the speed of the robot?

Now, we set the controller to be a Position Controller. That means, we control position, not velocity (speed). So, If you want to control velocity, you need to change controller that is written in <motoman_description>/urdf/sia5/body.transmission.xacro.

when I change the PID gains in the yaml file, it does not even show its effects.

That sounds strange, in usual, if you set the pid gain, it shows the effects. How does it reacts, when you set every gain to be 0 ?

MuratCA77 commented 6 years ago

Hello Ryodo,

I have changed the controller to velocity in the body.transmission.xacro file and controller .yaml file. I can set PID gains in RQT GUI which seems to be working properly. When it is a position controller, there is no option for PID gains based on Gazebo tutorials.

On the other hand, when I change the controller to effort controller in body.transmission.xacro file and .yaml file, the robot arm is falling on the ground all of a sudden.

Could you please also tell me how to implement a gripper for pick and place kitting application?

Thanks, Murat

From: Ryodo Tanaka [mailto:notifications@github.com] Sent: Saturday, March 17, 2018 5:37 AM To: Nishida-Lab/motoman_project motoman_project@noreply.github.com Cc: Aksu, Murat (Fed) murat.aksu@nist.gov; Mention mention@noreply.github.com Subject: Re: [Nishida-Lab/motoman_project] hardware_interface::EffortJointInterface Issue (#114)

@MuratCA77https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmuratca77&data=02%7C01%7Cmurat.aksu%40nist.gov%7Cb0663465a65f42db09c008d58bea97c3%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636568762050709172&sdata=V%2BsyomDHgkzioo6iv1sE%2BXbeX6wClDC%2BaH4yDtEH7WQ%3D&reserved=0

How can I control the speed of the robot?

Now, we set the controller to be a Position Controller. That means, we control position, not velocity (speed). So, If you want to control velocity, you need to change controller that is written in /urdf/sia5/body.transmission.xacro.

when I change the PID gains in the yaml file, it does not even show its effects.

That sounds strange, in usual, if you set the pid gain, it shows the effects. How does it reacts, if you set every gain to be 0 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNishida-Lab%2Fmotoman_project%2Fissues%2F114%23issuecomment-373907236&data=02%7C01%7Cmurat.aksu%40nist.gov%7Cb0663465a65f42db09c008d58bea97c3%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636568762050709172&sdata=vFWPXh1NisNs1ZEk%2FCB2PaXw4JsJy%2F3QaSrpNQKk0Is%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASs76JFtaVVxTv7GsuWXW1HQVaMUUtrEks5tfNkqgaJpZM4SsRO1&data=02%7C01%7Cmurat.aksu%40nist.gov%7Cb0663465a65f42db09c008d58bea97c3%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636568762050709172&sdata=Gu%2FHFxP4tabj2uJEEQ%2FolbL4tHjtjjNftFPOOZgEeNs%3D&reserved=0.