Cyton Gamma - ROS Interface

1,333 views
Skip to first unread message

LENTIN JOSEPH

unread,
Feb 5, 2013, 6:48:53 AM2/5/13
to cyton-...@googlegroups.com
Hi all

     Please check the updated version of cyton-ros package working on ros-fuerte and Ubuntu 32 and 64 bit version. We have uploaded some video tutorials of   installation procedure and some examples

Modified cyton-ros package and videos
--------------------------------------------------------
--------------------------------------------------



ubuntu 64 bit
-------------------


I am attaching a cyton.ecz file. Please replace the current cyton.ecz with attached file. Also create a desired config using cytonCreateconfig and write the configuration to cyton using
cytonSetup. Please use the desired config file and ecz file for your  ros package too.


Regards
Lentin
cyton.zip

Zhenli Lu

unread,
Feb 6, 2013, 12:26:44 PM2/6/13
to cyton-...@googlegroups.com
Hi Lentin.
    Thanks for the useful information, now my Cyton Gamma 1500 works nice with ROS interface.
     Besides, I want to know is it possible to control two Cyton Gamma robots at the same time, since we buy two arms at the same time. we want it can works together within ROS.
     And is it possible to realize velocity control on the robot arm. Normally we want to try velocity control on the simulator only in the beginning, if it works fine, then we can use it to move the real robot arm. Is it possible for Cyton Gamma 1500?
     Best regards.
     Zhenli

Zhenli Lu

unread,
Feb 7, 2013, 4:56:07 AM2/7/13
to cyton-...@googlegroups.com

Dear Lentin.

    Thanks for the help on ROS interface.

    Now I want to know how to control the position + orientation of cyton Gamma 1500, I find out that from the demo program, it only gives you the opportunity to control the position, without orientation.

   Besides, what is the relation between rate and joint velocity, how can we modify joint velocity, what is the maximum velocity we can use to make the robot move fast.

   And as you know I buy two robot arms from Robai, is it possible to control them at the same time in on computer, since I find that every robot has fixed Motor ID, from 0-7, so if we connect them to one computer, how can we distinguish them.

   Also I did not know what is the feedback after we send a target position to Energid planer? Is it a final robot configuration or it is a series of joint configuration with timestamps?

   Thanks for any feedback.

   Best regards.

   Zhenli

Lentin Joseph

unread,
Feb 7, 2013, 12:47:21 PM2/7/13
to cyton-...@googlegroups.com
Dear Zhenli

Currently Cyton-ROS Interface can only set end-effector
position , but we can also set the orientation too. Now we are using
point end-effector, for setting orientation we need to switch to
frame-endeffector.

We will add this function soon.


The following function will adjust the joint velocity according to
deltaTime that we giving.

///Giving the actual velocity on the corresponding time
hardware.setVelocityFromDeltaTime(deltaTime);

We can also manually set joint-Velocity using the following function

/// Sends commands to Cyton hardware to move joints to a specified location.
/// If the joint velocities are not specified, then the velocity values will
/// be calculated based upon the previous call to setVelocityFromDeltaTime().
/// All input values are in radians (and radians-per-degree).
/// In the case where the delta time has never been explicitly set, the
/// value of 20 seconds will be used.
/// @param[in] jointCommands Vector of joint angles to move servos to
/// @param[in] jointVelocities (Optional) Vector of joint velocities
/// @return EcBoolean Success or failure of set command
virtual EcBoolean setJointCommands
(
const EcRealVector& jointCommands,
const EcRealVector& jointVelocities = EcRealVector()
);



You can connect two cyton on a same pc using cytonViewer, what you
have to do is, select the port in which cyton are connected at the
starting. Say if cyton_1 is connected to ttyUSB0 and cyton_2 is
connected to ttyUSB1, select the corresponding port at the
initialisation of the viewer.


Feedback is the jointValues with timestap coming from the IK engine.
Actinse node generate jointvalues and it feedback to /cyton/feedback
topic. cyton_move node recieves the feedback and send to hardware.



