uArm ROS code has lots of attribute/method errors

Firmware Version: 2.2.1

Operation System: Linux

uArm Controlling Method: UArmForROS

I’m seeing a lot of errors when running the ROS nodes. Every time I rosrun one of the client Python scripts after starting uarm_core.py, the uarm_core node throws an exception.
I pulled the latest code tree down from github master branch at:

Since all of these errors are regarding unknown methods in uarm_core, I’m wondering if there is a more recent version that I’m not seeing or if my pyuarm library is out of date.

Does the UFactory team just not have time to maintain this software ?

Here are the errors I’m seeing from running uarm_core.py:
`
armadilo@redtail:~/catkin_ws/src/uarm$ rosrun uarm uarm_core.py connect
=======================================================
Connecting …
=======================================================
pyuarm - INFO - pyuarm version: 2.3.0.11
pyuarm - INFO - Connecting from port - /dev/ttyUSB0…
pyuarm - INFO - Connected…
pyuarm - INFO - Firmware Version: 2.2.1

    Connected
Input Commands (Input h to see all commands): e
Exit: Break the control fuction loop

Begin monitor mode - listening to all fucntional topics
=======================================================
         Use rqt_graph to check the connection
=======================================================
on
[ERROR] [WallTime: 1488249333.025825] bad callback: <function pumpStrCallack at 0x7f4e3f500668>
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 711, in _invoke_callback
    cb(msg)
  File "/home/armadilo/catkin_ws/src/uarm/scripts/uarm_core.py", line 332, in pumpStrCallack
    uarm.pump_control(1)
AttributeError: 'UArm' object has no attribute 'pump_control'

off
[ERROR] [WallTime: 1488249358.385827] bad callback: <function pumpStrCallack at 0x7f4e3f500668>
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 711, in _invoke_callback
    cb(msg)
  File "/home/armadilo/catkin_ws/src/uarm/scripts/uarm_core.py", line 329, in pumpStrCallack
    uarm.pump_control(0)
AttributeError: 'UArm' object has no attribute 'pump_control'

[ERROR] [WallTime: 1488249694.927307] bad callback: <function attchCallback at 0x7f4e3f500758>
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 711, in _invoke_callback
    cb(msg)
  File "/home/armadilo/catkin_ws/src/uarm/scripts/uarm_core.py", line 363, in attchCallback
    uarm.attach_all_servos()
AttributeError: 'UArm' object has no attribute 'attach_all_servos'

^CDONE: Program Stopped

^C^C^C

Thanks!

UFACTORY Website:
www.ufactory.cc
uArm User Facebook Group
Contact Us:
English Channel
中文通道

Between fixing these issues and some of the modifications we need for our own work, I’m pretty much rewriting most of the ROS code for the uArm, using the pyuarm Python module at the core. I’ll let you know when I have something working.

We apologise for the errors.
A new version of uArmForROS has been uploaded to the master branch.

Let me know if there’s further problems.

Hi Cleo,
That has cleaned up most of the problems I was having.

I’ve put together an alternate uarm ROS package that might be of interest: New ROS package - uarm_metal

Hi Cleo,
I still have an error while I am using the monitor mode. What can I do ?
Here is the error:

on
[ERROR] [WallTime: 1495423934.266847] bad callback: <function pumpStrCallack at 0x7fd1463f2758>
Traceback (most recent call last):
File “/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py”, line 720, in _invoke_callback
cb(msg)
File “/home/burl/catkin_ws/src/UArmForROS-master/scripts/uarm_core.py”, line 344, in pumpStrCallack
uarm.pump_control(1)
NameError: global name ‘uarm’ is not defined

And now I have this one :
on
[ERROR] [WallTime: 1495446060.683077] bad callback: <function pumpStrCallack at 0x7f18882bec80>
Traceback (most recent call last):
File “/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py”, line 720, in _invoke_callback
cb(msg)
File “/home/burl/catkin_ws/src/UArmForROS-master/scripts/uarm_core.py”, line 344, in pumpStrCallack
uarm.pump_control(1)
AttributeError: ‘UArm’ object has no attribute ‘pump_control’

EDIT:
I found how to solve this. You have to open the uarm_core.py file. Go between line 340 and 355 and replace the two lines “uarm.pump_control(1)” and “uarm.pump_control(0)” by “uarm.set_pump(1)” and “uarm.set_pump(0)” and it should be ok.