ipa320 / schunk_robots Goto Github PK
View Code? Open in Web Editor NEWHome Page: www.schunk-modular-robotics.com
Home Page: www.schunk-modular-robotics.com
schunk_robots =========== ## ROS Distro Support | | Indigo | Jade | Kinetic | |:-------:|:------:|:----:|:-------:| | Branch | [`indigo_dev`](https://github.com/ipa320/schunk_robots/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/schunk_robots/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/schunk_robots/tree/indigo_dev) | | Status | supported | not supported | supported | | Version | [version](http://repositories.ros.org/status_page/ros_indigo_default.html?q=schunk_robots) | [version](http://repositories.ros.org/status_page/ros_jade_default.html?q=schunk_robots) | [version](http://repositories.ros.org/status_page/ros_kinetic_default.html?q=schunk_robots) | ## Travis - Continuous Integration Status: [![Build Status](https://travis-ci.org/ipa320/schunk_robots.svg?branch=indigo_dev)](https://travis-ci.org/ipa320/schunk_robots) ## ROS Buildfarm | | Indigo Source | Indigo Debian | Jade Source | Jade Debian | Kinetic Source | Kinetic Debian | |:-------:|:-------------------:|:-------------------:|:-------------------:|:-------------------:|:-------------------:|:-------------------:| | schunk_robots | [![not released](http://build.ros.org/buildStatus/icon?job=Isrc_uT__schunk_robots__ubuntu_trusty__source)](http://build.ros.org/view/Isrc_uT/job/Isrc_uT__schunk_robots__ubuntu_trusty__source/) | [![not released](http://build.ros.org/buildStatus/icon?job=Ibin_uT64__schunk_robots__ubuntu_trusty_amd64__binary)](http://build.ros.org/view/Ibin_uT64/job/Ibin_uT64__schunk_robots__ubuntu_trusty_amd64__binary/) | [![not released](http://build.ros.org/buildStatus/icon?job=Jsrc_uT__schunk_robots__ubuntu_trusty__source)](http://build.ros.org/view/Jsrc_uT/job/Jsrc_uT__schunk_robots__ubuntu_trusty__source/) | [![not released](http://build.ros.org/buildStatus/icon?job=Jbin_uT64__schunk_robots__ubuntu_trusty_amd64__binary)](http://build.ros.org/view/Jbin_uT64/job/Jbin_uT64__schunk_robots__ubuntu_trusty_amd64__binary/) | [![not released](http://build.ros.org/buildStatus/icon?job=Ksrc_uX__schunk_robots__ubuntu_xenial__source)](http://build.ros.org/view/Ksrc_uX/job/Ksrc_uX__schunk_robots__ubuntu_xenial__source/) | [![not released](http://build.ros.org/buildStatus/icon?job=Kbin_uX64__schunk_robots__ubuntu_xenial_amd64__binary)](http://build.ros.org/view/Kbin_uX64/job/Kbin_uX64__schunk_robots__ubuntu_xenial_amd64__binary/) |
When I launch the pg70 launch file robot.launch, I get the following error in terminal
[INFO] [1560522231.607565]: <> <>
[INFO] [1560522245.100078]: Move <> to <>
[WARN] [1560522248.158438]: no joint states received from gripper within timeout of 3.0sec. using default point time of 8sec.
[WARN] [1560522248.173203]: parameter /script_server/gripper/default_acc does not exist on ROS Parameter Server, using default of 1.000000 [rad^2/sec].
[ERROR] [1560522249.231542]: ActionServer /gripper/joint_trajectory_controller/follow_joint_trajectory not ready within timeout, aborting...
In Diagnotics errors are :
gripper driver:chain Not initialized
gripper driver:motor Not initialized
How can I Solve it ?
Im working with ROS Hydro and schunk_robots (hydro_dev)
. When I try to run lwa4p.launch
I obtain this error:
roslaunch schunk_lwa4p lwa4p.launch
ERROR: cannot launch node of type [ipa_canopen_ros/canopen_ros]: can't locate node [canopen_ros] in package [ipa_canopen_ros]
I tried to install ipa_canopen from differents sites (github ipa320/ipa_canopen and repositories) but the problem is the same.
I also tested the groovy version, and it works. In the groovy version there is a node called canopen_ros. I think thats the problem, in the hydro one this node is called ipa_canopen_ros
and not canopen_ros
.
Editing the file lwa4p.launch
in hydro version seems to fix the problem
<!-- this is the CANopen ROS wrapper node -->
<node ns="canopen" name="canopen_ros" pkg="ipa_canopen_ros" type="ipa_canopen_ros" cwd="node" respawn="false" output="screen" />
Later you have to set the server parameters for ipa_canopen_ros
node. I didnt test it yet.
[ERROR] [1405830684.135245909]: Parameter device not set, shutting down node...
[ERROR] [1405830684.136375033]: Parameter sync_interval not set, shutting down node...
[ERROR] [1405830684.137466373]: Parameter baudrate not set, shutting down node...
[ERROR] [1405830684.138603180]: Parameter chains not set, shutting down node...
The first time I give power to the powerball and I initialize it with the command rosservice call /arm_controller/init
after launching roslaunch schunk_bringup lwa4p_solo.launch
, it gives the following messages after the PDO mapping:
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Found motor in state FAULT, need to adjust state to SWITCHED_ON
Problems occured during driver side init for Node3
[ WARN] [1403510117.801476642]: This chain could not be initialized. Check for possible errors and try to initialize it again.
So I have to initialize the arm a second time using again rosservice call /arm_controller/init
; this time the motors are found in state OPERATION_ENABLED and the initialization concludes successfully. As I said, this problem occurs only the first time the robot is initialized after I give it power, otherwise the initialization is always successful.
I'm using ros hydro.
In this package , there is no moveit_config_package under groovy_dev? how can i using the moveit to control the real robot with least working? There is only command_gui control for the robot schunk_lwa4d.
Hello,
I saw that SDH launch and config files are removed from indigo_dev branch, they can be found in hydro_release branch. Are they moved somewhere else? Is there intention to not support SDH any more?
Hi!
I think it can be done after reading the Control_motion.pdf from schunk, however I would want to know if it is actually implemented now somehow as a ros service..
hi fiends. i have the "KVASER LEAF ligth 2 for interact with the schunk
i downloaded the schunk robots and schunk modular robotics (most recently version for indigo)
and i tryed the following:
i installed the linuxcan diver for kvaser manually and i changed the name
can0 for leaf0 in the can0.yaml file
then i tryed to run robot.launch and doesn't work
i alway get this:
[ INFO] [1426779129.580337088]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
then i called the service:
velarje1@cemie-p02:~/schunk_ws$ rosservice call /arm/driver/init
success:
data: False
error_message:
data: CAN init failed
my question is ... do i need to change anything else? or i need to use the peak only for this application?
thank you very much
Hi,
I'm having some troubles regarding CAN interface and setup for Schunk LWA4P.
I'm getting following errors as long as I'm trying to use following can0.yaml
specification:
bus:
device: can0
sync:
interval_ms: 25
[ERROR] [1630779962.084919678]: EMCY received: 88#1081110000000000
[ERROR] [1630779962.892890561]: EMCY received: 83#0000000000000000
[ERROR] [1630779962.894302423]: error register: 17
I've tried to debug following error code (CAN overrun) and I've found this issue regarding CAN overflow.
I've tried values ranging from 10-20
for setting up txqueuelen
of my can0
interface but still no luck.
First sync interval that's possible to achieve is 25
ms, which reduces my control loop frequency to 40Hz. Altough it's relatively ok, It would be great to have 50Hz for smooth robotic arm servoing, ideally 100Hz.
Output of ip -details -statistics link show can0
is:
ip -details -statistics link show can0
9: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 25
link/can promiscuity 0 minmtu 0 maxmtu 0
can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 50
bitrate 500000 sample-point 0.875
tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
clock 8000000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 1 0 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
RX: bytes packets errors dropped overrun mcast
56244 10330 0 0 0 0
TX: bytes packets errors dropped carrier collsns
7092 2249 0 0 0 0
I'm using PCAN-USB and SocketCAN driver.
Basically, I'm wondering how to solve can overrun issue and initialize driver sucessfuly to enable control of robot manipulator above 40Hz.
Thank you for your time and help.
Hello,
I am trying to run the schunk lwa4p arm with ros_canopen package but was not able to initialize the robot. The nodes are running and the can is set up but the rosservice call /arm/driver/init was not able to initialize the robot. I am attaching the candump output of the service along with other outputs.
I am using the shunck_lwa4p package from schunk_robots.
Please find the link to the gist with respective files https://gist.github.com/rishabhagarwal880/9bb9aa3b25dadad3d81a66ce97c59ca6
Hi,
I am trying to move the schunk lwa4p arm using the package of indigo version. But errors like 'CAN not ready' 'message: cannot reset node ' '' frequently appear when I call the service /arm/driver/init.
The configuration status is:
-Ubuntu 14.04 64-bit
-ROS-Indigo (the most recent update)
-SocketCAN(peak_usb)
-The schunk_robots and ros_canopen repositories are the most recent ones.
The program running order:
rosrun canopen_test_utils prepare.sh;
roslaunch schunk_lwa4p robot.launch;
rosservice call /arm/driver/init(OR roslaunch schunk_lwa4p dashboard.launch).
I considered it as an issue of time sequence, as I found that the Sync, SDO and PDO running simutaneously like chaos. So I delayed the sync starting time after the SDO initialization finished(not completely, except the last node), by adding a conditional flag in the function of switchState() in the node.cpp in the package of canopen_master, as follows:
......
int delay_flag=0;
......
case Operational:
delay_flag++;
if (delay_flag==6) {
delay_flag=0;
if(changed && sync_) sync_->addNode(this);}
break;
......
The current status is: as long as I have tested, it fails at the first one or two tries(relaunch the robot node) every time I restart the arm, but after that it works stably(no errors and can move the arm).
Errors in the first one or two tries:
......
core service [/rosout] found
process[arm/robot_state_publisher-1]: started with pid [14627]
process[arm/driver-2]: started with pid [14652]
process[arm/arm_controller_spawner-3]: started with pid [14687]
process[arm/cob_control_mode_adapter_node-4]: started with pid [14700]
[ INFO] [1445943599.536288009]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
process[arm/joint_states_relay-5]: started with pid [14722]
[ INFO] [1445943604.536369237]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
[ INFO] [1445943604.598089341]: Initializing XXX
[ INFO] [1445943604.598304076]: Current state: 1 device error: system:0 internal_error: 0 (OK)
[ INFO] [1445943604.598407122]: Current state: 2 device error: system:0 internal_error: 0 (OK)
[ INFO] [1445943609.557082529]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
[ INFO] [1445943614.558829524]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
[ INFO] [1445943617.524258383]: waitForService: Service [/arm/controller_manager/load_controller] is now available.
[ INFO] [1445943617.609265224]: joint_trajectory_controller loaded
[ INFO] [1445943617.659285657]: joint_group_position_controller loaded
[ INFO] [1445943617.669156610]: joint_group_interpol_position_controller loaded
[ INFO] [1445943617.719205008]: joint_group_velocity_controller loaded
Loaded joint_state_controller
[ INFO] [1445943617.779181358]: Switched Controllers. From no_stop_controller_defined to joint_trajectory_controller
Started ['joint_state_controller'] successfully
[ INFO] [1445943618.011741385]: advertised as /joint_states[arm/arm_controller_spawner-3] process has finished cleanly
log file: /home/zheng/.ros/log/68412552-7c99-11e5-955b-901b0e5c82f2/arm-arm_controller_spawner-3*.log
error: 4
[ INFO] [1445943618.682338510]: Current state: 2 device error: system:0 internal_error: 4 (controller problems;)
[ INFO] [1445943618.682366799]: Current state: 1 device error: system:0 internal_error: 4 (controller problems;)
ID: 4
[ERROR] [1445943618.689081715]: CAN not ready; CAN not ready
Did not receivce a response message
Did not receivce a response message
......
The question here is: I am not sure whether what I have understood and changed is reasonable or not. The fact is it truly increases the probability of successful initialization. Could anyone give me some instructions about it? Or any other method to solve it? Thanks very much.
I have bought 2 manipulator schunk_lwar4d, can i control the 2 arm at the same time?
Waiting for your help.
Hello,
I am setting up a Schunk Lwa4D robot with a PG70 gripper. I am using:
When I launch each component individually, I am able to initialize and move them without problem. If I launch both robot.launch files, I am able to initialize both drivers and also move the LWA4D arm without problem. Nevertheless, when I try to move the PG70 gripper (either by dashboard, move_lin.py script or ROS topic command), the griper executes a jerky motion, stops, and gives me the following EMCY error:
EMCY: 8C#128621D680828247
I searched a bit and I found that this may seem that the gripper attempts to reach a position off its limits (not sure at all about that last statement). I need to also say that both components share the same CAN bus (The LWA CAN socket on the robot) in the can0 port with 500K bitrate. I am not sure whether they need to share different buses when initialized together.
I suspect that there might be a conflict between the canopen nodes or the controller switchers of both components leading to commands that were to be sent for LWA4D to actually be sent to PG70, hence the "out of limits" error. I have little experience with CAN devices, so I may be completely wrong about that.
Would it be possible to help me with that? Thank you in advance!
Dear sir ,call for your help
configure setting
-Ubuntu 14.04 64-bit
-ROS-Indigo (the most recent update)
-SocketCAN(peak_usb)
-bitrate 500k, txqueuelen 20
the schunk_lwa4d can be initialized correctly, but the schunk_pg70 failed
error information:
rosservice call /gripper/driver/init
success: False
message: could not reset node '1'
how can I fixed this question?
Hello all,
I am testing indigo version of this repo for controlling lwa4p arm. This new version is using ros_canopen repository as a driver. Does this communication works? Did somebody tested it with Peak CAN-USB adapter?
Thanks!
Hi...
I am using ROS kinetic with schunk lwa4p arm with esd CAN_USB2. I am getting this error while launch of dashboard.launch file
ERROR: cannot launch node of type [cob_dashboard/cob_dashboard]: can't locate node [cob_dashboard] in package [cob_dashboard]
ERROR: cannot launch node of type [cob_command_gui/knoeppkes.py]: can't locate node [knoeppkes.py] in package [cob_command_gui]
when roslaunch schunk_lwa4d robot.launch
how to fix?
For help
I could be able to build this package, but I cannot initialize PW70.
First of all, I changed the config/ptu_driver.yaml
file for my CAN setting and module ids as below.
can_baudrate: 500
(I guess this means 500k, right?)
can_device: can0
can_module: SOCKETCAN
...
modul_ids: [13, 14]
...
Then, I ran robot.launch
and dashboard.launch
and clicked the 'init' button on the dashboard.
Then it shows the error like this.
[ INFO] [1507700589.955168930]: ...initializing powercubes not successful. error: Could not reset module 13 during init. Errorcode during reset: 1 Try to init once more.
Does anybody know how to resolve this problem?
I am using IXXAT CAN module and running ROS indigo.
The unit works when I manually send a CAN message using cansend
, but I want to operate PW70 on ROS using this package.
Thanks,
Hanjun
Hi
I am currently working with schunk lwa4p and this package is really helpful. I would like to read torques and map them to the efforts values in joint_states topic. I edited arm_driver.yaml and added line
eff_from_device: "obj6077"
I am getting values from -500 to 500 and I do not understand in what unit are these values. I also read that this could be the currents of motors.If it is true and the values are currents Is there any documentation where I can find motor constat for commuting the torques ? Can you help me to understand what kind of data I am getting from device
Thank you for your time and help. I also really appreciate your work.
Hi
I was using lwa4p manipulator for one month and everything works correctly. I am using peak controller and I also setup arm with moveit and I am planning to use descartes for cartesian path control but yesterday I tried to initialize the arm and I got following error after calling init all from dashboard.
[ INFO] [1462370072.916654384]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting... [ INFO] [1462370076.942933582]: Initializing XXX [ INFO] [1462370076.943194663]: Current state: 1 device error: system:0 internal_error: 0 (OK) [ INFO] [1462370076.943313656]: Current state: 2 device error: system:0 internal_error: 0 (OK) [ INFO] [1462370077.924076854]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting... [ INFO] [1462370082.928755781]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting... [ INFO] [1462370087.940142244]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting... [ INFO] [1462370090.046918356]: waitForService: Service [/arm/controller_manager/load_controller] is now available. [ INFO] [1462370090.173969755]: joint_trajectory_controller loaded [ INFO] [1462370090.244010447]: joint_group_position_controller loaded Loaded joint_state_controller [ INFO] [1462370090.313903997]: joint_group_interpol_position_controller loaded Started ['joint_state_controller'] successfully [ INFO] [1462370090.383854288]: joint_group_velocity_controller loaded Slave timeout [arm/arm_controller_spawner-4] process has finished cleanly log file: /home/mirec/.ros/log/b43292d8-11ff-11e6-adb5-ac7ba189beb7/arm-arm_controller_spawner-4*.log Could not switch to mode 7, reason: Mode switch timed out. [ERROR] [1462370095.397488511]: arm_1_jointcould not enter mode 7 [ERROR] [1462370095.397585440]: Could not switch one joint for joint_trajectory_controller, will stop all related joints and the controller. [ INFO] [1462370095.397933967]: Switched Controllers. From no_stop_controller_defined to joint_trajectory_controller [ WARN] [1462370095.397973796]: notify failed [ INFO] [1462370095.405355236]: advertised as /joint_states
Could anyone help me with this issue I did not make any changes in package and neither in my workspace.
Thank you for your help.
Hello,
is there a version fitting Ubuntu 18.04 ros melodic?
Thank you in advance,
Fan
Thank you sir.
Is there need to change the can0.yaml depend on the different can devices?
My manipulator is schunk_lwa4d.
My can device is the pcan-usb x6, and maybe my can device is different to yours, should I change my can0.yaml?
What should I do when I want to use this package to control my manipulator?
My manipulator is LWA4D.
This morning I send wrong joint positions to lwa4d by mistake, it moved quickly.
Before the arm occur self collision, I press the emergency power down button.
Then I power on again, the driver of the manipulator send back wrong angles of the arm.
Joint1 and joint2 have 45 degree error.
Any body know how to use PEAK-CAN with ROS to reset?
Thanks.
I am trying to launch a LWA4P with newer firmware version 0.65.
My setup works perfectly with 0.63 but fails with 0.65.
Do I need another config file?
Hello!
Thank you for the repository maintenance. In the previous releases, the schunk_bringup package was supported. Any plans to release it?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.