0
$\begingroup$

Rosanswers logo

hello everyone

i have recently completed navigation on my custom robot base, and planning to make own robotic arm controlled by moveit.

for that , i searched-on wiki pages and ros-industrial tutorials.

my progress on this is as follows 1.have my robots urdf file 2.completed moveit setup assistant 3.demo.launch runs completely well. 4.controller.yaml 5.moveit_planning_execution.launch

now i'm struct!!where to go now!! i think next phase is writting custom hardware node listen to the trajectory. bt i'm not sure

can anyone guide me ?


Originally posted by denim_patel on ROS Answers with karma: 21 on 2015-12-27

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Had the same problem and after a lot of websearches I ended up writing an ActionLib Server for the FollowJointTrajectoryAction

  • You get the list of goals for each link in trajectory/points

  • You should publish the feedback for each goal while also watching preempt_requested.

  • Moveit expects you to return FollowJointTrajectoryResult.SUCCESSFUL in FollowJointTrajectoryActionResult if all went well.

In case it helps I uploaded my implementation (python) to github, no guarantees given.

The new angle is send to hardware with the to_angle() call (not in this repos). The interface is

def to_angle(axis, speed=255, angle=0)

where axis is the axis number (0..5), speed the motor pwm speed and angle in rad.


Originally posted by Humpelstilzchen with karma: 1504 on 2015-12-27

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by denim_patel on 2015-12-28:
thanks for the precious help!!!

Comment by denim_patel on 2015-12-30:
thank you for sharing!!! i worked on your implementation but there is a problem with one module "arm". no module is added in your pkg present on git-hub named "arm". can you please upload it? thank you

Comment by Humpelstilzchen on 2015-12-31:
I could share it, but this is the call to the hardware which you most certainly do not need. It basically sends an i2c call to the different motor/servo controllers. I have updated my answer with the detail.

Comment by denim_patel on 2015-12-31:
thank you for all the help!!!

Comment by denim_patel on 2016-01-01:
using your guidance and your code, I completed my node of action server client. Right now i am working on changing the settings from fake_trajectory_execution to arm_trajectory_execution.

does am i doing right? it will be great if you suggest me the process of the same in fewer lines.

Comment by Humpelstilzchen on 2016-01-01:
Sorry not sure if I fully understood you. There should be no need to change any of the launch files created by moveit. For real hardware I just use move_group.launch instead of demo.launch.

Also this might better go into a new question.

Comment by Robo_Panda on 2018-08-15:
Hey @humpelstilzchen, could you share the link of your github implementation again, the current one is not working. It would be a great help.

Comment by Humpelstilzchen on 2018-08-15:
Try arm_ros.py on private repo. But an implementation based on ros control might be prefered.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.