Yaskawa GP8 connection using YRC1000 Controller problem

378 views
Skip to first unread message

batu...@gmail.com

unread,
Dec 25, 2017, 10:02:16 AM12/25/17
to swri-ros-pkg-dev
Hello,

I have been trying to establish a connection  between ROS industrial with Moveit, and the Yaskawa GP8 with YRC1000 controller.
I have created urdf models for the GP8 robot, support files and the moveit, both can be found under



I can get the fake controller and the rviz running and working fine. I can connect to the real controller using 

roslaunch yaskawa_gp8_moveit_config moveit_planning_execution.launch robot_ip:=(ip to the robot) controller:=yrc1000 sim:=false

and read the joint value of the real robot into rviz. However, when i try to move the real robot after planning i get the following errors.



















motoman drivers troubleshooting guide suggests that to solve the problem /robot_enable service must be called before motion commands are send.
I am confused by this statement. Do i need to launch other nodes/packages?
How do i solve this issue? and enable the robot?

Any help is appreciated.
Best regards
Batu

Shaun Edwards

unread,
Dec 26, 2017, 12:33:23 PM12/26/17
to swri-ros...@googlegroups.com
Batu,

Are you sure the joint states are correct?  The blue screen capture indicates differently.  The "StateServer Send failure..." message likely means it's not sending that state info.

-Shaun

--
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.
--
Shaun Edwards

Batu Akan

unread,
Jan 3, 2018, 8:08:51 AM1/3/18
to swri-ros-pkg-dev
Hi Shaun,

I have been in touch with Ted Miller from Yaskawa and Yaskawa Nordic helped us to setup the motoros on the controller.

State Server works, because after i connect to the controller, if i jog the robot manually i can see that the simulation gets updated. I guess this is indication that the state server is running.

Further more, if i manually start executing the INIT_ROS infrom file and then switch to remote mode on the controller, and then connect to the controller with the motoman driver, i can send motion instructions and the physical robot performs them as instructed.
According to Ted Miller, and our support contact at Yaskawa Nordic, and when we look at the network trafic from ROS to YRC1000, we see that the ROS is not sending the “start trajectory mode” (robot-enable) command.  It just keeps sending a the “stop trajectory mode” command and then rechecking if the controller is “motion ready”.

My understanding based on the tutorials is that ROS should start the execution of INIT_ROS when the controlle ris in remote mode and then send the joint values to move to the robot.

Is my understanding correct? If so how can i solve or gather more information about this problem?

\Batu

G.A. vd. Hoorn - 3ME

unread,
Jan 3, 2018, 8:10:51 AM1/3/18
to swri-ros...@googlegroups.com
On 3-1-2018 14:08, Batu Akan wrote:
> Hi Shaun,
>
> I have been in touch with Ted Miller from Yaskawa and Yaskawa Nordic
> helped us to setup the motoros on the controller.
>
> State Server works, because after i connect to the controller, if i jog
> the robot manually i can see that the simulation gets updated. I guess
> this is indication that the state server is running.
>
> Further more, if i manually start executing the INIT_ROS infrom file and
> then switch to remote mode on the controller, and then connect to the
> controller with the motoman driver, i can send motion instructions and
> the physical robot performs them as instructed.
> According to Ted Miller, and our support contact at Yaskawa Nordic, and
> when we look at the network trafic from ROS to YRC1000, we see that the
> ROS is not sending the “start trajectory mode” (robot-enable) command.
> It just keeps sending a the “stop trajectory mode” command and then
> rechecking if the controller is “motion ready”.
>
> My understanding based on the tutorials is that ROS should start the
> execution of INIT_ROS when the controlle ris in remote mode and then
> send the joint values to move to the robot.
>
> Is my understanding correct? If so how can i solve or gather more
> information about this problem?

Have you invoked the /robot_enable service as indicated on the
Troubleshooting page?


Gijs



