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


1 Answer 1


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.


Your Answer

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