Regards
Lentin
> --
> You received this message because you are subscribed to the Google Groups
> "Cyton Robots" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cyton-robots...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
> --
> You received this message because you are subscribed to the Google Groups
> "Cyton Robots" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cyton-robots...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Zhenli Lu

unread,
Feb 8, 2013, 6:25:19 AM2/8/13
to cyton-...@googlegroups.com
Dear Lentin.
   Thank you very much for your email.
    In fact, I check the EndEffector.h, it does not provides the items for orientation in  enum ParamTypeEnum. Can we add the ActualPoseOrien,      ///<      Actual position, orientation or both, and DesiredPoseOrien     ///<      Desired position, orientation or both to realize this function??
   Then we can use
         EcOrientation orient(0,0,0,1);  //SetFixed Orentation
         EcCoordinateSystemTransformation actualPos,pose;

         pose.setOrientation(orient);
          Array3Vector point;
         passed &= ee.getParam<EndEffector:: ActualPoseOrien>(actualPos);
         point.push_back(Array3( goal->position[0], goal->position[1],goal->position[2]));

         pose.setTranslationpoint[0]);
         passed &= ee.setParam<EndEffector::PoseOrien>(pose);
           while(passed && !actualPos.approxEq(pose, 1e-7) && currentTime <= totalTime)
      {


      }

Or how can we compile the demo for quick start hardware in installer ROBAI/cyton/example/quickStartHardware, since it is another .enz file, does it suitable for controlling the Cyton Gamma 1500 with Position and Orientation?
     Best regards.
     Zhenli
       

André Farinha

unread,
Sep 3, 2014, 12:52:22 PM9/3/14
to cyton-...@googlegroups.com
Hello,

I just got one Cyton Gamma 1500 and I installed it in ROS Hydro as reported in this post. It was not quite smooth but right now I'm able to use everything that doesn't call the actinSE node (including the ./send_joints).

About the actinSE node I'm having a problem in which the actinSE node receives an EE position with the move_end_effector or the guide_frame_node but while processing that data (I would guess it happens in the conversion of EE position to the next jointAngle, "control.calculateToNewTime(currentTime)"???) the actinSE node converts any position to the one with all joints in the 0 position, such that the execution is always locked in the position were the jointAngles = [0,0,0,0,0,0,0,0] (or the streched up position). Has anyone been able to deal with this problem or even know what's the problem?

Thanks for the attention,
Best regards,
André Farinha

Piyoosh Mukhija

unread,
Sep 3, 2014, 1:08:28 PM9/3/14
to cyton-...@googlegroups.com
Dear Andre,

The version of Cyton Viewer and the ROS package mentioned in the quoted post is old and deprecated. The new ROS cyton package for ROS Hydro doesn't work with older version of Actin framework. The new Actin version uses a Remote Command API to interact with third-party software, including ROS. A sample ROS package demonstrating use of RemoteCommand API is also available.

However, I would need to know your Cyton Gamma 1500 version (R1 or R2) before I can point you to the appropriate download links. Please tell me the exact name of the CytonViewer Installation file you received with the robot.

Regards,
Piyoosh




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

André Farinha

unread,
Sep 4, 2014, 4:27:14 AM9/4/14
to cyton-...@googlegroups.com, piy...@energid.com
Hi Piyoosh,

thanks for the fast answer,

the cyton viewer .exe file I received with the robot is: cytonGamma1500ViewerSetup-3.3.3.a12de6msvc2010-i386.

If you could provide me the links of the new the new software (the Remote Control API and the ROS cyton package) I would be much appreciated.

Best regards,
André.

luisbeck007

unread,
Sep 4, 2014, 5:00:07 AM9/4/14
to cyton-...@googlegroups.com
Here you can watch 2 Humanoid Robots playing Ping-pong : https://www.youtube.com/watch?v=r_jWMwCkbTQ
Message has been deleted

