How to create ros package for my own robot arm

1,385 views
Skip to first unread message

Dennis Yang

unread,
Jul 7, 2015, 9:08:24 PM7/7/15
to swri-ros...@googlegroups.com

Hi all,


I have a 7-DOF robot arm, I want to create some ROS packages to control it like UR5 or baxter robot. I have followed ROS beginner tutorials and ros-by-example book. But all is about how to use existing ros code directly. Could anyone kindly give me some ideas to write my own arm control package?

 

Thanks in advance.

 

 

Best regards,

Dennis

Simon Schmeißer

unread,
Jul 8, 2015, 3:54:21 AM7/8/15
to swri-ros...@googlegroups.com
Hi Dennis,

there are quite good tutorials here:

http://wiki.ros.org/Industrial/Tutorials

Welcome to ROS-Industrial

Simon

Dennis Yang

unread,
Jul 8, 2015, 4:59:48 AM7/8/15
to swri-ros...@googlegroups.com
Hi Simon, 

thanks for your kind reply. The 7-DOF arm is designed by my colleagues, it is not from any robot vendor like ABB or Fanuc, so the low-level industrial robot controller is not available, am i right? We only have this raw arm, how should I use ROS-Industrial to control it?




















Best regards,
Dennis

G.A. vd. Hoorn - 3ME

unread,
Jul 8, 2015, 5:17:09 AM7/8/15
to swri-ros...@googlegroups.com
On 8-7-2015 10:59, Dennis Yang wrote:
> Hi Simon,
>
> thanks for your kind reply. The 7-DOF arm is designed by my colleagues, it
> is not from any robot vendor like ABB or Fanuc, so the low-level industrial
> robot controller is not available, am i right? We only have this raw arm,
> how should I use ROS-Industrial to control it?

If this is a completely custom design, you have a few options:

- write an implementation of a ROS-Industrial Simple Message compatible
server program [1]. This runs on your controller, accepting TCP/IP
connections and interacts with the generic nodes in the industrial robot
client package [2]. It is responsible for broadcasting joint states and
for executing joint trajectories.

- write a ros_control [3] compatible hardware interface, which you can
then use together with all the other parts of ros_control to create a
JointTrajectoryController [4]. With some topic remapping, this can be
made to be ROS-Industrial compatible. See [5] for a template ros_control
/ hardware_interface implementation.

- implement something completely custom. Not recommended: this is a lot
of work, has a steep learning curve and leads to a lot of duplicated effort.


Gijs


[1] http://wiki.ros.org/simple_message
[2] http://wiki.ros.org/industrial_robot_client
[3] http://wiki.ros.org/ros_control
[4] http://wiki.ros.org/joint_trajectory_controller
[5] https://github.com/davetcoleman/ros_control_boilerplate

Dennis Yang

unread,
Jul 10, 2015, 4:50:39 AM7/10/15
to swri-ros...@googlegroups.com
Hi,

but now i don't have a controller, i want to write a controller package in ROS including robot kinematics and motion planning, is it possible? I don't have exprience with hardware before, need more detailed explanation and help, thank you so much.


Best regards,
Dennis

G.A. vd. Hoorn - 3ME

unread,
Jul 10, 2015, 5:04:59 AM7/10/15
to swri-ros...@googlegroups.com
On 10-7-2015 10:50, Dennis Yang wrote:
> Hi,
>
> but now i don't have a controller, i want to write a controller package in
> ROS including robot kinematics and motion planning, is it possible? I don't
> have exprience with hardware before, need more detailed explanation and
> help, thank you so much.

If you are going to use a PC to control your arm, I'd go for the
ros_control based approach. Please view the ROSCon14 presentation on
ros_control by Adolfo Tsouroukdissian linked on [3] ('Overview' section,
just above section '2. Controllers'), that should provide you with more
information.

Depending on your actual system architecture and manipulator design, you
might need to run this on a real-time capable OS. ros_control fully
supports real-time capable publishers and subscribers, so there is no
need for custom buffering.

If you require more complex hard real-time control architectures, you
might want to look at OROCOS [6]. This can be bridged into ROS as well,
and supports more distributed / decoupled designs, while still remaining
real-time capable.

As to kinematics and motion planning: yes, there are certainly pkgs in
ROS you can use for that. See moveit_ikfast [7] (uses IKFast from
OpenRave [8]), MoveIt [9] and descartes [10].


Gijs


[6] http://orocos.org
[7] http://wiki.ros.org/moveit_ikfast
[8] http://openrave.org
[9] http://moveit.ros.org
[10] http://wiki.ros.org/descartes

vincent...@gmail.com

unread,
Jul 23, 2015, 9:09:13 AM7/23/15
to swri-ros-pkg-dev, sd_yq...@126.com
Hi Dennis,

I am exactly in the same process i.e. build a ROS Framework for my own manipulator.

Maybe we can find a common interest to work tgther.

If interested, please shoot me an email there: https://fr.linkedin.com/in/vivdl

Best,
Vincent

Evan Jensen

unread,
Jul 23, 2015, 10:34:10 AM7/23/15
to swri-ros...@googlegroups.com
If you guys get this going, please consider writing up an outline / tutorial on the wiki.  I think this will become more popular as time goes by and that would be an excellent resource.

Thank you,

-Evan

--
You received this message because you are subscribed to the Google Groups "swri-ros-pkg-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to swri-ros-pkg-d...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

shawn.s...@gmail.com

unread,
Sep 3, 2015, 11:03:17 AM9/3/15
to swri-ros-pkg-dev
Hi,

I just followed the ROS Control boilerplate example / template.
https://github.com/davetcoleman/ros_control_boilerplate

It looks like it will work for me.

Shawn.

mgr...@lib.chattanooga.gov

unread,
May 13, 2016, 12:41:05 PM5/13/16
to swri-ros-pkg-dev, sd_yq...@126.com, vincent...@gmail.com
Dennis and Vincent, did either of you have any luck in building a ROS-I package? I'm just starting to explore how to design and program a robotic arm that is capable of material removal as an alternative to a CNC mill. It seems like the software side of things will be the biggest challenge.
Reply all
Reply to author
Forward
0 new messages