How do I attach and launch a Husky and a Jaco simultaneously?

asked 2020-10-06 21:51:06 -0500

Hystersis gravatar image

Hello ROS Answers,

I am having issues with attaching the Kinova Jaco arm to the top plate of the Husky. I have tried modifying the URDF description of the Husky to include the Jaco arm like so:

<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro">

<!-- Kinova Arm -->

  <link name="j2n6s300_mount"/>

  <joint name="kinova_to_plate" type="fixed">
    <parent link="top_plate_link" />
    <child link="j2n6s300_mount" />
    <origin xyz="0 0 0" rpy="0 0 1.5708"/>
  </joint>

  <xacro:include filename="$(find kinova_description)/urdf/j2n6s300.xacro" />
  <xacro:j2n6s300 base_parent="j2n6s300_mount" prefix="j2n6s300"/>

</robot>

With this, I export the HUSKY_URDF_EXTRAS to this file. Then I launch with roslaunch husky_gazebo husky_empty_world.launch. However, it only launches the Husky's controller, and not the Kinova arm's

/clock
/cmd_vel
/diagnostics
/e_stop
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/husky_velocity_controller/cmd_vel
/husky_velocity_controller/odom
/husky_velocity_controller/parameter_descriptions
/husky_velocity_controller/parameter_updates
/imu/data
/imu/data/accel/parameter_descriptions
/imu/data/accel/parameter_updates
/imu/data/bias
/imu/data/rate/parameter_descriptions
/imu/data/rate/parameter_updates
/imu/data/yaw/parameter_descriptions
/imu/data/yaw/parameter_updates
/j2n6s300_joint_1_ft_sensor_topic
/j2n6s300_joint_2_ft_sensor_topic
/j2n6s300_joint_3_ft_sensor_topic
/j2n6s300_joint_4_ft_sensor_topic
/j2n6s300_joint_5_ft_sensor_topic
/j2n6s300_joint_6_ft_sensor_topic
/joint_states
/joy_teleop/cmd_vel
/joy_teleop/joy
/joy_teleop/joy/set_feedback
/navsat/fix
/navsat/fix/position/parameter_descriptions
/navsat/fix/position/parameter_updates
/navsat/fix/status/parameter_descriptions
/navsat/fix/status/parameter_updates
/navsat/fix/velocity/parameter_descriptions
/navsat/fix/velocity/parameter_updates
/navsat/vel
/odometry/filtered
/rosout
/rosout_agg
/scan
/set_pose
/tf
/tf_static
/twist_marker_server/cmd_vel
/twist_marker_server/feedback
/twist_marker_server/update
/twist_marker_server/update_full

On the other hand, spawning the Jaco by itself with roslaunch kinova_gazebo robot_launch.launch kinova_robotType:=j2n6s300 shows:

/clock
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/j2n6s300/effort_finger_trajectory_controller/command
/j2n6s300/effort_finger_trajectory_controller/follow_joint_trajectory/cancel
/j2n6s300/effort_finger_trajectory_controller/follow_joint_trajectory/feedback
/j2n6s300/effort_finger_trajectory_controller/follow_joint_trajectory/goal
/j2n6s300/effort_finger_trajectory_controller/follow_joint_trajectory/result
/j2n6s300/effort_finger_trajectory_controller/follow_joint_trajectory/status
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_1/parameter_descriptions
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_1/parameter_updates
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_2/parameter_descriptions
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_2/parameter_updates
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_3/parameter_descriptions
/j2n6s300/effort_finger_trajectory_controller/gains/j2n6s300_joint_finger_3/parameter_updates
/j2n6s300/effort_finger_trajectory_controller/state
/j2n6s300/effort_joint_trajectory_controller/command
/j2n6s300/effort_joint_trajectory_controller/follow_joint_trajectory/cancel
/j2n6s300/effort_joint_trajectory_controller/follow_joint_trajectory/feedback
/j2n6s300/effort_joint_trajectory_controller/follow_joint_trajectory/goal
/j2n6s300/effort_joint_trajectory_controller/follow_joint_trajectory/result
/j2n6s300/effort_joint_trajectory_controller/follow_joint_trajectory/status
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_1/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_1/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_2/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_2/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_3/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_3/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_4/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_4/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_5/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_5/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_6/parameter_descriptions
/j2n6s300/effort_joint_trajectory_controller/gains/j2n6s300_joint_6/parameter_updates
/j2n6s300/effort_joint_trajectory_controller/state
/j2n6s300/finger_tip_1_position_controller/command
/j2n6s300/finger_tip_1_position_controller/pid/parameter_descriptions
/j2n6s300/finger_tip_1_position_controller/pid/parameter_updates
/j2n6s300/finger_tip_1_position_controller/state
/j2n6s300/finger_tip_2_position_controller/command
/j2n6s300/finger_tip_2_position_controller/pid/parameter_descriptions
/j2n6s300/finger_tip_2_position_controller/pid/parameter_updates
/j2n6s300/finger_tip_2_position_controller/state
/j2n6s300/finger_tip_3_position_controller/command
/j2n6s300/finger_tip_3_position_controller/pid/parameter_descriptions
/j2n6s300/finger_tip_3_position_controller/pid/parameter_updates
/j2n6s300/finger_tip_3_position_controller/state
/j2n6s300/joint_states
/j2n6s300_joint_1_ft_sensor_topic
/j2n6s300_joint_2_ft_sensor_topic
/j2n6s300_joint_3_ft_sensor_topic
/j2n6s300_joint_4_ft_sensor_topic
/j2n6s300_joint_5_ft_sensor_topic
/j2n6s300_joint_6_ft_sensor_topic
/rosout
/rosout_agg
/tf
/tf_static

How would I go about attaching the robots together while maintaining control over both of them? I have already tried the husky_manipulation package found here: https://github.com/husky/husky_manipu...

edit retag flag offensive close merge delete