Levente TAMAS

unread,
Dec 8, 2014, 5:51:28 AM12/8/14
to cyton-...@googlegroups.com, piy...@energid.com

Dear Piyoosh,


We received a Cyton Gamma 1500 arm with the cytonGamma1500ViewerSetup-3.3.3.a12de6msvc2010-i386 CD install exe. 

Since a few days I am trying to install under Ubuntu 12/14 the ROS Hydro/Indigo interface, but with no luck. As you mentioned in your post, the new packages are based on the RemoteCommand API, but for these I am missing some libraries like lecManipulation, lecRemoteCommand in cyton_ros_1204.zip packege from the http://code.google.com/p/cyton-ros-pkg/downloads/list, which are not available nor from the links that I found on this google group (like Source_code+Video.zip). The cytonViewer executable runs fine on my Ubuntu 12.04 32bit install.


I would appreciate a link where I could find some up to date variants for the Ubuntu 14.04 + ROS Indigo arm integration preferably for a 64 bit architecture, since the fuerte variant would be a too old variant for testing.


Thank you,
Levente

Piyoosh Mukhija

unread,
Dec 8, 2014, 7:49:58 AM12/8/14
to Levente TAMAS, cyton-...@googlegroups.com
Hi Levente,

Cyton ROS Package from the google code link isn't updated and hence is incompatible with your version of Cyton Viewer. You will need to download the new cyton ROS package from http://outgoing.energid.info/ROS/Videos/Source_code+Video.zip. The videos in this zip file are in the following order:
1) Setting_ROS_Hydro_WS.mp4
2) Installing_ROS_Cyton_Pkg.mp4
3) ROS_Client_Gripper_Demo.mp4 or ROS_Client_Point_EE_Demo.mp4

The first two videos provide instructions on setting up the package with Cyton Viewer and ROS Hydro. There are a couple of extra instruction which were missed in the videos.
1) in your .bashrc file, please append the following statement below the “export EC_TOOLKITS=…” statement (after you are instructed for this statement in the video):
 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$EC_TOOLKITS/../bin

2) Please ensure that your current linux user is a member of "dialout" group so that it has serial port access permissions. If not, enter the following command to make it a member of the dialout group:
sudo gpasswd --add ${USER} dialout

Regards,
Piyoosh

Levente TAMAS

unread,
Dec 8, 2014, 8:41:38 AM12/8/14
to cyton-...@googlegroups.com, tlel...@gmail.com, piy...@energid.com
Hi Piyoosh,


Thanks for the fast reply!
This link I have already visited, but I am still missing the Robai/Cyton directory. Partially this is available from Lentin's site:


but in this structure the toolkit directory is missing as well as the aforementioned ecRemoteCommand library. Should I ask this data from Robai/Energid side or do you know some resource from where these can be downloaded?


Best regards,
Levente

Piyoosh Mukhija

unread,
Dec 8, 2014, 8:47:22 AM12/8/14
to Levente TAMAS, cyton-...@googlegroups.com
Dear Levente,

