ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Setting up Schunk LWA3 on indigo, cannot initialize the robot.

asked 2015-03-23 12:15:26 -0500

EvilPictureBook gravatar image

Hi,

I was wondering what is the proper way to set up Schunk LWA3 arm (older, gold colored modules)?

I'm currently using the code in the schunk_robots library (with the necessary dependencies installed), and I am unable to initialize my arm. So I guess I have a several questions:

Would the same code as what is in schunk_modular_robotics and schunk_robots for the LWA4d work for an LWA3?

I'm using a Peak usb-can adapter, and right now I'm using it with the default drivers as recommended ( http://wiki.ros.org/socketcan_interface ), but because this is an older version of the arm, is this the right thing to do? Or should I compile the pcan driver (with chardev?)?

I'm also wondering if I should be using the schunk_powercube_chain instead, but there is no documentation or code samples for it for indigo, and the last version which calls it is schunk_bringup in groovy . . .

Thank you for your help, I'm a little new at working with real hardware.

------- details -------

(please let me know if there is any other information I should provide)

I have an older LWA, with only 6 joints (I've modified the relevant files, correctly, I think)

I'm on Ubuntu 14.04, using ROS Indigo

I'm using the pcan-usb adapter, with the following initialization:

    sudo ip link set can0 up type can bitrate 500000

the following drivers are loaded:

    lsmod | grep can

      can_raw                17120  0 

      can                    36575  1 can_raw

      can_dev                20764  1 peak_usb

when I try to run robot.launch I get the following:

    core service [/rosout] found
    process[arm/robot_state_publisher-1]: started with pid [3921]
    process[arm/driver-2]: started with pid [3922]
    process[arm/joint_state_controller_spawner-3]: started with pid [3923]
    process[arm/cob_control_mode_adapter_node-4]: started with pid [3924]
    [ INFO] [1427125862.856646100]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
    process[arm/joint_states_relay-5]: started with pid [3992]
    [ INFO] [1427125867.860408810]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...

when I attempt to initialize the robot (I tried different node ids for the first module (3/4/5/6))

    rosservice call /arm/driver/init

    success: 
      data: False
    error_message: 
      data: could not reset node '3'

other terminal window:

    [ INFO] [1427128285.876938150]: Initializing XXX
    [ INFO] [1427128285.877114246]: Current state: 1 device error: system:0 internal_error: 0 (OK)
    [ INFO] [1427128285.877209232]: Current state: 2 device error: system:0 internal_error: 0 (OK)
    [ INFO] [1427128286.816488654]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
    [ INFO] [1427128291.820936133]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
    SHUTDOWN
    [ INFO] [1427128295.978245127]: Current state: 2 device error: system:125 internal_error: 0 (OK)
    [ INFO] [1427128295.978322473]: Current state: 2 device error: system:0 internal_error: 0 (OK)
    [ INFO] [1427128295.978352019]: Current state: 0 device error: system:0 internal_error: 0 (OK)
    [ INFO] [1427128295.978370652]: Current state: 0 device error: system:0 internal_error: 0 (OK)
    SHUTDOWN
    [ INFO] [1427128296.823728257]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
    [ INFO] [1427128301.827175893]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting ...
(more)
edit retag flag offensive close merge delete

Comments

Hello, where you ever able to get this working?

PatFGarrett gravatar image PatFGarrett  ( 2018-04-25 21:43:32 -0500 )edit

Yes, I was. It was quite a while ago, so I would need to look over the code and my notes, but if you have questions about getting the older Schunks running I'll do my best to answer.

EvilPictureBook gravatar image EvilPictureBook  ( 2018-05-02 16:51:35 -0500 )edit

Thank you so much for the response. The main issue I have is initializing the arms and what the order of operations (commands) needs to be to launch the proper nodes. The powercube node crashes saying that ros params are not set ( Im pretty sure im setting them properly). Any help is awesome!

PatFGarrett gravatar image PatFGarrett  ( 2018-05-04 13:16:06 -0500 )edit

Sure, I'm back at that lab next week, so I can take a look. But for now, if you cab post how you're launching it (launch files, any yaml param files etc) I'll be able to compare.

Also, are you using a specific CAN adapter, or have dedicated can hardware?

EvilPictureBook gravatar image EvilPictureBook  ( 2018-05-04 13:30:28 -0500 )edit

Hello, im back in the lab now. The current set up is Schunk LWA3, PCAN PCIe card (ive tried with and without the drivers, also as net and char devices), ROS Kinetic. The process that I have been trying is powering on the arm, roscore, rosrun canopen driver, rosrun powercube

PatFGarrett gravatar image PatFGarrett  ( 2018-05-08 11:37:18 -0500 )edit

Hello, so I have made a lot of changes. Essentially I have shcunk_bringup launching powercube and the joint stuff, then I use rosservice call /arm_controller/init. the Pcan device initializes fine but then I get a -207 error when it tries to write to module. I think its an error with the module IDs

PatFGarrett gravatar image PatFGarrett  ( 2018-05-12 16:03:35 -0500 )edit

Sorry for the large delay between replies. So, I haven't ran the robot since indigo, so all the code is as it was then.

I ran it with the char device (using pcan drivers)

launching with https://gist.github.com/EvilPictureBo...

EvilPictureBook gravatar image EvilPictureBook  ( 2018-05-14 10:04:10 -0500 )edit

I also remember having to make changes to some parts of libm5api. I made a repo for that code (look through the commits, there are only a few), keep in mind this was a long time ago, so . . . the code is a bit of a mess: https://github.com/EvilPictureBook/lw...

let me know if any of this helps.

EvilPictureBook gravatar image EvilPictureBook  ( 2018-05-14 10:49:05 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-09-01 02:40:06 -0500

Hi dignakov,

the good package to start would be schunk_lwa4d but you should consider that this package will user ros_canopen (CANOpen protocol) to communicate with the arm. If your arm/modules uses M5-Protocol than you should use shunk_powercube_chain (one updated version is here). If your arm is using SM-Protocol than probably you should implement communication to it by yourself (I don't know any package providing this).

Hope it helps a bit (even though I am probably to late),

Denis

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2015-03-23 12:15:26 -0500

Seen: 862 times

Last updated: Sep 01 '16