Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace by ur10 #12

Closed
Papul-Ghosh opened this issue Aug 3, 2021 · 2 comments
Closed

Replace by ur10 #12

Papul-Ghosh opened this issue Aug 3, 2021 · 2 comments

Comments

@Papul-Ghosh
Copy link

Is it possible to change the ur3 by ur10? If so, how?

@cambel
Copy link
Owner

cambel commented Aug 3, 2021

Sure it can. I have been using it on a UR3e and UR5e without problem. The main changes are on the core controller, the Forward Kinematics and Inverse Kinematics libraries. I updated the KDL library, so it can load the robot's URDF from the ros parameter server robot_description.

For the Inverse Kinematics, I have included the UR10 in my repo of IKFast databases. Alternatively, you can use Trac-IK which loads the URDF from the parameter server, similarly to KDL.
All of those definitions are here

def _init_ik_solver(self, robot_urdf):
self.kdl = ur_kinematics(robot_urdf, ee_link=self.ee_link)
if self.ik_solver == IKFAST:
# IKfast libraries
if robot_urdf == 'ur3_robot':
self.arm_ikfast = ur_ikfast.URKinematics('ur3')
elif robot_urdf == 'ur3e_robot':
self.arm_ikfast = ur_ikfast.URKinematics('ur3e')
elif self.ik_solver == TRAC_IK:
self.trac_ik = IK(base_link="base_link", tip_link=self.ee_link,
timeout=0.001, epsilon=1e-5, solve_type="Speed",
urdf_string=utils.load_urdf_string('ur_pykdl', robot_urdf))
else:
raise Exception("unsupported ik_solver", self.ik_solver)

I will update the code soon to have an example that does not relies on a fixed URDF. Instead it loads whatever URDF is on the robot_description.

For gazebo, you would need to create a launch file loading your robot with whatever additional configuration you have (gripper, cameras, environment, etc)

For MoveIt, you could in principle use the default official package or create your own one following the MoveIt tutorials.

I think that covers most if not all the difference between UR robots in this repo.

@cambel
Copy link
Owner

cambel commented Aug 9, 2021

@Papul-Ghosh Hi,

I did some updates to the repository. Now it is easier to use any UR robot.

You can start gazebo for the cubes task world with the following command

roslaunch ur3_gazebo ur_cubes.launch ur_robot:=ur10

Then you can connect to the robot defining the specific robot like this:

    arm = Arm(robot_urdf='ur10')

And that should be all for the basics

@cambel cambel closed this as completed Oct 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants