Dear all
Now I am using Moveit to try Pick-and-Place using the UBR-1 Perception Pipeline.
I want to detect the object and using fake arm (in attached file) to pick it.
Every thing running is Ok now, but the arm cannot to move when I rosrun the attached file (pick_and_place. py).
MOVEIT give me the following information:
[ INFO] [1428434137.479207112]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1428434137.479325277]: Planning attempt 1 of at most 1
[ INFO] [1428434137.480090600]: RRTConnect: Starting with 1 states
[ INFO] [1428434137.495312028]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428434137.495426373]: Solution found in 0.015432 seconds
[ INFO] [1428434137.496104888]: Path simplification took 0.000587 seconds
[ INFO] [1428438268.541303870]: Pickup planning completed after 0.353836 seconds
[ INFO] [1428438268.541536770]: Planning attempt 5 of at most 5
[ INFO] [1428438268.541948488]: Added plan for pipeline 'pick'. Queue is now of size 1
[ INFO] [1428438268.542141225]: Added plan for pipeline 'pick'. Queue is now of size 2
[ INFO] [1428438268.542524093]: Added plan for pipeline 'pick'. Queue is now of size 3
[ INFO] [1428438268.542647142]: Added plan for pipeline 'pick'. Queue is now of size 4
[ INFO] [1428438268.542779735]: Added plan for pipeline 'pick'. Queue is now of size 5
[ INFO] [1428438268.542936415]: Added plan for pipeline 'pick'. Queue is now of size 5
[ INFO] [1428438268.543055986]: Added plan for pipeline 'pick'. Queue is now of size 6
[ INFO] [1428438268.701955153]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 3
[ INFO] [1428438268.705481017]: Manipulation plan 2 failed at stage 'reachable & valid pose filter' on thread 2
[ INFO] [1428438268.726364087]: Manipulation plan 1 failed at stage 'reachable & valid pose filter' on thread 1
[ INFO] [1428438268.733462433]: Manipulation plan 3 failed at stage 'reachable & valid pose filter' on thread 0
[ INFO] [1428438268.865854746]: Manipulation plan 5 failed at stage 'reachable & valid pose filter' on thread 2
[ INFO] [1428438268.871852734]: Manipulation plan 4 failed at stage 'reachable & valid pose filter' on thread 3
[ INFO] [1428438268.894006427]: Manipulation plan 6 failed at stage 'reachable & valid pose filter' on thread 1
[ WARN] [1428438268.894408442]: All supplied grasps failed. Retrying last grasp in verbose mode.
[ INFO] [1428438268.894574248]: Re-added last failed plan for pipeline 'pick'. Queue is now of size 1
[ INFO] [1428438268.949293090]: IK failed
[ INFO] [1428438269.000531468]: IK failed
[ INFO] [1428438269.055248328]: IK failed
[ INFO] [1428438269.055641754]: Sampler failed to produce a state
[ INFO] [1428438269.055899370]: Manipulation plan 6 failed at stage 'reachable & valid pose filter' on thread 0
[ INFO] [1428438269.056403326]: Pickup planning completed after 0.352647 seconds
[ INFO] [1428438272.066141071]: Combined planning and execution request received for MoveGroup action.
Forwarding to planning and execution pipeline.
[ INFO] [1428438272.066321410]: Planning attempt 1 of at most 1
[ INFO] [1428438272.067807077]: RRTConnect: Starting with 1 states
[ INFO] [1428438272.073042865]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428438272.073133513]: Solution found in 0.005601 seconds
[ INFO] [1428438272.073713000]: Path simplification took 0.000485 seconds
[ INFO] [1428438274.280281849]: Combined planning and execution request received for MoveGroup action.
Forwarding to planning and execution pipeline.
[ INFO] [1428438274.280461258]: Planning attempt 1 of at most 5
[ INFO] [1428438274.282116484]: RRTConnect: Starting with 1 states
[ INFO] [1428438274.296108479]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428438274.296242952]: Solution found in 0.014435 seconds
[ INFO] [1428438274.296333407]: Path simplification took 0.000011 seconds
I really cannot understand what is wrong. Could anyone give me some suggestions?I use Ubuntu 12.04 hydro
I am pretty sure that the arm can reach the object but it does not move. Any suggestion is appreciate!!!
↧
Help!!!! Problem with pick and place
↧
Fake arm to pick
Dear all
Now I am using Moveit to try Pick-and-Place using fake arm (in attached file) .
when I rosrun the attached file (pick_and_place. py). MOVEIT give me the following information:
[ WARN] [1428442734.449159346]: MessageFilter [target=/odom ]: Discarding message from [/moveit_demo] due to empty frame_id. This message will only print once.
[ERROR] [1428442734.449930138]: Attached body 'target' not found
[ INFO] [1428442735.452340991]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1428442735.452665160]: Planning attempt 1 of at most 5
[ INFO] [1428442735.457061870]: No planner specified. Using default.
[ INFO] [1428442735.457674031]: RRTConnect: Starting with 1 states
[ INFO] [1428442735.469498841]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428442735.469675346]: Solution found in 0.012174 seconds
[ INFO] [1428442735.470080088]: Path simplification took 0.000285 seconds
[ INFO] [1428442754.837308738]: Planning attempt 5 of at most 5
[ INFO] [1428442754.837772713]: Added plan for pipeline 'pick'. Queue is now of size 1
[ INFO] [1428442754.837923277]: Added plan for pipeline 'pick'. Queue is now of size 2
[ INFO] [1428442754.838019965]: Added plan for pipeline 'pick'. Queue is now of size 2
[ INFO] [1428442754.838095313]: Added plan for pipeline 'pick'. Queue is now of size 3
[ INFO] [1428442754.838154730]: Added plan for pipeline 'pick'. Queue is now of size 4
[ INFO] [1428442754.838219788]: Added plan for pipeline 'pick'. Queue is now of size 5
[ INFO] [1428442754.838310542]: Added plan for pipeline 'pick'. Queue is now of size 6
[ INFO] [1428442754.999287813]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 0
[ INFO] [1428442755.002306396]: Manipulation plan 2 failed at stage 'reachable & valid pose filter' on thread 2
[ INFO] [1428442755.010113422]: Manipulation plan 1 failed at stage 'reachable & valid pose filter' on thread 1
[ INFO] [1428442755.022239977]: Manipulation plan 3 failed at stage 'reachable & valid pose filter' on thread 3
[ INFO] [1428442755.166828630]: Manipulation plan 4 failed at stage 'reachable & valid pose filter' on thread 0
[ INFO] [1428442755.167803550]: Manipulation plan 5 failed at stage 'reachable & valid pose filter' on thread 2
[ INFO] [1428442755.172000208]: Manipulation plan 6 failed at stage 'reachable & valid pose filter' on thread 1
[ WARN] [1428442755.172278129]: All supplied grasps failed. Retrying last grasp in verbose mode.
[ INFO] [1428442755.172551829]: Re-added last failed plan for pipeline 'pick'. Queue is now of size 1
[ INFO] [1428442755.225552908]: IK failed
[ INFO] [1428442755.277540833]: IK failed
[ INFO] [1428442755.329368118]: IK failed
[ INFO] [1428442755.329441308]: Sampler failed to produce a state
[ INFO] [1428442755.329486707]: Manipulation plan 6 failed at stage 'reachable & valid pose filter' on thread 0
[ INFO] [1428442755.329757781]: Pickup planning completed after 0.334797 seconds
[ INFO] [1428442755.534634011]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1428442755.534910127]: Planning attempt 1 of at most 5
[ INFO] [1428442755.537382476]: RRTConnect: Starting with 1 states
[ INFO] [1428442755.549514291]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428442755.549609875]: Solution found in 0.012579 seconds
[ INFO] [1428442755.549708587]: Path simplification took 0.000012 seconds
[ INFO] [1428442755.752946000]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1428442755.753105488]: Planning attempt 1 of at most 1
[ INFO] [1428442755.754230895]: RRTConnect: Starting with 1 states
[ INFO] [1428442755.759633983]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1428442755.759810843]: Solution found in 0.005755 seconds
[ INFO] [1428442755.760768968]: Path simplification took 0.000772 seconds
I really cannot understand what is wrong. Could you give me some suggestions?I use Ubuntu 12.04 hydro
I am pretty sure that the arm can reach the object but it does not move. Any suggestion is appreciate!!!
Yours,
Xuxin
↧
↧
Problem with IKFast plugin build
Dear all
Sorry to trouble you
I found the Translation3D solution of fake arm from openrave. I want to build IKFast plugin after issuing the catkin_make command, however I got this error
In file included from /home/xuxin/catkin_ws/src/test_robot_ikfast_plugin/src/test_robot_arm_ikfast_moveit_plugin.cpp:114:0:
/home/xuxin/catkin_ws/src/test_robot_ikfast_plugin/src/test_robot_arm_ikfast_solver.cpp: In member function ‘bool ikfast_kinematics_plugin::IKSolver::ComputeIk(const IkReal*, const IkReal*, const IkReal*, ikfast_kinematics_plugin::ikfast::IkSolutionListBase&)’:
/home/xuxin/catkin_ws/src/test_robot_ikfast_plugin/src/test_robot_arm_ikfast_solver.cpp:322:23: error: too many initializers for ‘bool [0]’
make[2]: *** [test_robot_ikfast_plugin/CMakeFiles/test_robot_arm_moveit_ikfast_plugin.dir/src/test_robot_arm_ikfast_moveit_plugin.cpp.o] Error 1
make[1]: *** [test_robot_ikfast_plugin/CMakeFiles/test_robot_arm_moveit_ikfast_plugin.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
I donot know how to solve this problem. Could anyone give me some ideas?
Many thanks
Yours,
Xuxin
↧
ROS Industrial and Moveit installation
Are there special instructions to install ROS-Industrial? Is there a step by step process to follow to first install ROS then Industrial and then Moveit?
↧
Robot does not move like rviz shows
Hello everyone,
I have a problem when I try to plan a path with moveit and rviz.
When the calculation of the path is ready and rviz shows the movement that the robot should do, the robot start the movement, but not like the rviz-simulation.
Sometimes he doesn't do the correct movement. Instead, he does a strange movements with his last joint.
Normally he can reach the final points, but the movement inbetween is strange.
Do you know why maybe?
Thank you!
↧
↧
roslaunch stuck on 'Loading robot model'
Hi all.
I'm trying to run a moveit path that I have planned out with the following launch file:
However, on launch ROS seems to hang up at this step:
`[ INFO] [1428960470.895442847]: Loading robot model 'planar_2d'...`
And if I kill it with ctrl+C:
`terminate called after throwing an instance of 'std::runtime_error'
what(): Unable to connect to move_group action server within allotted time (2)`
I'm at a loss as to what can be causing this. The paths to my urdf and srdf are correct, and I am passing the param the contents of the file with cat, not just the path.
If anyone has any ideas it would be greatly appreciated. Thanks.
↧
moveit IKFast plugin working with demo.launch not working with move_group_interface
I am working with 7DOF Barrett WAM and have created the IKFast plugin using URDF. I tested the plugin using **demo.launch** and everything works fine. I am also able to use the **interactive marker**.
The IKFast plugin was also tested before integration with MoveIt! using **ikastdemo.cpp**, the result was good.
I also set a value for each joint and asked KDL solver and IKFast to **solve forward kinematics and then inverse kinematics**. I believe the IKFast plugin is working fine since the results of KDL and IKFast are the same, as shown below, the only difference of the inverse kinematics solution is **wam/shoulder_yaw_joint**, which is reasonable for a redundant manipulator (set the 3rd joint free when I created the IKFast). The rest looks fine.
**IKFAST:**
[ INFO] [1428970205.913659853]: Joint(set) wam/wam_fixed_joint: 0.000000
[ INFO] [1428970205.913681942]: Joint(set) wam/base_yaw_joint: -1.281158
[ INFO] [1428970205.913708099]: Joint(set) wam/shoulder_pitch_joint: 1.658700
[ INFO] [1428970205.913732104]: Joint(set) wam/shoulder_yaw_joint: -2.247921
[ INFO] [1428970205.913758343]: Joint(set) wam/elbow_pitch_joint: 0.219933
[ INFO] [1428970205.913785120]: Joint(set) wam/wrist_yaw_joint: 1.160293
[ INFO] [1428970205.913810199]: Joint(set) wam/wrist_pitch_joint: -1.387798
[ INFO] [1428970205.913832614]: Joint(set) wam/palm_yaw_joint: -0.044969
[ INFO] [1428970205.913894368]: Translation: -0.735978
-0.160909
0.580133
[ INFO] [1428970205.913994440]: Rotation: 0.237783 0.432643 -0.869643
0.411344 0.766221 0.493662
0.879918 -0.475107 0.00422984
[ INFO] [1428970205.920762528]: Joint(IK) wam/wam_fixed_joint: -0.000000
[ INFO] [1428970205.920799765]: Joint(IK) wam/base_yaw_joint: -1.281158
[ INFO] [1428970205.920830629]: Joint(IK) wam/shoulder_pitch_joint: 1.658700
[ INFO] [1428970205.920856726]: Joint(IK) wam/shoulder_yaw_joint: -0.600000
[ INFO] [1428970205.920881040]: Joint(IK) wam/elbow_pitch_joint: 0.219933
[ INFO] [1428970205.920907838]: Joint(IK) wam/wrist_yaw_joint: 1.160293
[ INFO] [1428970205.920929596]: Joint(IK) wam/wrist_pitch_joint: -1.387798
[ INFO] [1428970205.920953596]: Joint(IK) wam/palm_yaw_joint: -0.044969
**KDL:**
[ INFO] [1428970281.101417384]: Joint(set) wam/wam_fixed_joint: 0.000000
[ INFO] [1428970281.101440046]: Joint(set) wam/base_yaw_joint: -1.281158
[ INFO] [1428970281.101466399]: Joint(set) wam/shoulder_pitch_joint: 1.658700
[ INFO] [1428970281.101492322]: Joint(set) wam/shoulder_yaw_joint: -2.247921
[ INFO] [1428970281.101514999]: Joint(set) wam/elbow_pitch_joint: 0.219933
[ INFO] [1428970281.101538865]: Joint(set) wam/wrist_yaw_joint: 1.160293
[ INFO] [1428970281.101561124]: Joint(set) wam/wrist_pitch_joint: -1.387798
[ INFO] [1428970281.101583497]: Joint(set) wam/palm_yaw_joint: -0.044969
[ INFO] [1428970281.101652882]: Translation: -0.735978
-0.160909
0.580133
[ INFO] [1428970281.101756504]: Rotation: 0.237783 0.432643 -0.869643
0.411344 0.766221 0.493662
0.879918 -0.475107 0.00422984
[ INFO] [1428970281.102042516]: Joint(IK) wam/wam_fixed_joint: 0.000000
[ INFO] [1428970281.102078929]: Joint(IK) wam/base_yaw_joint: -1.281158
[ INFO] [1428970281.102105266]: Joint(IK) wam/shoulder_pitch_joint: 1.658700
[ INFO] [1428970281.102128559]: Joint(IK) wam/shoulder_yaw_joint: -0.900000
[ INFO] [1428970281.102151188]: Joint(IK) wam/elbow_pitch_joint: 0.219933
[ INFO] [1428970281.102175909]: Joint(IK) wam/wrist_yaw_joint: 1.160293
[ INFO] [1428970281.102203092]: Joint(IK) wam/wrist_pitch_joint: -1.387798
[ INFO] [1428970281.102230072]: Joint(IK) wam/palm_yaw_joint: -0.044969
However, when I tried to use move_group, the planner always says **RRTConnect: Unable to sample any valid states for goal tree**
[ INFO] [1428976350.804524212]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ INFO] [1428976350.808251121]: No planner specified. Using default.
[ INFO] [1428976350.809310340]: RRTConnect: Starting planning with 1 states already in datastructure
[ERROR] [1428976410.809924691]: RRTConnect: Unable to sample any valid states for goal tree
[ INFO] [1428976410.810012024]: RRTConnect: Created 1 states (1 start + 0 goal)
[ INFO] [1428976410.810048295]: No solution found after 60.001474 seconds
[ INFO] [1428976411.337647183]: Unable to solve the planning problem
[ WARN] [1428976411.338331393]: Fail: ABORTED: No motion plan found. No execution attempted.
My move_group code is the following,
ros::init(argc, argv, "barrett_wam_constrained_move");
ros::NodeHandle node_handle;
ros::AsyncSpinner spinner(1);
spinner.start();
sleep(15.0);
moveit::planning_interface::MoveGroup group("arm");
moveit::planning_interface::PlanningSceneInterface planning_scene_interface;
group.setPlanningTime(60);
ros::Publisher display_publisher = node_handle.advertise("/move_group/display_planned_path",1, true);
moveit_msgs::DisplayTrajectory display_trajectory;
geometry_msgs::Pose pose1;
pose1.orientation.w = 1.0;
pose1.position.x = 0.4;
pose1.position.y = 0.5;
pose1.position.z = 0.6;
group.setPoseTarget(pose1);
moveit::planning_interface::MoveGroup::Plan my_plan;
bool success = group.plan(my_plan);
ROS_INFO("Visualizing plan 1 (pose1 goal) %s",success?"":"FAILED");
sleep(5.0);
ros::shutdown();
return 0;
I am sure the given pose is valid and reachable. The same code works for KDL perfectly. Any ideas and comments would be greatly appreciated!
↧
frame transformation (camera to base) in python
Good evening people,
First of all I would like to apologize for my limited understanding in ROS and Python, as I have been experimenting for almost 3 months now.
I am working with Baxter robot and to keep things short, what I am trying to do is to get the position of an object using augmented reality markers and move the hand to that position in order to grasp it.
I am using `ar_tools` package to get the position/orientation of the object, but that with respect to the head_camera which I am using. The last couple of days I've been experimenting with how to change that reference frame (head_camera) to the base frame as this frame is used by moveit to make the plans. I have tried to set frame_id of the header of the message I receive from the ar_tools manually to 'base' `pose_target.header.frame_id = 'base'` but the position and orientation I am getting is still WRT the head_camera. I also tried to do a `self.tl.lookupTransform("/base", "/head_camera", self.t)` where `self.t = self.tl.getLatestCommonTime("/head_camera", "/base")` but I was getting an extrapolation error. It was something like "the transformation requires to extrapolate in the past" I cant really remember now and Im not in the lab atm. Then I thought I might need to run the lookupTransform from the head_cam to head, from head to torso and from torso to Baxter's base.
My question then is, could someone guide me on how to change the frame of the marker of the ar_tools from head_camera to base. Also, for the extrapolation error, is there a way to do this in a static way?
Would you need more information please let me know.
Thanks in advance,
Mike
↧
end-effector constraint with moveIt
Hi,
I’m trying to use move it to move an arm vertically ONLY. The idea is to keep the tip of the end-effector to always keep the x and y-axis position and change the z-axis position in each iteration, keeping its orientation as well. I also want to constrain the movement from start-position to end-position in each iteration to follow this constraints (x and y fixed, z changing only). I don’t care about how much the joints change as long as the gripper (my end-effector) only moves upwards.
I tried to do it as presented bellow, but i don’t see any constraints being followed? What am I doing wrong?
int main(int argc, char **argv){
ros::init(argc, argv, "move_group_interface_tutorial");
ros::NodeHandle node_handle;
ros::AsyncSpinner spinner(1);
spinner.start();
/* This sleep is ONLY to allow Rviz to come up */
sleep(20.0);
moveit::planning_interface::MoveGroup group_r("right_arm");
robot_state::RobotState start_state(*group_r.getCurrentState());
geometry_msgs::Pose start_pose;
start_pose.orientation.x = group_r.getCurrentPose().pose.orientation.x;
start_pose.orientation.y = group_r.getCurrentPose().pose.orientation.y;
start_pose.orientation.z = group_r.getCurrentPose().pose.orientation.z;
start_pose.orientation.w = group_r.getCurrentPose().pose.orientation.w;
start_pose.position.x = group_r.getCurrentPose().pose.position.x;
start_pose.position.y = group_r.getCurrentPose().pose.position.y;
start_pose.position.z = group_r.getCurrentPose().pose.position.z;
//const robot_state::JointModelGroup *joint_model_group = start_state.getJointModelGroup(group_r.getName());
//start_state.setFromIK(joint_model_group, start_pose);
group_r.setStartState(start_state);
moveit_msgs::OrientationConstraint ocm;
ocm.link_name = "r_wrist_roll_link";
ocm.header.frame_id = "base_link";
ocm.orientation.w = 0.0;
ocm.absolute_x_axis_tolerance = 0.0;
ocm.absolute_y_axis_tolerance = 0.0;
ocm.absolute_z_axis_tolerance = 0.1;
ocm.weight = 1.0;
moveit_msgs::Constraints test_constraints;
test_constraints.orientation_constraints.push_back(ocm);
group_r.setPathConstraints(test_constraints);
geometry_msgs::Pose next_pose = start_pose;
while(1){
std::vector waypoints;
next_pose.position.z -= 0.03;
waypoints.push_back(next_pose); // up and out
moveit_msgs::RobotTrajectory trajectory;
double fraction = group_r.computeCartesianPath(waypoints, 0.005, 0.0, trajectory);
/* Sleep to give Rviz time to visualize the plan. */
sleep(5.0);
}
}
↧
↧
moveIt control gripper
I was wondering if it is possible to instead of planning positions for the last joint of the arm to go to, if it's possible to do control the end-effector (gripper) position instead... I've been trying to do this for a while but can't figure out how to. thanks
↧
MoveIt joint_state_publisher not publishing to robot_state_publisher
I am working on a 7-DOF manipulator with MoveIt and have calculated a series of joint vectors. I want to publish these joint vectors to the **joint states topic** so as to see the visualization in Rviz. However, after the implementation I did see the visualization in Rviz but there were "jumping backs" to the original manipulator configuration from time to time. I went into the problem and found that the correct messages were being published to the **joint states topic**, but **robot_state_publisher** was not receiving these messages, so no new tfs were updated (the manipulator still stayed at the original configuration, I think this is why there were "jumping backs") .
As a test, I used the **joint_state_publisher GUI** to publish messages to the **joint states topic** and I did see tf updates from **robot state publisher**. So what I do not understand is why publishing using GUI results in new tfs but publishing using codes does not.
I checked and ensured there were **joint_state_publisher** and **robot_state_publisher** nodes running and **robot_state_publisher** node did subscribe to the **joint states topic**.
Any ideas would be greatly appreciated!
↧
No root joint specified. Assuming fixed joint, moveit
Hi,
I am importing a 6 DOF arm using setupAssistant. When I load the urdf for the robotic arm, all the parts of the robotic arm are at the same plane. It shows a message "No root joint specified. Assuming fixed joint".
I searched in other threads and came across that there is some information to be added in the SRDF file.
Since I have generated the URDF from Solidworks, so please tell where should I create a SRDF for the same and whether we have to load the URDF or the SRDF of the robot to fix this.
Here are the console logs:
[ INFO] [1400146129.617803918]: Loaded robot robot model.
[ INFO] [1400146129.618207340]: Setting Param Server with Robot Description
[ INFO] [1400146129.632349428]: Robot semantic model successfully loaded.
[ INFO] [1400146129.632505515]: Setting Param Server with Robot Semantic Description
[ INFO] [1400146129.664284638]: Loading robot model 'robot'...
[ INFO] [1400146129.664376122]: No root joint specified. Assuming fixed joint
[ INFO] [1400146130.118231108]: Stereo is NOT SUPPORTED
[ INFO] [1400146130.118454828]: OpenGl version: 3 (GLSL 1.3).
[ INFO] [1400146130.830133313]: Loading robot model 'robot'...
[ INFO] [1400146130.830429200]: No root joint specified. Assuming fixed joint
[ INFO] [1400146131.398639691]: Loading robot model 'robot'...
[ INFO] [1400146131.398745909]: No root joint specified. Assuming fixed joint
[ INFO] [1400146131.688112326]: Loading Setup Assistant Complete
↧
Failed path planning Moveit+RIVZ
I am trying to learn of to do path planning with RVIZ+MoveIt for a UR5 arm. For now I'm trying to simulate only.
I use Gazebo4, RVIZ+MoveIt and universal_robot packages that I built from source for ROS Indigo.
I run these 3 command in 3 different terminal, as written in the universal_robot's README :
roslaunch ur_gazebo ur5.launch
roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true
roslaunch ur5_moveit_config moveit_rviz.launch config:=true
I have several issues and I don't really now what is the origin.
I tried to do path planning from RVIZ, on a simple path from home to up position and from up to home. Sometimes I have "Failed" message in the GUI, sometimes it works. But most of the time it didn't. I struggle to find proper documentation to use the motion planning panel
I have the following error messages
Terminal #2 :
[ WARN] [1430368642.447147735, 185.001000000]: Controller failed with error code PATH_TOLERANCE_VIOLATED
[ WARN] [1430368642.447324161, 185.001000000]: Controller handle reports status ABORTED
Terminal #3:
[ WARN] [1430368548.820347974, 107.047000000]: Fail: ABORTED: Motion plan was found but it seems to be invalid (possibly due to postprocessing). Not executing.
If I use the Moveit command-line commander
rosrun moveit_commander moveit_commander_cmdline.py
And try to "go goal" with goal from "rec c" then modifiy joint angles. Sometimes it works, but I still have this bug sometimes :
manipulator> go goal
[ INFO] [1430370662.457107039, 2110.983000000]: ABORTED: Solution found but controller failed during execution
Failed while moving to goal
I run it in VirtualBox and I can have 8 FPS in RVIZ.
EDIT : I notice than even if I ask for simple joint movement
group.set_joint_value_target([1.5, 0, 1.5, 0, 0, 0])
group.go()
I have the error
[ WARN] [1430368642.447147735, 185.001000000]: Controller failed with error code PATH_TOLERANCE_VIOLATED
↧
↧
moveit planning execution fails,
hello guys
i need a help in this problem; `MoveitSimpleControllerManager` fails and not connected to controllers.
[ INFO] [1430647987.084909539]: MoveitSimpleControllerManager: Waiting for /single_rrbot/position_trajectory_controller/follow_joint_trajectory to come up
[ WARN] [1430647991.971424927]: Failed to call service /get_planning_scene, have you launched move_group? at /tmp/buildd/ros-indigo-moveit-ros-planning-0.6.5-0trusty-20150224-1024/planning_scene_monitor/src/planning_scene_monitor.cpp:461
[ INFO] [1430647992.085053057]: MoveitSimpleControllerManager: Waiting for /single_rrbot/position_trajectory_controller/follow_joint_trajectory to come up
[ INFO] [1430647992.094357431]: No active joints or end effectors found for group ''. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1430647992.094508566]: No active joints or end effectors found for group 'rrbot'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1430647992.095673812]: No active joints or end effectors found for group 'rrbot'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1430647992.095923745]: Constructing new MoveGroup connection for group 'rrbot' in namespace ''
[ERROR] [1430647997.085239850]: MoveitSimpleControllerManager: Action client not connected: /single_rrbot/position_trajectory_controller/follow_joint_trajectory
[ INFO] [1430647997.092702467]: Returned 0 controllers in list
[ INFO] [1430647997.104729066]: Trajectory execution is managing controllers
↧
Moving a box using tf
Hi to all,
I try to move a box in my planning scene using a tf-frame. But it's not working at the moment.
I insert the box as shown in the moveit-tutorial and giving it a tf-frame additionally like this:
/* The id of the object is used to identify it. */
co_box.id = "box1";
co_box.header.frame_id = "//box_frame";
If I now insert the box, it is correctly inserted at the position and orientation I publish in my tf-broadcaster. But when I move the frame in the broadcaster, I can see the frame moving in Rviz but not the box.
What can I do here. Is the box not correctly linked to the tf-frame or do I constantly need to update the planning scene.
I'm really stuck here. I would really appreciate if somebody could help me out.
Edit (the code for inserting the box and trying to move):
// insert BOX
// ^^^^^^^^^^
moveit_msgs::CollisionObject co_box;
co_box.header.frame_id = "//box_frame";
/* The id of the object is used to identify it. */
co_box.id = "box1";
// co_box.header.frame_id = "box_frame";
/* Define a box to add to the world. */
shape_msgs::SolidPrimitive primitive;
primitive.type = primitive.BOX;
primitive.dimensions.resize(3);
primitive.dimensions[0] = 1.0;
primitive.dimensions[1] = 0.2;
primitive.dimensions[2] = 0.4;
/* A pose for the box (specified relative to frame_id) */
geometry_msgs::Pose box_pose;
box_pose.orientation.w = 1.0;
box_pose.position.x = 0.0;
box_pose.position.y = 0.0;
box_pose.position.z = 0.0;
co_box.primitives.push_back(primitive);
co_box.primitive_poses.push_back(box_pose);
co_box.operation = co_box.ADD;
std::vector collision_objects;
collision_objects.push_back(co_box);
ROS_INFO("Add collision objects into the world");
planning_scene_interface.addCollisionObjects(collision_objects);
/* Sleep so we have time to see the object in RViz */
sleep(10.0);
while(ros::ok()){
co_box.operation = co_box.MOVE;
sleeprate.sleep();
}
↧
Error: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain
Hello everyone.
I have a problem in using MoveIt! and the real PR2 robot. I am using MoveIt! for collision checking from C++.
When I load a robot model with **robot_model_loader::RobotModelLoader** from the "**robot_description**" parameter on the ROS parameter server with a code like:
int main(int argc, char**argv)
{
ros::init(argc, argv, "state_validity_checker");
ros::NodeHandle node("~");
robot_model_loader::RobotModelLoader robot_model_loader("robot_description");
return 0;
}
the program outputs an error and dies as follows:
...
core service [/rosout] found
process[state_validity_checker-1]: started with pid [19705]
[ERROR]: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain. Not included in group 'left_arm'
[ WARN]: Group 'left_arm' is empty.
[state_validity_checker-1] process has died [pid 19705, exit code -11, cmd ...
I tested the same code on the gazebo simulator where the program could run correctly, then I executed the code on the real PR2 where the above error happened.
I checked that the "robot_description" parameter provides a correct information as follows:
On an external PC, I executed the same program, using the "robot_description" parameter provided by the computers on the real PR2. Thus, there is no problem of the "robot_description" parameter. Hence, the problem will be a library or a configuration file. However, I could not identify the problem. I checked the URDF and SRDF of PR2, but they are the same as those of the external PC. Could you please give me any advises to solve this problem? Thank you so much in advance,
-- Akihiko ---- **Edited@2015-05-07** I still can not solve this problem. I also tested to execute a tutorial program such as collision_contact_tutorial.launch in pr2_moveit_tutorials: roslaunch pr2_moveit_tutorials collision_contact_tutorial.launch but there was the same error (Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain). By the way, those links are used in the beginning of the SRDF file as:
Anyway now I doubt this will be a moveit!'s problem. Has someone experienced a similar problem?
On an external PC, I executed the same program, using the "robot_description" parameter provided by the computers on the real PR2. Thus, there is no problem of the "robot_description" parameter. Hence, the problem will be a library or a configuration file. However, I could not identify the problem. I checked the URDF and SRDF of PR2, but they are the same as those of the external PC. Could you please give me any advises to solve this problem? Thank you so much in advance,
-- Akihiko ---- **Edited@2015-05-07** I still can not solve this problem. I also tested to execute a tutorial program such as collision_contact_tutorial.launch in pr2_moveit_tutorials: roslaunch pr2_moveit_tutorials collision_contact_tutorial.launch but there was the same error (Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain). By the way, those links are used in the beginning of the SRDF file as:
↧
Align endeffector of robot with vector
Hi!
as it says in the header I want to align my endeffector with a vector in space. In my case the z-axis of the EE should be aligned with the vector. This means that the x-, and y-axis are not specified.
Right now I only manage to navigate the EE to a certain pose where the x-, y-, and z-axis are all determined. But sometimes the robot cannot reach this pose due to collisions or being out of reach. A simple turn around the z-axis would do the trick that the pose can be reached and still the goal "aligning with the vector" is achieved.
My question: Is there an implementation in ROS or particularly in Moveit to automatically solve this?
Best regards!
***Edit:***
My approach right now is to calculate the path to the target with angles from -180° till +180° in steps of 10° (All of them fullfill the requirement of alignment with the vector, but not all of them are possible for the robot). After that I know which angels are possible and can choose. But this takes some minutes as I have to set up the planner each time.
So again the question: I'm looking for a way to this faster. And maybe there is an implementation? For example constraints for the target pose or something?
↧
↧
Use several UR arm with one robot and UR5KinematicsPlugin
I'm building a robot which is made of four ur5 arms. So I created a folder with every packages needed (ctrl-bot_gazebo, ctrl-bot_description, ctrl-bot_moveit_config). I spend time configuring and now I can do plan planning with RVIZ+Moveit for each arm of the robot.
After days of configuration everything can work (almost everything). I can do path planning and see in gazebo the movement.
When I try the UR5 alone I found that this solver is amazingly fast (less than 100ms most of the time)
compared to kld_kinematics_plugin/KLDKinematicsPlugin
My problem is that I can't use the ur_kinematics/UR5KinematicsPlugin because I added a prefix to each arm (N1_, N2_, N3_, N4_). So to build my robot I load 4 times a ur5 arm with 4 different prefixes in my robot's urdf.
If I choose the ur_kinematics/UR5KinematicsPlugin for my robot I get some error :
I launch
roslaunch ctrl-bot_moveit_config ctrl-bot_moveit_planning_execution.launch sim:=true
Then I get this
[ERROR] [1431072866.823796592, 3808.550000000]: Kin chain provided in model doesn't contain standard UR joint 'shoulder_lift_joint'.
[ERROR] [1431072866.823849841, 3808.550000000]: Kinematics solver of type 'ur_kinematics/UR5KinematicsPlugin' could not be initialized for group 'N1_manipulator'
[ERROR] [1431072866.824097006, 3808.550000000]: Kinematics solver could not be instantiated for joint group N1_manipulator.
It seems than the solver is reverted to default because ur_kinematics expect the name without prefixes.
However if I look at ur_kinematics/src/ur_moveit_plugin.cpp :
ur_joint_names_.push_back(arm_prefix_ + "shoulder_pan_joint");
ur_joint_names_.push_back(arm_prefix_ + "shoulder_lift_joint");
.......
It looks like it can be used with prefixes, but I have no clue of How to do it.
The kld_kinematics_plugin/KLDKinematicsPlugin need 3 seconds or more to compute and can fail a lot of time. Even if I enable replanning.
So my goal is to be able to use ur_kinematics solver but with my robot. I don't understand why ur_description is designed to be used with prefixes but the ur_kinematics solver is not.
Maybe I'm missing something obvious.
↧
Error in generating Collision checking matrix - moveit setup assistant
I am trying to configure moveit for ardrone robot model, '*quadrotor.urdf.xacro*' provided with '*tum_simulator'* package (http://wiki.ros.org/tum_simulator). When I try to generate collision checking matrix with '*moveit setup assistant*', I get the following error,
[ INFO] [1431081731.470507047]: Loading Setup Assistant Complete
[ INFO] [1431082525.469789798]: -------------------------------------------------------------------------------
[ INFO] [1431082525.469867316]: Statistics:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl>'
what(): Error in function boost::math::binomial_coefficient(unsigned, unsigned): The binomial coefficient is undefined for k > n, but got k = 2.
I have successfully configured moveit for some robots but in this case I receive this error. What is the reason for this error? Using a xacro or a urdf file, both throws the same error.
↧
Problems using descartes package
Hi!
I would like to use the descartes-package and I'm facing some issues.
I'm using an UR5 with the moveit- and universal_robot package and want use the descarts-package parallel to that. To achieve that I just copied the code of the [descartes-tutorial](http://wiki.ros.org/descartes/Tutorials/Getting%20Started%20with%20Descartes) in the existing c++-API and adjusted it for the UR5.
Until `// 3. Create a planner and initialize it with our robot model` everything seems to work fine, the robot model initialization seems to be okay but at `// 4. Feed the trajectory to the planner` I get errors.
[ INFO] [1431433577.983985044]: PreviousID: ID0 was not found
[ERROR] [1431433578.183296398]: Found 0 joint solutions out of 10 iterations
[ERROR] [1431433578.383429099]: Found 0 joint solutions out of 10 iterations
[ERROR] [1431433578.578341457]: Found 0 joint solutions out of 10 iterations
[ERROR] [1431433578.771480441]: Found 0 joint solutions out of 10 iterations
[ERROR] [1431433578.971189692]: Found 0 joint solutions out of 10 iterations
[ WARN] [1431433578.971260392]: Failed for find ANY joint poses, returning
[ INFO] [1431433578.971298149]: CartID: ID1 JointPoses count: 0
[ WARN] [1431433578.971329605]: no joint solution for this point... potential discontinuity in the graph
[ERROR] [1431433579.168980816]: Found 0 joint solutions out of 10 iterations
and so on until
[ERROR] [1431433587.831773855]: no joint solutions defined, thus no graph vertices
[ERROR] [1431433587.831796860]: unable to populate graph from input points
[ERROR] [1431433587.831822842]: Could not solve for a valid path
First I thought it's because it cannot reach the target pose, but I checked it for several poses which should be reachable and every time I get the same errors.
Does somebody know how I could solve this?
An additional question would be, whether the descartes-planner is considering the collision_scene of moveit?
Thanks and regards
↧