As I mentioned, the package available from the google code link (https://code.google.com/p/cyton-ros-pkg/downloads/detail?name=cyton_ros_1204.zip&can=2&q=) is obsolete and unsupported. Kindly use the link I provided. The nwe version of Cyton Viewer uses a different API. I hope you have already installed Cyton Viewer in linux. If so, the toolkits directory is present in Cyton Viewer installation.

Regards,
Piyoosh

Levente TAMAS

unread,
Dec 8, 2014, 9:13:11 AM12/8/14
to cyton-...@googlegroups.com, tlel...@gmail.com, piy...@energid.com
Hi Piyoosh,


Yep, the new version of Cyton Viewver is the thing that I am missing! Till now only the old/obsolete variant I found with google/forums. If you have a link for the new viewer I would appreciate it.


Thanks again,
Levente 

Piyoosh Mukhija

unread,
Dec 8, 2014, 9:16:10 AM12/8/14
to Levente TAMAS, cyton-...@googlegroups.com
Which version of Cyton viewer are you using? Please post the complete installer file name.

Levente TAMAS

unread,
Dec 8, 2014, 9:36:37 AM12/8/14
to cyton-...@googlegroups.com, tlel...@gmail.com, piy...@energid.com
The one that I found on the forums for linux is 3.0. 

The CD shipped with the arm contains only the windows variant (cytonGamma1500ViewerSetup-3.3.3.a12de6msvc2010-i386.exe).

Thanks,
Levente

Andras Fekete

unread,
Dec 11, 2014, 9:14:11 PM12/11/14
to cyton-...@googlegroups.com, tlel...@gmail.com, piy...@energid.com
Hi Levente!

I wanted to save you some frustration with getting the Cyton software working. I have just uploaded a new github repository (https://github.com/bandi13/cyton_gamma_300_ROS) that contains all the necessary files you should need to get the Gamma 300 or 1500 working. It's a work in progress, but it should get you to bypass the need to get the Cyton programs and be able to move the arm through ROS. I'm still working on getting the MoveIt integration fully ironed out.

Cheers,
-Andras

Carolina Loureiro

unread,
Jul 24, 2015, 4:13:33 AM7/24/15
to Cyton Robots, tlel...@gmail.com, piy...@energid.com, iamfeke...@gmail.com
Hi!

Were you able to get the arm working properly with moveit? Is it just for cyton300 or for cyton1500 as well?

Thank you!!
Carolina Loureiro

Carolina Loureiro

unread,
Jul 28, 2015, 5:58:55 AM7/28/15
to Cyton Robots, tlel...@gmail.com, piy...@energid.com, iamfeke...@gmail.com
Hi Andras,

Do you have code for the arm to work with moveit, or a tutorial? I tried to use my cyton1500 with moveit but I was not successful.

Thank you,
Carolina


On Friday, 12 December 2014 02:14:11 UTC, Andras Fekete wrote:

Andras Fekete

unread,
Jul 29, 2015, 1:22:52 PM7/29/15
to Carolina Loureiro, Cyton Robots, tlel...@gmail.com, piy...@energid.com
Hi Carolina,

Have you checked my blog entry? It is here: http://www.bandilabs.com/2014/11/13/get-cyton-gamma-300-working-ros/. That's my brain dump of all I learned about the cyton arm when I worked on it last year.

The 1500 is not too different from the 300. In fact, the model is originally from a 1500 that I used. It's floating around on the net somewhere.

Hope that helps,
-Andras

Levente TAMAS

unread,
Jul 29, 2015, 3:24:48 PM7/29/15
to Andras Fekete, Carolina Loureiro, Cyton Robots, Piyoosh Mukhija, Előd Páll
Hi Carolina,


I think what you are looking for is the source code for the complete Moveit! integration. An undocumented, but working version we have posted on the following site:


This contains a preliminary version of the integration of Cyton Gamma 1500 arm within MoveIt!. This is partially reflecting the ideas from the MoveIt! tutorials as well as the ones from the ROS-Industrial.


Hope this helps,
Levente

Carolina Loureiro

unread,
Jul 30, 2015, 4:24:00 AM7/30/15
to Cyton Robots, tlel...@gmail.com, piy...@energid.com, iamfeke...@gmail.com
Thank you, I'm gonna give it a try!

Carolina Loureiro

unread,
Jul 30, 2015, 4:24:15 AM7/30/15
to Cyton Robots, iamfeke...@gmail.com, piy...@energid.com, pall...@gmail.com, tlel...@gmail.com
Thank you, I'm gonna give it a try!

Carolina Loureiro

unread,
Jul 30, 2015, 1:07:58 PM7/30/15
to Cyton Robots, iamfeke...@gmail.com, piy...@energid.com, pall...@gmail.com, tlel...@gmail.com
Hi Levente,

Thank you for your link, I tried it and it is a huge advance from what I had previously tried.
What I am currently doing is:
1- launch controller_manager.launch
2- launch start_controller.launch
3- run dynamical_joint_state_publisher.py
4- launch moveit etc

This works fine if in Rviz I set a "random position" and ask it to plan/execute.
However, if I try to do this through code (from moveit tutorial) it doesn't work.
Please find my question here and let me know if you know how to solve it: https://groups.google.com/forum/#!topic/moveit-users/N92_kjuVpBs


On Wednesday, 29 July 2015 20:24:48 UTC+1, Levente TAMAS wrote:

Levente TAMAS

unread,
Jul 30, 2015, 3:52:57 PM7/30/15
to Carolina Loureiro, Cyton Robots, Andras Fekete, Piyoosh Mukhija, Előd Páll
Hi Carolina,


I am not near the robot to test the code, but my first guess would be to check for a valid position in space (see planner output: No motion plan found). You can easily test this using the pick&place demo code, that I wrote for testing purposes. This uses the dynamic_reconfigure to get the user input for the Cartesian coordinates. Sorry, that the code is not documented/well maintained, it was used more for test/debug purposes.


Best regards,
Levente

Carolina Loureiro

unread,
Jan 8, 2016, 5:30:58 AM1/8/16
to Cyton Robots, iamfeke...@gmail.com, carolinal...@gmail.com, piy...@energid.com, pall...@gmail.com
Hi Levent,

Is this link not working anymore?

Thanks


On Wednesday, 29 July 2015 20:24:48 UTC+1, Levente TAMAS wrote:

Zhensheng

unread,
Apr 11, 2016, 9:09:52 AM4/11/16
to Cyton Robots, tlel...@gmail.com, piy...@energid.com
Hello Levente,

I have installed the cytonViewer1500-4.0.0-ubuntu12.04-amd64.sh from energeid website provided by this google group, and I have the same issue as yours, missing the toolkit folder in the software
installation directory.

Have you solved your problem and have you compiled the package successfully?

Best regards,
Zhensheng

在 2014年12月8日星期一 UTC+8下午9:41:38,Levente TAMAS写道:

Levente TAMAS

unread,
Apr 11, 2016, 11:37:21 AM4/11/16
to Zhensheng, Cyton Robots, Piyoosh Mukhija
Hello Zhensheng,


Actually I have installed the version 3.3.3, and in this release the toolkits directory was included in the archive. 


Best regards,
Levente

Zhensheng

unread,
Apr 11, 2016, 12:48:38 PM4/11/16
to Cyton Robots, li.book...@gmail.com, piy...@energid.com
Hello Levente,

Thank you for your fast reply! I am a student in mechanical engineering and my research team has bought a cytongamma arm, but was only provided with cytonViewer for windows.

But we need to develop in Ubuntu, you know, for ROS which is the reason why I am here. I have contact Robai through their offical website couple of minutes ago but I wonder if it works.

So, could you please send me your cytonViewer software 3.3.3?

I do not know if it's right to make requests for software to someone in google group or other websites personally. But if you could, please send me to my outlook mail: zhensheng#outlook.com.(gmail in our country is not available)

Best regards,
Zhensheng

在 2016年4月11日星期一 UTC+8下午11:37:21,Levente TAMAS写道:

Dhiral Chheda

unread,
Apr 11, 2016, 1:54:31 PM4/11/16
to Cyton Robots, li.book...@gmail.com, piy...@energid.com
Hi Zhensheng,

I can provide you the latest Cyton Viewer software for Ubuntu, please send an email to sup...@robai.com with the serial number of the arm (you will find it near the base plate of the robot). You can also any send specific queries to sup...@robai.com.

Thanks,
Dhiral

gyzha...@gmail.com

unread,
Jul 29, 2016, 4:29:11 AM7/29/16
to Cyton Robots, tlel...@gmail.com, piy...@energid.com
Hi,Piyoosh
                 I have download the cyton ROS package from http://outgoing.energid.info/ROS/Videos/Source_code+Video.zip. Unfortunately, there are some errors when I catkin_make in my PC. It seems the lib in CytonViewer can't be linked. My OS is ubunto 14.04 and the version of ROS is indigo. The  version of  my Cyton Viewer is cytonEpsilon300ViewerSetupL-4.0.20-20160602-b55-Linux.sh. I  look forward to your early reply. The errors are as fellows
/home/gyz/CytonEp300_ws/src/ros_cyton_pkg/src/ros_cyton_server.cpp:291:54: error: expected primary-expression before ‘)’ token
    EcString ipAddress = vm["ipaddress"].as<EcString>();
                                                      ^
/home/gyz/CytonEp300_ws/src/ros_cyton_pkg/src/ros_cyton_server.cpp:292:49: error: expected primary-expression before ‘>’ token
    cytonVersion = vm["cytonVersion"].as<EcString>();
                                                 ^
/home/gyz/CytonEp300_ws/src/ros_cyton_pkg/src/ros_cyton_server.cpp:292:51: error: expected primary-expression before ‘)’ token
    cytonVersion = vm["cytonVersion"].as<EcString>();
                                                   ^
In file included from /opt/ros/indigo/include/ros/ros.h:45:0,
                 from /home/gyz/CytonEp300_ws/src/ros_cyton_pkg/src/ros_cyton_server.cpp:10:
/opt/ros/indigo/include/ros/node_handle.h: In instantiation of ‘ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (*)(const boost::shared_ptr<const M>&), const ros::TransportHints&) [with M = std_msgs::String_<std::allocator<void> >; std::string = std::basic_string<char>; uint32_t = unsigned int]’:
/home/gyz/CytonEp300_ws/src/ros_cyton_pkg/src/ros_cyton_server.cpp:310:65:   required from here
/opt/ros/indigo/include/ros/node_handle.h:706:5: error: no matching function for call to ‘ros::SubscribeOptions::init(const string&, uint32_t&, void (*&)(const boost::shared_ptr<const std_msgs::String_<std::allocator<void> > >&))’
     ops.template init<M>(topic, queue_size, fp);
     ^
Thanks !
Guangyu

在 2014年12月8日星期一 UTC+8下午8:49:58,Piyoosh Mukhija写道:

Piyoosh Mukhija

unread,
Jul 29, 2016, 8:32:29 AM7/29/16
to Cyton Robots, tlel...@gmail.com, piy...@energid.com
Hi,

Due to recent changes in Actin, the ROS package is currently broken. It was a prototype version and had a lot of issues even when it as posted. So, we're not supporting ROS currently. We're planning a brand-new interface for ROS but it may be a few months away. In the meantime, you could try alternative approaches like other customers did. For example, https://git.lcsr.jhu.edu/ggarime1/cyton_actin_ros_driver/wikis/home

Please note that we don't support these ROS interfaces. You can contact their developers directly in case of questions.

Regards,
Piyoosh

Dhiral Chheda

unread,
Jul 29, 2016, 8:34:07 AM7/29/16
to Cyton Robots, tlel...@gmail.com, piy...@energid.com
Guangyu,

The ROS package you downloaded is quite old. We do not support ROS anymore. However, Some people have successfully created ROS interface and integrated Cyton robots in ROS. Here are the reference links. 

https://git.lcsr.jhu.edu/ggarime1/cyton_actin_ros_driver/wikis/git_access

2) https://github.com/bandi13/cyton_gamma_300_ROS

Please note that Robai has not tested these ROS interface/packages and will not be able to answer any queries regarding them. There are plans to create a new ROS interface for Cyton and Actin but it might be a few months away. If you find/create a package working, please share it here so others in the community can use it.

Thanks,
Dhiral
Reply all
Reply to author
Forward
0 new messages