RightHandRobotics / reflex-ros-pkg

This repo contains base ROS code for controlling the Right Hand Robotics ReFlex hand. More info at www.righthandrobotics.com
20 stars 26 forks source link

Takktile 2: ERROR! Encoder malfunction, prevented motor catastrophe. #42

Open Deastan opened 5 years ago

Deastan commented 5 years ago

Hello everyone, I have an error with the reflex takktile 2. I didn't use it for months and now, I am trying to re-use it... but I get an strange error. I ran a roscore, the normal command for running the hands, hand finally, the calibration. So in summary:

terminal 1: roscore terminal 2: roslaunch reflex reflex_takktile2.launch eth:=eth1 terminal 3: rosrun reflex test_reflex_takktile2_hand.py

Then, for the calibration you have to press enter to start the calibration and i got an error on the teminal 2.

[ INFO] [1567173001.059249367]: Beginning finger calibration sequence... [ INFO] [1567173001.145366764]: Step fingers inwards: 0+6 0+6 0+6 0+0 [FATAL] [1567173001.145437963]: ERROR! Encoder malfunction, prevented motor catastrophe. Please check finger connections!

What should I do, please ?

When I try to change the value on RQT. The finger 1 started when the setting on rqt is 0.0 for position finger one, The finger move directly to 2.5. And it seem to be a initial state. Now, after many trial, nothing work. I can run the terminal 2, but nothing is happening even with RQT.

Details: process[recorder-1]: started with pid [21834] process[driver_node_0-2]: started with pid [21835] process[reflex_takktile_hand2-3]: started with pid [21836] [ INFO] [1567172953.928245137]: Succesfully loaded all parameters

[ INFO] [1567172953.928620240]: Publishing the /hand_state topic [ INFO] [1567172953.929150452]: Starting reflex_hand_driver on network interface eth1 [ INFO] [1567172953.929167498]: ReflexHand constructor [ INFO] [1567172953.929174411]: Ethernet: eth1 [ INFO] [1567172953.929180159]: Multicast address: 224.0.0.124 [ INFO] [1567172953.929324408]: Found address 127.0.0.1 on interface lo [ INFO] [1567172953.929334025]: Found address 138.131.217.141 on interface eth0 [ INFO] [1567172953.929341359]: Found address 160.69.69.100 on interface eth1 [ INFO] [1567172953.929347608]: using 160.69.69.100 as the TX interface for IPv4 UDP multicast [ INFO] [1567172953.929496412]: constructor complete [ INFO] [1567172953.934056092]: Advertising the /calibrate_fingers service [ INFO] [1567172953.934409093]: Advertising the /initIMUCal service [ INFO] [1567172953.934811614]: Advertising the /saveIMUCalData service [ INFO] [1567172953.935211639]: Advertising the /loadIMUCalData service [ INFO] [1567172953.935574027]: Advertising the /refreshIMUCalData service [ INFO] [1567172953.935925780]: Advertising the /calibrate_tactile service [ INFO] [1567172953.936307738]: Advertising the /set_tactile_threshold service [ INFO] [1567172953.936317297]: Entering main reflex_driver loop... [INFO] [WallTime: 1567172956.142841] Starting up the hand [INFO] [WallTime: 1567172956.205770] ReFlex hand has started, waiting for commands... [ INFO] [1567173001.059249367]: Beginning finger calibration sequence... [ INFO] [1567173001.145366764]: Step fingers inwards: 0+6 0+6 0+6 0+0 [FATAL] [1567173001.145437963]: ERROR! Encoder malfunction, prevented motor catastrophe. Please check finger connections! [ INFO] [1567173001.155665171]: Have a nice day stack smashing detected : /home/roboticlab14/catkin_ws_righthand/devel/lib/reflex_driver2/reflex_driver_node2 terminated ================================================================================REQUIRED process [driver_node_0-2] has died! process has died [pid 21835, exit code -6, cmd /home/roboticlab14/catkin_ws_righthand/devel/lib/reflex_driver2/reflex_driver_node2 eth1 name:=driver_node_0 log:=/home/roboticlab14/.ros/log/dcdbd7a0-cb2c-11e9-aeb7-7085c28f82c2/driver_node_0-2.log]. log file: /home/roboticlab14/.ros/log/dcdbd7a0-cb2c-11e9-aeb7-7085c28f82c2/driver_node_0-2*.log Initiating shutdown!

[reflex_takktile_hand2-3] killing on exit [driver_node_0-2] killing on exit [recorder-1] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done`

Edit: The motors are working for the fingers and the preshape. I have to put the string under tension. So position finger 1: 1.0 position finger 2: 3.5 position finger 3: 1.5 preshape: already at the angle pi/4 when set at zero on RQT.

Edit: This is the function that is creating the error: calibrate_fingers = rospy.ServiceProxy('/reflex_takktile2/calibrate_fingers', Empty) calibrate_fingers()

If I calibrate with : calibrate_tactile()... it doesn't fail.

Maybe the encoders don't work ? But Why ?

pragathip commented 4 years ago

Are there any updates on this issue?

amirghalamzan commented 4 years ago

@Deastan do you have any update on this issue?