Kinovarobotics / kinova-ros

ROS packages for Jaco2 and Mico robotic arms
BSD 3-Clause "New" or "Revised" License
363 stars 318 forks source link

Errors with nodes and params in launch file of Kinova Jaco2 launch file (Beginner) #400

Closed AbiriLab closed 2 years ago

AbiriLab commented 2 years ago

Hello, I am a fairly new programmer and completely new to ROS and am trying to externally control a Kinova Jaco2 robotic arm using the example Python scripts in the kinova-ros repository:

https://github.com/Kinovarobotics/kin...

My version of Ubuntu (20.04) uses ros-noetic per the GitHub page. In case I did something in the wrong order or am missing a step in my set-up, I will describe what I have done. After downloading ros-noetic on my machine, I sourced my environment with

$ source /opt/ros/noetic/setup.bash

and created a catkin_ws directory and src sub-directory and ran catkin_make. I then cloned the above repository into the src directory and ran catkin_make in the catkin_ws directory again. From there, I have played around with the roslaunch commands with multiple issues while looking at the .launch file for reference. In the repository, the .launch file is called "kinova_robot.launch" and it is in the folder "kinova_bringup." When I run

$ roslaunch kinova_bringup kinova_robot.launch

my output is as follows:

$ roslaunch kinova_bringup kinova_robot.launch
... logging to /home/demetriospetrou/.ros/log/b66994b0-14fb-11ed-8b4d-29740da4210c/roslaunch-79VNV42-11762.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: no such command [['/opt/ros/noetic/share/xacro/xacro.py', '/home/demetriospetrou/catkin_ws/src/kinova-ros/kinova_description/urdf/j2n6s300_standalone.xacro']]. 

Param xml is <param name="robot_description" command="$(find xacro)/xacro.py '$(find kinova_description)/urdf/$(arg kinova_robotType)_standalone.xacro'"/>
The traceback for the exception was written to the log file

I have also tried to set the argument "use_urdf" to false as I noticed that this was related to the parameters in the above issue from the .launch file and got the following:

$ roslaunch kinova_bringup kinova_robot.launch use_urdf:=false
... logging to /home/demetriospetrou/.ros/log/97477362-14fc-11ed-8b4d-29740da4210c/roslaunch-79VNV42-11824.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://79VNV42:44431/

SUMMARY
========

PARAMETERS
 * /j2n6s300_driver/connection_type: USB
 * /j2n6s300_driver/ethernet/local_broadcast_port: 25025
 * /j2n6s300_driver/ethernet/local_cmd_port: 25000
 * /j2n6s300_driver/ethernet/local_machine_IP: 192.168.100.100
 * /j2n6s300_driver/ethernet/subnet_mask: 255.255.255.0
 * /j2n6s300_driver/jointSpeedLimitParameter1: 10
 * /j2n6s300_driver/jointSpeedLimitParameter2: 20
 * /j2n6s300_driver/robot_name: j2n6s300
 * /j2n6s300_driver/robot_type: j2n6s300
 * /j2n6s300_driver/serial_number: not_set
 * /j2n6s300_driver/status_interval_seconds: 0.1
 * /j2n6s300_driver/torque_parameters/publish_torque_with_gravity_compensation: False
 * /j2n6s300_driver/torque_parameters/use_estimated_COM_parameters: False
 * /j2n6s300_driver/use_jaco_v1_fingers: False
 * /j2n6s300_tf_updater/base_frame: root
 * /kinova_number_of_robots: 2
 * /kinova_robots: [{'serial': 'PJ00...
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES
  /
    j2n6s300_driver (kinova_driver/kinova_arm_driver)
    j2n6s300_tf_updater (kinova_driver/kinova_tf_updater)

auto-starting new master
process[master]: started with pid [11832]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 97477362-14fc-11ed-8b4d-29740da4210c
process[rosout-1]: started with pid [11842]
started core service [/rosout]
ERROR: cannot launch node of type [kinova_driver/kinova_arm_driver]: Cannot locate node of type [kinova_arm_driver] in package [kinova_driver]. Make sure file exists in package path and permission is set to executable (chmod +x)
ERROR: cannot launch node of type [kinova_driver/kinova_tf_updater]: Cannot locate node of type [kinova_tf_updater] in package [kinova_driver]. Make sure file exists in package path and permission is set to executable (chmod +x)

In both cases, I am confused what the issue is with my limited knowledge but it seems that some file is missing from the specified location. I believe once I can call "roslaunch" successfully, I can use the rosrun command to run scripts? Any help and guidance would be very appreciated. Thanks!