Open aislab opened 6 years ago
Thank you for the report! And sorry, it was a degradation while changing the method to get controller info. 623d705e4450df5c81615762ffb8f8428b23a82f should fix it, please try it again with the master branch.
The Error did not occur with master branch. I succeeded to operate NEXTAGE with this program. Thank you.
Thank you @aislab ! Do you mean you tried this jog package with your actual robot? We didn't try it with actual robots yet, so please take care when you try. And we are very happy to receive the operating experiences. Thanks.
We tried this program on NEXTAGE simulation. Also, we made config and launch files for HIORNX in reference to NEXTAGE, and it worked well on simulation and actual robot we have.
But, this program has a trouble with an actual robot environment. We operated the HIRONX with jog_control with reference to the NEXTAGE setting. First, you operate a robot with the JogFramePanel. Next, you stop control with JogFramePanel and start operating with JogJointPanel. Immediately after this, the robot goes out of control and an emergency stop state.
we tried the following commands.
$ roslaunch hironx_ros_bridge hironx_ros_bridge_real.launch
$ roslaunch jog_controller hironx.launch # this file is made by us.
Thanks,
We made a PR about hironx. https://github.com/tork-a/jog_control/pull/10.
We did not turn on both panels(JogJointPanel and JogFramePanel). It was turned off Jog Enable on JogFramePanel first, and after that switched on JogJointPanel.
We are sorry that we didn't record about this problem. We will check this problem again at an early date and report here.
We executed the following commands, the same before.
$ roslaunch hironx_ros_bridge hironx_ros_bridge_real.launch
$ roslaunch jog_controller hironx.launch
We first switched on the JogFramePanel and move the robot's arm a little. Then, we turned off the JogFramePanel, and the JogFramePanel turned on. Immediately after that, the robot went out of control and the emergency stop button was pushed.
Here are the results of rosnode list
, rostopic list
, and rosparam dump
.
These command were executed after the emergency stop.
the result of rosparam dump
is very long, so it is omitted.
$ rosnode list
/DataLoggerServiceROSBridge
/ForwardKinematicsServiceROSBridge
/HrpsysJointTrajectoryBridge
/HrpsysSeqStateROSBridge
/RobotHardwareServiceROSBridge
/SequencePlayerServiceROSBridge
/ServoControllerServiceROSBridge
/StateHolderServiceROSBridge
/collision_state
/diagnostic_aggregator
/hand_joint_state_publisher
/hrpsys_profile
/hrpsys_py
/hrpsys_ros_diagnostics
/hrpsys_state_publisher
/jog_frame_node
/jog_joint_node
/joy
/joy_to_jog_frame
/move_group
/moveit_python_wrappers_1530697764492229645
/rosout
/rqt_hironxo
/rviz_ishikari_192139_8141734135711911488
$ rostopic list
/act_capture_point
/act_contact_states
/attached_collision_object
/clicked_point
/clock
/collision_detector_marker_array
/collision_object
/diagnostics
/diagnostics_agg
/diagnostics_toplevel_state
/emergency_mode
/execute_trajectory/cancel
/execute_trajectory/feedback
/execute_trajectory/goal
/execute_trajectory/result
/execute_trajectory/status
/fullbody_controller/command
/fullbody_controller/follow_joint_trajectory_action/cancel
/fullbody_controller/follow_joint_trajectory_action/feedback
/fullbody_controller/follow_joint_trajectory_action/goal
/fullbody_controller/follow_joint_trajectory_action/result
/fullbody_controller/follow_joint_trajectory_action/status
/fullbody_controller/state
/head_controller/command
/head_controller/follow_joint_trajectory_action/cancel
/head_controller/follow_joint_trajectory_action/feedback
/head_controller/follow_joint_trajectory_action/goal
/head_controller/follow_joint_trajectory_action/result
/head_controller/follow_joint_trajectory_action/status
/head_controller/state
/imu
/initialpose
/jog_frame
/jog_joint
/joint_states
/joy
/larm_controller/command
/larm_controller/follow_joint_trajectory_action/cancel
/larm_controller/follow_joint_trajectory_action/feedback
/larm_controller/follow_joint_trajectory_action/goal
/larm_controller/follow_joint_trajectory_action/result
/larm_controller/follow_joint_trajectory_action/status
/larm_controller/state
/larm_torso_controller/command
/larm_torso_controller/follow_joint_trajectory_action/cancel
/larm_torso_controller/follow_joint_trajectory_action/feedback
/larm_torso_controller/follow_joint_trajectory_action/goal
/larm_torso_controller/follow_joint_trajectory_action/result
/larm_torso_controller/follow_joint_trajectory_action/status
/larm_torso_controller/state
/motor_states
/move_base_simple/goal
/move_group/cancel
/move_group/display_contacts
/move_group/display_planned_path
/move_group/feedback
/move_group/goal
/move_group/monitored_planning_scene
/move_group/ompl/parameter_descriptions
/move_group/ompl/parameter_updates
/move_group/plan_execution/parameter_descriptions
/move_group/plan_execution/parameter_updates
/move_group/planning_scene_monitor/parameter_descriptions
/move_group/planning_scene_monitor/parameter_updates
/move_group/result
/move_group/sense_for_plan/parameter_descriptions
/move_group/sense_for_plan/parameter_updates
/move_group/status
/move_group/trajectory_execution/parameter_descriptions
/move_group/trajectory_execution/parameter_updates
/odom
/pickup/cancel
/pickup/feedback
/pickup/goal
/pickup/result
/pickup/status
/place/cancel
/place/feedback
/place/goal
/place/result
/place/status
/planning_scene
/planning_scene_world
/rarm_controller/command
/rarm_controller/follow_joint_trajectory_action/cancel
/rarm_controller/follow_joint_trajectory_action/feedback
/rarm_controller/follow_joint_trajectory_action/goal
/rarm_controller/follow_joint_trajectory_action/result
/rarm_controller/follow_joint_trajectory_action/status
/rarm_controller/state
/rarm_torso_controller/command
/rarm_torso_controller/follow_joint_trajectory_action/cancel
/rarm_torso_controller/follow_joint_trajectory_action/feedback
/rarm_torso_controller/follow_joint_trajectory_action/goal
/rarm_torso_controller/follow_joint_trajectory_action/result
/rarm_torso_controller/follow_joint_trajectory_action/status
/rarm_torso_controller/state
/recognized_object_array
/ref_capture_point
/ref_contact_states
/rosout
/rosout_agg
/rviz_ishikari_192139_8141734135711911488/motionplanning_planning_scene_monitor/parameter_descriptions
/rviz_ishikari_192139_8141734135711911488/motionplanning_planning_scene_monitor/parameter_updates
/rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic/feedback
/rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic/update
/rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic/update_full
/tf
/tf_static
/torso_controller/command
/torso_controller/follow_joint_trajectory_action/cancel
/torso_controller/follow_joint_trajectory_action/feedback
/torso_controller/follow_joint_trajectory_action/goal
/torso_controller/follow_joint_trajectory_action/result
/torso_controller/follow_joint_trajectory_action/status
/torso_controller/state
/trajectory_execution_event
/zmp
$ rosparam dump
HrpsysSeqStateROSBridge: {publish_sensor_transforms: true}
collision_state: {comp_name: CollisionDetector0}
controller_configuration:
- controller_name: /larm_controller
group_name: larm
joint_list: [LARM_JOINT0, LARM_JOINT1, LARM_JOINT2, LARM_JOINT3, LARM_JOINT4, LARM_JOINT5]
- controller_name: /rarm_controller
group_name: rarm
joint_list: [RARM_JOINT0, RARM_JOINT1, RARM_JOINT2, RARM_JOINT3, RARM_JOINT4, RARM_JOINT5]
- controller_name: /head_controller
group_name: head
joint_list: [HEAD_JOINT0, HEAD_JOINT1]
- controller_name: /torso_controller
group_name: torso
joint_list: [CHEST_JOINT0]
- controller_name: /larm_torso_controller
group_name: larm_torso
joint_list: [LARM_JOINT0, LARM_JOINT1, LARM_JOINT2, LARM_JOINT3, LARM_JOINT4, LARM_JOINT5,
CHEST_JOINT0]
- controller_name: /rarm_torso_controller
group_name: rarm_torso
joint_list: [RARM_JOINT0, RARM_JOINT1, RARM_JOINT2, RARM_JOINT3, RARM_JOINT4, RARM_JOINT5,
CHEST_JOINT0]
diagnostic_aggregator:
analyzers:
computers:
contains: [HD Temp, CPU Usage, CPU Temperature, HD Usage, NFS]
path: Computers
type: diagnostic_aggregator/GenericAnalyzer
hrpsys:
contains: [hrpEC, Emergency Mode]
path: Hrpsys
type: diagnostic_aggregator/GenericAnalyzer
mode:
contains: [Operating Mode, Calibration Mode, Power Mode]
path: Mode
type: diagnostic_aggregator/GenericAnalyzer
motor:
contains: [Motor]
path: Motor
type: diagnostic_aggregator/GenericAnalyzer
base_path: ''
pub_rate: 1.0
jog_frame_node:
group_names: [left_arm, right_arm]
link_names: [LARM_JOINT5_Link, RARM_JOINT5_Link]
jog_joint_node:
joint_names: [LARM_JOINT0, LARM_JOINT1, LARM_JOINT2, LARM_JOINT3, LARM_JOINT4, LARM_JOINT5,
RARM_JOINT0, RARM_JOINT1, RARM_JOINT2, RARM_JOINT3, RARM_JOINT4, RARM_JOINT5]
joy: {autorepeat_rate: 10, deadzone: 0.2, dev: /dev/input/js0}
joy_to_jog_frame:
angular_button: 5
axis_angular: {x: 0, y: 1, z: 4}
axis_linear: {x: 0, y: 1, z: 4}
enable_button: 4
frame_id: WAIST
group_name: left_arm
link_name: LARM_JOINT5_Link
scale_angular: {x: -0.05, y: 0.05, z: 0.05}
scale_linear: {x: -0.05, y: 0.05, z: 0.05}
move_group:
allow_trajectory_execution: true
botharms:
default_planner_config: RRTConnectkConfigDefault
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, LBKPIECEkConfigDefault, RRTkConfigDefault,
RRTConnectkConfigDefault, ESTkConfigDefault, KPIECEkConfigDefault, BKPIECEkConfigDefault,
RRTStarkConfigDefault]
projection_evaluator: joints(LARM_JOINT0,LARM_JOINT1)
capabilities: move_group/MoveGroupCartesianPathService move_group/MoveGroupExecuteService move_group/MoveGroupGetPlanningSceneService move_group/MoveGroupKinematicsService move_group/MoveGroupMoveAction move_group/MoveGroupPickPlaceAction move_group/MoveGroupPlanService move_group/MoveGroupQueryPlannersService move_group/MoveGroupStateValidationService
controller_list:
- action_ns: follow_joint_trajectory_action
default: true
joints: [RARM_JOINT0, RARM_JOINT1, RARM_JOINT2, RARM_JOINT3, RARM_JOINT4, RARM_JOINT5]
name: rarm_controller
type: FollowJointTrajectory
- action_ns: follow_joint_trajectory_action
default: true
joints: [LARM_JOINT0, LARM_JOINT1, LARM_JOINT2, LARM_JOINT3, LARM_JOINT4, LARM_JOINT5]
name: larm_controller
type: FollowJointTrajectory
- action_ns: follow_joint_trajectory_action
joints: [HEAD_JOINT0, HEAD_JOINT1]
name: head_controller
type: FollowJointTrajectory
- action_ns: follow_joint_trajectory_action
joints: [CHEST_JOINT0]
name: torso_controller
type: FollowJointTrajectory
controller_manager_name: pr2_controller_manager
controller_manager_ns: pr2_controller_manager
head:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, ESTkConfigDefault, LBKPIECEkConfigDefault,
BKPIECEkConfigDefault, KPIECEkConfigDefault, RRTkConfigDefault, RRTConnectkConfigDefault,
RRTstarkConfigDefault, TRRTkConfigDefault, PRMkConfigDefault, PRMstarkConfigDefault]
projection_evaluator: joints(HEAD_JOINT0,HEAD_JOINT1)
jiggle_fraction: 0.05
left_arm:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, LBKPIECEkConfigDefault, RRTkConfigDefault,
RRTConnectkConfigDefault, ESTkConfigDefault, KPIECEkConfigDefault, BKPIECEkConfigDefault,
RRTStarkConfigDefault]
projection_evaluator: joints(LARM_JOINT0,LARM_JOINT1)
left_gripper:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, LBKPIECEkConfigDefault, RRTkConfigDefault,
RRTConnectkConfigDefault, ESTkConfigDefault, KPIECEkConfigDefault, BKPIECEkConfigDefault,
RRTStarkConfigDefault]
projection_evaluator: joints(LHAND_JOINT0,LHAND_JOINT1)
max_safe_path_cost: 1
moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
moveit_manage_controllers: true
ompl: {display_random_valid_states: false, link_for_exploration_tree: '', maximum_waypoint_distance: 0.0,
minimum_waypoint_count: 10, simplify_solutions: true}
plan_execution: {max_replan_attempts: 5, record_trajectory_state_frequency: 10.0}
planner_configs:
BKPIECEkConfigDefault: {type: 'geometric::BKPIECE'}
ESTkConfigDefault: {type: 'geometric::EST'}
KPIECEkConfigDefault: {type: 'geometric::KPIECE'}
LBKPIECEkConfigDefault: {type: 'geometric::LBKPIECE'}
LazyRRTkConfigDefault: {type: 'geometric::LazyRRT'}
RRTConnectkConfigDefault: {type: 'geometric::RRTConnect'}
RRTStarkConfigDefault: {type: 'geometric::RRTstar'}
RRTkConfigDefault: {type: 'geometric::RRT'}
SBLkConfigDefault: {type: 'geometric::SBL'}
planning_plugin: ompl_interface/OMPLPlanner
planning_scene_monitor: {publish_geometry_updates: true, publish_planning_scene: true,
publish_planning_scene_hz: 4.0, publish_state_updates: true, publish_transforms_updates: true}
request_adapters: default_planner_request_adapters/AddTimeParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints
right_arm:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, LBKPIECEkConfigDefault, RRTkConfigDefault,
RRTConnectkConfigDefault, ESTkConfigDefault, KPIECEkConfigDefault, BKPIECEkConfigDefault,
RRTStarkConfigDefault]
projection_evaluator: joints(RARM_JOINT0,RARM_JOINT1)
right_gripper:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, LBKPIECEkConfigDefault, RRTkConfigDefault,
RRTConnectkConfigDefault, ESTkConfigDefault, KPIECEkConfigDefault, BKPIECEkConfigDefault,
RRTStarkConfigDefault]
projection_evaluator: joints(RHAND_JOINT0,RHAND_JOINT1)
sense_for_plan: {discard_overlapping_cost_sources: 0.8, max_cost_sources: 100, max_look_attempts: 3,
max_safe_path_cost: 0.01}
start_state_max_bounds_error: 0.1
torso:
default_planner_config: RRTConnectkConfigDefault
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, ESTkConfigDefault, LBKPIECEkConfigDefault,
BKPIECEkConfigDefault, KPIECEkConfigDefault, RRTkConfigDefault, RRTConnectkConfigDefault,
RRTstarkConfigDefault, TRRTkConfigDefault, PRMkConfigDefault, PRMstarkConfigDefault]
projection_evaluator: joints(CHEST_JOINT0)
trajectory_execution: {allowed_execution_duration_scaling: 2.0, allowed_goal_duration_margin: 0.5,
allowed_start_tolerance: 0.01, execution_duration_monitoring: true, execution_velocity_scaling: 1.0}
upperbody:
default_planner_config: RRTConnectkConfigDefault
longest_valid_segment_fraction: 0.05
planner_configs: [SBLkConfigDefault, ESTkConfigDefault, LBKPIECEkConfigDefault,
BKPIECEkConfigDefault, KPIECEkConfigDefault, RRTkConfigDefault, RRTConnectkConfigDefault,
RRTstarkConfigDefault, TRRTkConfigDefault, PRMkConfigDefault, PRMstarkConfigDefault]
projection_evaluator: joints(LARM_JOINT0,RARM_JOINT0)
use_controller_manager: false
robot_description: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Copyright (c)\
\ 2011, General Robotix, Inc., Kawada Industries, Inc. -->\n<!-- All rights reserved.\
\ This data is made available under the terms of the -->\n<!-- Eclipse Public License\
\ v1.0 which accompanies this distribution, and is -->\n<!-- available at http://www.eclipse.org/legal/epl-v10.html\
...
rosdistro: 'kinetic
'
roslaunch:
uris: {host_ishikari__39263: 'http://ishikari:39263/', host_ishikari__39385: 'http://ishikari:39385/'}
rosversion: '1.12.13
'
rtmnameserver_host: hiro023
rtmnameserver_port: 15005
rtmnameserver_robotname: RobotHardware0
run_id: 85b9c7b6-7f6f-11e8-9515-6805ca6c7dc5
rviz_ishikari_192139_8141734135711911488:
head: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
left_arm: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
left_gripper: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
motionplanning_planning_scene_monitor: {publish_geometry_updates: true, publish_planning_scene: false,
publish_planning_scene_hz: 4.0, publish_state_updates: false, publish_transforms_updates: false}
right_arm: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
right_gripper: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
torso: {kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin, kinematics_solver_attempts: 3,
kinematics_solver_search_resolution: 0.005, kinematics_solver_timeout: 0.005}
以下のログはroslaunch hironx_ros_bridge hironx_ros_bridge_real.launch
のウィンドウに表示されていたものの一部です.
ロボットの暴走と関係あるかわかりませんが、すべてのgroupの値が 0.0552518
になっているところがありました。
[ INFO] [1530698346.216218478]: [HrpsysJointTrajectoryBridge0] @onTrajectoryCommandCB()
[ INFO] [1530698346.216304556]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (head)
[ INFO] [1530698346.216342718]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (head) : trajectory.points.size() 1
[ INFO] [1530698346.216403558]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (head) : time_from_start 0.5
[ INFO] [1530698346.216439942]: [HrpsysJointTrajectoryBridge0] 0.0552518 0.0552518
[ INFO] [1530698346.216477929]: [HrpsysJointTrajectoryBridge0] setJointAnglesOfGroup: head
[ INFO] [1530698346.216776190]: [HrpsysJointTrajectoryBridge0] @onTrajectoryCommandCB()
[ INFO] [1530698346.216834384]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (larm)
[ INFO] [1530698346.216879160]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (larm) : trajectory.points.size() 1
[ INFO] [1530698346.216955323]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (larm) : time_from_start 0.5
[ INFO] [1530698346.216994620]: [HrpsysJointTrajectoryBridge0] 0.0552518 0.0552518 0.0552518 0.0552518 0.0552518 0.0552518
[ INFO] [1530698346.217033135]: [HrpsysJointTrajectoryBridge0] setJointAnglesOfGroup: larm
[ INFO] [1530698346.217307360]: [HrpsysJointTrajectoryBridge0] @onTrajectoryCommandCB()
[ INFO] [1530698346.217352421]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (rarm)
[ INFO] [1530698346.217399416]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (rarm) : trajectory.points.size() 1
[ INFO] [1530698346.217461579]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (rarm) : time_from_start 0.5
[ INFO] [1530698346.217504902]: [HrpsysJointTrajectoryBridge0] 0.0552518 0.0552518 0.0552518 0.0552518 0.0552518 0.0552518
[ INFO] [1530698346.217542429]: [HrpsysJointTrajectoryBridge0] setJointAnglesOfGroup: rarm
[ INFO] [1530698346.217816621]: [HrpsysJointTrajectoryBridge0] @onTrajectoryCommandCB()
[ INFO] [1530698346.217866121]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (torso)
[ INFO] [1530698346.217907072]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (torso) : trajectory.points.size() 1
[ INFO] [1530698346.217976529]: [HrpsysJointTrajectoryBridge0] @onJointTrajectoryAction (torso) : time_from_start 0.5
[ INFO] [1530698346.218025245]: [HrpsysJointTrajectoryBridge0] 0.0552518
[ INFO] [1530698346.218059514]: [HrpsysJointTrajectoryBridge0] setJointAnglesOfGroup: torso
これ以外には、ロボットの暴走に関して特にエラー出力は確認できていません。
Could you check following points?
use_joy
argument false.use_joy
.@aislab
I think I can check the package with a real NXO in sometime in July.
手元の環境でjog_controlをビルドし、nextageを使ったサンプルを実行してみたところ以下のようなエラーが発生しました。 indigo, kineticの両環境で試したのですが、どちらの環境でも同様のエラーが発生します。
実行した コマンドは、
です。
コマンドを実行したあとに、RvizのメニューからJogFramePanelを追加し、jog EnableをONにすると、以下のエラーが発生します。
同様に、JogJointPanelを追加し、Jog EnableをONにすると、エラーは発生しませんでした。
そこで、ソースコードを調べてみたのですが、jog_frame_node.cpp の 156行目 の joint_map_の中身が空であることが原因だと思うのですが、いかがでしょうか。 よろしくお願い致します。
DT