> On Tuesday, December 26, 2017 at 6:33:23 PM UTC+1, Shaun Edwards wrote:
>
> Batu,
>
> Are you sure the joint states are correct?  The blue screen capture
> indicates differently.  The "StateServer Send failure..." message
> likely means it's not sending that state info.
>
> -Shaun
>
> On Mon, Dec 25, 2017 at 9:02 AM <batu...@gmail.com <javascript:>> wrote:
>
> Hello,
>
> I have been trying to establish a connection  between ROS
> industrial with Moveit, and the Yaskawa GP8 with YRC1000 controller.
> I have created urdf models for the GP8 robot, support files and
> the moveit, both can be found under
>
> https://github.com/batuakan/yaskawa_gp8_support.git
> <https://github.com/batuakan/yaskawa_gp8_support.git>
>
> https://github.com/batuakan/yaskawa_gp8_moveit_config.git
> <https://github.com/batuakan/yaskawa_gp8_moveit_config.git>
>
> I can get the fake controller and the rviz running and working
> fine. I can connect to the real controller using
>
> roslaunch yaskawa_gp8_moveit_config
> moveit_planning_execution.launch robot_ip:=(ip to the robot)
> controller:=yrc1000 sim:=false
>
> and read the joint value of the real robot into rviz. However,
> when i try to move the real robot after planning i get the
> following errors.
>
>
> <https://lh3.googleusercontent.com/-PziFFuKg1Eo/WjesjdWbblI/AAAAAAAAM8g/xAYYo6YIfC0-ud2fcXk2jgGX2tOiec_CACLcBGAs/s1600/ROSConsole.png><https://lh3.googleusercontent.com/-y-Ztd08kOIo/WjetI5dIZUI/AAAAAAAAM8o/6fn0XK47q4cgqRLLnWqkfmZ74E7tuFZxwCLcBGAs/s1600/ControllerConsole.png>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> motoman drivers troubleshooting
> <http://wiki.ros.org/action/show/motoman_driver/Troubleshooting?action=show&redirect=motoman%2FTroubleshooting#ROS_Errors> guide
> suggests that to solve the problem /robot_enable service must be
> called before motion commands are send.
> I am confused by this statement. Do i need to launch other
> nodes/packages?
> How do i solve this issue? and enable the robot?
>
> Any help is appreciated.
> Best regards
> Batu
>
> --
> 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
> <javascript:>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
> --
> Shaun Edwards
>
> --
> 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
> <mailto:swri-ros-pkg-d...@googlegroups.com>.

Batu Akan

unread,
Jan 3, 2018, 10:32:11 AM1/3/18
to swri-ros-pkg-dev
Hi Gijs,

I am afraid not! :)

How do i call that service,

Solution: On a driver launch, the new robot_enable service must be called before motion commands are sent. Refer to the motoman_driver usage for more details.

 Make sure to re-enable the robot by calling "robot_enable" again before re-sending the motion commands.
 
 this part is unclear to me. The documnetation states that it must be run, but doesnt say how


Thank you for your help
Batu

G.A. vd. Hoorn - 3ME

unread,
Jan 3, 2018, 10:36:08 AM1/3/18
to swri-ros...@googlegroups.com
On 3-1-2018 16:32, Batu Akan wrote:
> Hi Gijs,
>
> I am afraid not! :)
>
> How do i call that service,
>
> *Solution: *On a driver launch, the new robot_enable service must be
> called before motion commands are sent. Refer to the motoman_driver
> usage
> <http://wiki.ros.org/motoman_driver/Tutorials/Usage#Robot_Controller> for
> more details.
>
>
> Make sure to re-enable the robot by calling "robot_enable" again
> before re-sending the motion commands.
>
>
>  this part is unclear to me. The documnetation states that it must be
> run, but doesnt say how

The service must be /called/.

You can do that just as you would with any other ROS service: either by
using 'rosservice call ..' or by writing a node that creates a service
client and then invokes the service.

For the former, see 'rosservice call --help', for the latter, I would
refer you to the various tutorials on writing a ROS service client.


Gijs

PS: in an actual system enabling the driver through 'robot_enable' would
probably be done by a state in an overall coordinating state machine.
Not from the command line or a random node.
> <https://lh3.googleusercontent.com/-PziFFuKg1Eo/WjesjdWbblI/AAAAAAAAM8g/xAYYo6YIfC0-ud2fcXk2jgGX2tOiec_CACLcBGAs/s1600/ROSConsole.png>><https://lh3.googleusercontent.com/-y-Ztd08kOIo/WjetI5dIZUI/AAAAAAAAM8o/6fn0XK47q4cgqRLLnWqkfmZ74E7tuFZxwCLcBGAs/s1600/ControllerConsole.png
> > an email to swri-ros-pkg-d...@googlegroups.com <javascript:>
> > <mailto:swri-ros-pkg-d...@googlegroups.com
> <javascript:>>.
> > For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
> --
> 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
> <mailto:swri-ros-pkg-d...@googlegroups.com>.

Batu Akan

unread,
Jan 22, 2018, 5:25:18 AM1/22/18
to swri-ros-pkg-dev
Hi Gijs,

Sorry for the late update,
It works now, thank you very much

Batu
>     <javascript:>>.
>      > For more options, visit https://groups.google.com/d/optout
>     <https://groups.google.com/d/optout>.
>
> --
> 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
Reply all
Reply to author
Forward
0 new messages