Skip to content
This repository has been archived by the owner on Jul 14, 2023. It is now read-only.

movo-core.services not found, action services for left arm not started #95

Closed
amansingh427 opened this issue Mar 15, 2023 · 4 comments
Closed
Assignees

Comments

@amansingh427
Copy link

Hello all, we are having trouble with starting the required services for our MOVO after removing the right arm. Our MOVO has one left arm with 7 DOF and as seen below, we are trying to use the single arm configuration branch. Our MOVO is also using ROS Kinetic.

We initially started by following the instructions posted in this post. Then we ran catkin_make in movo_ws. We made some small edits to make it compatible with Kinetic, and edited the movo_config.bash to change the following variables:

MOVO_HAS_TWO_KINOVA_ARMS = false 
MOVO_HAS_RIGHT_ARM_7DOF = false 
MOVO_HAS_RIGHT_KG3_GRIPPER = false 

Whenever we try to start the ROS calls via movostart, we get the following error: Failed to start movo-core.service: Unit movo-core.service not found. We usually have to start the robot using movo-core-start, and that starts the services for all but the left arm (and left gripper). The MOVO is able to ping the left arm, but the action server for the left arm seems to never start; first a warning pops up, saying Waiting for movo/left_arm_controller/follow_join_trajectory to come up. The action client then times out due to not being able to connect to the action server. This only happens for the arm, as the body and the camera works just fine.

We think that these two issues might be related to each other, but we are not sure if they are, or how they would be related.

Any help would be greatly appreciated.

@brandonjdehart
Copy link

brandonjdehart commented Mar 16, 2023

When we were initially working with our Movo several years ago, we had a similar issue when we tried to only use a single, left arm. I don't believe we ever solved the issue for the left arm, but for whatever reason just switching the Movo to use a single, right arm seemed to work fine. Our assumption at the time was that the code was expecting to connect to either no arms, one right arm, or two arms and a single left arm was never an expected operating mode.

@KinovaCustomerSupport
Copy link
Collaborator

KinovaCustomerSupport commented Mar 17, 2023 via email

@amansingh427
Copy link
Author

amansingh427 commented Apr 11, 2023

Thank you for your response. We moved the arm to the right, but now we are getting the same issue, with the action server for the right arm not starting. We are additionally getting these error when running sudo movo-core-start:

remote[movo1-0]: [ERROR] [1681258881.039189]: Init API result:   1
[ERROR] [1681258881.039554]: GetDevices result: 1
[ERROR] [1681258881.039764]: Number of arms:    0
[ERROR] [1681258881.039945]: Initialization failed, could not find Kinova devices                           (see Kinova.API.CommLayerUbuntu.h for details)
[right_arm_ctl-1] process has died [pid 4312, exit code -11, cmd /home/movo/movo_ws/src/movo_common/movo_ros/bin/movo_arm_ctl __name:=right_arm_ctl __log:=/home/movo/.ros/log/37b164fe-d8c8-11ed-998b-94c6911bfb50/right_arm_ctl-1.log].
log file: /home/movo/.ros/log/37b164fe-d8c8-11ed-998b-94c6911bfb50/right_arm_ctl-1*.log

We are able to ping both arms now (we fixed an issue where both arms had IP addresses 10.66.171.16), and the right arm seems to work by itself when connected to another machine via USB. For some reason, it seems like the MOVO cannot connect to or communicate with the right arm.

I look forward to your reply.

Edit: I found the rosout error log file from the MOVO 1, where it fails to intialize the right arm controller. I have pasted it here; it seems similar to the error above, but it has a little more information.

rospy.client][INFO] 2023-04-12 01:07:25,775: init_node, name[/right_arm_ctl], pid[4307]
[xmlrpc][INFO] 2023-04-12 01:07:25,775: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2023-04-12 01:07:25,775: Started XML-RPC server [http://MOVO1:36581/]
[rospy.init][INFO] 2023-04-12 01:07:25,775: ROS Slave URI: [http://MOVO1:36581/]
[rospy.impl.masterslave][INFO] 2023-04-12 01:07:25,776: _ready: http://MOVO1:36581/
[rospy.registration][INFO] 2023-04-12 01:07:25,776: Registering with master node http://MOVO2:11311/
[xmlrpc][INFO] 2023-04-12 01:07:25,776: xml rpc node: starting XML-RPC server
[rospy.init][INFO] 2023-04-12 01:07:25,876: registered with master
[rospy.rosout][INFO] 2023-04-12 01:07:25,876: initializing /rosout core topic
[rospy.rosout][INFO] 2023-04-12 01:07:25,882: connected to core topic /rosout
[rospy.simtime][INFO] 2023-04-12 01:07:25,886: /use_sim_time is not set, will not subscribe to simulated time [/clock] topic
[rosout][INFO] 2023-04-12 01:07:25,910: Starting JACO2 control
[rospy.internal][INFO] 2023-04-12 01:07:26,186: topic[/rosout] adding connection to [/rosout], count 0
[rosout][ERROR] 2023-04-12 01:07:26,927: Init API result:   1
[rosout][ERROR] 2023-04-12 01:07:26,927: GetDevices result: 1
[rosout][ERROR] 2023-04-12 01:07:26,927: Number of arms:    0
[rosout][ERROR] 2023-04-12 01:07:26,928: Initialization failed, could not find Kinova devices                           (see Kinova.API.CommLayerUbuntu.h for details)

@amansingh427
Copy link
Author

Solved! While going through the arm initialization code, I found that the MOVO only detects an arm if the arm is at a specific port; for the right arm, that port is 55000. Using the Jaco SDK, I saw that the port was incorrect, so I changed it, and the arm now works as normal along with the MOVO. This is what my right arm looks like:
Screenshot from 2023-06-05 12-01-12

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants