# DIY robot arm, integration with moveit

**URL:** <https://get-help.theconstruct.ai/t/diy-robot-arm-integration-with-moveit/1290>\
**Category:** ROS Manipulation In 5 Days\
**Created:** [November 2, 2019, 5:11pm UTC](https://get-help.theconstruct.ai/t/diy-robot-arm-integration-with-moveit/1290 "2019-11-02T17:11:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![panagelak12](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/panagelak12/32/10_2.png) [@panagelak12](https://get-help.theconstruct.ai/u/panagelak12)\
**Post date:** [November 2, 2019, 5:11pm UTC](https://get-help.theconstruct.ai/t/diy-robot-arm-integration-with-moveit/1290/1 "2019-11-02T17:11:34Z")

</div>

Hello ,

I recently bought a 6 dof DIY robot arm, 7 servos (with gripper) no feedback

I tried to make an accurate simple urdf, and then with moveit setup assistant i created a moveit package,  
since i dont want to use ros control (i am not good on that, and i dont need it), moveit seems to want a FollowJointTrajectory action server that ros control typically handles, however i found an executable that does that for me, I was able then to make another node to listen to the arm\_controller/follow\_joint\_trajectory/goal topic and extract the trajectory points, which i plan with some transformation to send to my rosserial node for execution on the real robot.

Is there a simpler way to do that? i think i will also need to publish a sensor\_msgs/JointState topic to publish the new joint\_state values (assuming perfect execution) for arm TF.

Also moveit\_simple\_controller\_manager/MoveItSimpleControllerManager plugin seems to not work for me,

so in essence what i should do to easily control a arm without feedback and preferably without ros control?  
they way i am currently headed i think the robot should be able to execute the trajectory but it will not respond to action cancel for example etc.

I hope i make sense!!

Thanks

---

<div class="post-metadata">

**Author:** ![duckfrost2](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/duckfrost2/32/9365_2.png) [@duckfrost2](https://get-help.theconstruct.ai/u/duckfrost2)\
**Post date:** [November 4, 2019, 3:46pm UTC](https://get-help.theconstruct.ai/t/diy-robot-arm-integration-with-moveit/1290/2 "2019-11-04T15:46:15Z")

</div>

You might want to check out this video series that we did on creating your own robot arm, you might find usefull indications and code to help you there:  
[VideoRobotArmTutorials](https://www.youtube.com/watch?v=qEKXi5hNRdg&t=2284s)

---

<div class="post-metadata">

**Author:** ![panagelak12](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/panagelak12/32/10_2.png) [@panagelak12](https://get-help.theconstruct.ai/u/panagelak12)\
**Post date:** [November 6, 2019, 11:19am UTC](https://get-help.theconstruct.ai/t/diy-robot-arm-integration-with-moveit/1290/3 "2019-11-06T11:19:53Z")

</div>

Hello, very helpfull content!!

I managed to use ros control (follow\_joint\_trajectory) with moveit and gazebo, then i created a node that subscribe to joint\_states (from gazebo) and with some transformation (e.g -1.57 - 1.57 to 0-450 plus offset, reverse on some joints) send the position arguments to rosserial for execution on the real robot (quite hacky) Note: i should publish only when joint\_states change value as not to overload the arduino due with 50hz

question1: can i use gazebo in headless mode just for the arm on the jetson nano, on a mobile base and kinect that dont live inside gazebo? or should i build a hardware interface so not to use gazebo? I think the example of hardware interface on the documentation is not working and you should use async spinner or RRT loop?? quite confusing not many simple examples??

question2: my arm seems to have depedent the joints 1 and 2 with a pulley, (e.g if joint1 moves down while joint2 stays put the orientation of link2 stays the same) in the urdf i assume indepedent joints, for the arm to work in the same way i have to move joint1 and joint2 together with the command of joint1, plus joint2 with command of joint2, anyway i can handle that with some clever transformations but is there a better way to descibe depedent joints in moveit or urdf? plus i need mechanical reduction for joint2 because of the pulley 🙂

Thanks!!!
