Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all 1441 articles
Browse latest View live

Best way to use Moveit for teleoperation?

$
0
0
I've seen this topic discussed a bit [here](http://answers.ros.org/question/74776/cartesian-controller-for-ros/), and on the MoveIt! mailing list [here](https://groups.google.com/forum/#!searchin/moveit-users/teleoperation/moveit-users/YMRbLxZ6uyM/q3LbqCux6Q4J) and [here](https://groups.google.com/forum/#!searchin/moveit-users/teleoperation/moveit-users/B3_CBZtsG1c/kpOjoc6dU5MJ), but those conversations are pretty old now and I'm wondering if there is a clearer answer now. I have a 7 DOF arm I would like to teleoperate. I plan on using a 3D mouse to command the Cartesian motion of the end effector and utilize the redundancy of the arm so the whole arm avoids collisions with itself and the environment. By *teleoperation* I mean that as I push the 3D mouse forward for example, the end effector moves forward seemly in real-time, then when I release the mouse the motion stops. I think guarded fly-the-gripper is a term that best describes it. If I had to guess I would say an update rate of 30Hz would be plenty fast. Right now I'm simplifying things by not using any hardware - only simulating in MoveIt using a simple environment (e.g. a single block to reach around). I assumed that MoveIt's most popular use case of plan-then-execute position control wouldn't suffice, I'm guessing that giving discrete positions as input would not provide the streaming/constant motion I desire. I jumped in trying to implement something from scratch using KDL's velocity inverse kinematics solvers but quickly realized that MoveIt does a lot of really useful stuff under the hood that I wasn't utilizing that I'm not sure how to implement for velocity control. I decided I better take a step back and ask for help before getting to deep. Does anyone have any advise on doing something like this? Do those above posts still hold true or is there new capabilities I should be aware of? Maybe you know of an open project that has done something similar? Let me know if I should provide more information about what I've tried so far.

Moveit teleoperation of 3DOF arm with 3D mouse

$
0
0
In short, I want to control the endeffector of my 3DOF arm in cartesian space with a 3D mouse. (Very similar to https://answers.ros.org/question/226958/best-way-to-use-moveit-for-teleoperation/ , only that my robot arm only has 3 DOF) What I got working so far: - Moveit configuration generated - I can move the interactive marker, plan and execute paths in Rviz - I can move the arm into goal poses with orientation from python Now my problem seems to be that due to the lack of DOFs I always need the orientation values for the EEF in the moveit interface to plan poses that I want my endeffector to end up in. I attempted to - generate an IKFast solver using the Translation3D configuration/parameter => compiles, works, however still requires orientation?! - play with the tolerance as mentioned in https://bitbucket.org/traclabs/trac_ik/issues/30/use-trac_ik_plugin-with-3dof-robot (changed the value in the all_close() function) - tried to set position_only_ik: True in kinematics.yaml - took a look at https://github.com/ros-planning/moveit/issues/548 however I dont want any EEF rotation (also can set it), just an EEF x,y,z position Now my question is: How can I get moveit to plan paths to EEF positions without needing to specify any orientation values?

Using tf_prefix with MoveIt virtual joint?

$
0
0
### Description I am trying to simulate two mobile robots, each with its own arm which I am trying to control with MoveIt. To organize the two robots, I am using namespacing on the nodes and topics, and using tf_prefix to delineate the separate TF trees. To connect each robot to the world, I would like to use a planar virtual joint from base_link to odom. However, when tf_prefix is applied outside the urdf, these frames become /h1_tf/base_link and /h1_tf/odom. As a result, the TF lookup fails to find the frames with: > [ WARN] [1528829858.191182394, 1630.340000000]: Unable to update multi-DOF joint 'virtual_joint': TF has no common time between '/odom' and 'base_link': The corresponding section of the code is in "/planning_scene_monitor/src/current_state_monitor.cpp": > const moveit::core::JointModel* joint = multi_dof_joints[i]; > const std::string& child_frame = joint->getChildLinkModel()->getName(); > const std::string& parent_frame = > joint->getParentLinkModel() ? joint->getParentLinkModel()->getName() : robot_model_->getModelFrame(); >> ros::Time latest_common_time; > std::string err; > if (tf_->getLatestCommonTime(parent_frame, child_frame, latest_common_time, &err) != tf::NO_ERROR) > { > ROS_WARN_STREAM_ONCE("Unable to update multi-DOF joint '" ><< joint->getName() << "': TF has no common time between '" << parent_frame.c_str() ><< "' and '" << child_frame.c_str() << "': " << err); > continue; > } I've tried hacking the srdf, but that seems to mess up things upstream. Is there a way to get this functionality to work, or am I going to have to modify the code for my application? ### Environment * ROS Distro: Kinetic * OS Version: Ubuntu 16.04 * Binary build * 0.9.12-1xenial-20180530-071129-0800

'PlanningSceneInterface' object has no attribute 'addCylinder'

$
0
0
The 'PlanningSceneInterface' object has no attribute 'addCylinder' or 'addBox', which I see in the reference http://docs.ros.org/jade/api/moveit_python/html/classmoveit__python_1_1planning__scene__interface_1_1PlanningSceneInterface.html There is only add_box(). Is it because my moveit not the newest one? I am using ros-kinetic and tried to update my moveit by "sudo apt-get install ros-kinetic-moveit" but nothing change.

MoveIt! Joystick Control FPS Drops to 0

$
0
0
Hi all! I'm having a bit of a strange issue with MoveIt! when trying to integrate joystick control. My overall goal is to be able to use MoveIt with an xbox controller as well as a kinect to avoid obstacles in an octomap. However, when I try to implement joystick control the fps of MoveIt in Rviz drops to 0. I assume the issue is not graphical because running just Rviz and MoveIt with an octomap does not cause significant fps drop, but when I launch the joystick_control package I immediately see the fps drop to 0. The isolated commands I'm running are: -roslaunch _moveit_config demo.launch -roslaunch _moveit_config joystick_control.launch I'm allowing external command in Rviz and don't know what might be causing this massive framerate drop. My joystick_control.launch file is entirely unaltered and I'm wondering if perhaps something in my demo.launch file is causing MoveIt to wait for a certain process or something along those lines. The only addition I've made to my demo.launch file is the inclusion of the octomap code: I also don't think it is a controller problem because running jstest /dev/input/js0 results in very clear controller operation. Any help would be appreciated on this.

const Eigen::Affine3d; rotation()

$
0
0
Hey, I have solved the forward kinematics with moveit. kinemtic_state->setJointGroupPositions(joint_model_group, joint_values); const Eigen::Affine3d &arm_link_5_state = kinematic_state->getGlobalLinkTransform("arm_link_5"); x = arm_link_5_state.translation().x(); y = arm_link_5_state.translation().y(); z = arm_link_5_state.translation().z(); xx = arm_link_5_state.rotation().??; xy = arm_link_5_state.rotation().??; xz = arm_link_5_state.rotation().??; I don't know how to assign the value of xx, xy, xz of the rotation matrix. I tried: xx = arm_link_5_state.rotation().xx(); xx = arm_link_5_state.rotation().x().x(); xx = arm_link_5_state.rotation().nx(); xx = arm_link_5_state.rotation(0,0); Error: const LinearMatrixType has no member named xx I don't find the class where it is declared. It would be great if someone can help me out. Best regards, Jonas

Doesn't return the exact MoveitErrorCode

$
0
0
Hi, I'm having an issue with **moveit::planning_interface::MoveGroup::plan()** It returns MoveitErrorCode. But unfortunately it doesn't specify the exact error that occured while planning, but only returns either -2 or -1 if failed. What I want to know is the exact failure reason such as **GOAL_IN_COLLISION=-12**. Please help me with this one. If possible provide with helpful links on this topic.

Calling pick results in "No Sampler was constructed"

$
0
0
Hi folks, I am trying to get a simple pick & place demo to work. Objects were added to the planning scene and are correctly shown in rviz with their according names. I am using the Franka Emika Panda simulation which is started with `roslaunch panda_moveit_config demo.launch`. When I use the `panda_arm_hand` planning group and call `group.pick('my_object')`, an error is displayed stating that "No sampler was constructed". In addition, maybe as a consequence of the above, the following appears in the log: [ INFO] [1527240082.156847614]: Planning attempt 1 of at most 1 [ INFO] [1527240082.156979205]: Added plan for pipeline 'pick'. Queue is now of size 1 [ERROR] [1527240082.157460490]: No sampler was constructed [ INFO] [1527240082.157499970]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 0 [ WARN] [1527240082.158674635]: All supplied grasps failed. Retrying last grasp in verbose mode. [ INFO] [1527240082.158787599]: Re-added last failed plan for pipeline 'pick'. Queue is now of size 1 [ INFO] [1527240082.159718144]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 1 [ INFO] [1527240082.162419179]: Pickup planning completed after 0.001770 seconds In another attempt, I supplied a list of possible (more or less meaningful) grasps to the pick method, but that didn't change the outcome. Do you have any suggestion to get rid of this error message? I was unable to find any clue regarding this particular error message- Do I have to load any special package, configuration parameter, or must some ros node be running I am currently not aware of? Some remarks: I work with an Rviz simulation primarily, Kinetic inside an Xenial-based Docker container. However, I observed the error message also with a real robot on a real Xenial Ubuntu System. Both Ros and Ubuntu Packages are up-tot-date. The controller invoking the pick routine is written in Python, if that matters. Regards, SC

How to bring in mechanical mate(example-Gear,gripper) in URDF file if we are using the urdf file in Moveit??

$
0
0
We should give any specific conditions in URDF file or in Moveit or while we are assembling the parts.

Moveit gdb debugging

$
0
0
Hi, I'm trying to run move_group code through gdb. I compiled moveit from sources with --cmake-args -DCMAKE_BUILD_TYPE=Debug. Still, it seems like debug information haven't been lost. What I did: I ran my own node that uses move_group.plan(my_plan) and tried to step through plan(). But it doesn't step into the function like it hadn't written debugging data. I use ros kinetic Would use any help. Thanks

ur5 - real hardware communication

$
0
0
Hi all! I tried to communicate with the real UR5 hardware and I was able to move the robot running "test_move.py" from the "ur_modern_driver package". After that I tried to move the robot with MoveIt! following this tutorial: [Getting Started with a Universal Robot and ROS-Industrial](http://wiki.ros.org/universal_robot/Tutorials/Getting%20Started%20with%20a%20Universal%20Robot%20and%20ROS-Industrial). Problems arise when launching this command: roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true In the terminal the following lines appear: [ WARN] [1529329845.474785699]: Waiting for /joint_trajectory_action to come up [ WARN] [1529329851.474995251]: Waiting for /joint_trajectory_action to come up [ERROR] [1529329857.475168563]: Action client not connected: /joint_trajectory_action So that when i launch MoveIt (by typing `roslaunch ur5_moveit_config moveit_rviz.launch config:=true`) to try planning and execution, the planning is ok but the execution never works. And the same is with using the limited version (`limited:=true`). If I go into the controllers.yaml file and I change `action_ns` from `joint_trajectory_action` to `follow_joint_trajectory` the execution still doesn't work, but the WARNS and the ERROR above does not appear anymore. Thanks in advance to anyone who will help solving this. My Ubuntu version: 16.04 ROS Kinetic

moveit: param server is missing planner configurations

$
0
0
Hello all, here are the errors, [ERROR] [1528993777.322079817]: Could not find the planner configuration 'RRTConneckConfigDefault' on the param server [ERROR] [1528993777.326028820]: Could not find the planner configuration 'SBLkConfigDefault' on the param server [ERROR] [1528993777.326619022]: Could not find the planner configuration 'ESTkConfigDefault' on the param server [ERROR] [1528993777.327209350]: Could not find the planner configuration 'LBKPIECEkConfigDefault' on the param server [ERROR] [1528993777.327770784]: Could not find the planner configuration 'BKPIECEkConfigDefault' on the param server [ERROR] [1528993777.328322494]: Could not find the planner configuration 'KPIECEkConfigDefault' on the param server [ERROR] [1528993777.328897858]: Could not find the planner configuration 'RRTkConfigDefault' on the param server [ERROR] [1528993777.329486582]: Could not find the planner configuration 'RRTConnectkConfigDefault' on the param server [ERROR] [1528993777.330046872]: Could not find the planner configuration 'RRTstarkConfigDefault' on the param server [ERROR] [1528993777.330620285]: Could not find the planner configuration 'TRRTkConfigDefault' on the param server [ERROR] [1528993777.331185690]: Could not find the planner configuration 'PRMkConfigDefault' on the param server [ERROR] [1528993777.331821514]: Could not find the planner configuration 'PRMstarkConfigDefault' on the param server [ERROR] [1528993777.332365152]: Could not find the planner configuration 'FMTkConfigDefault' on the param server [ERROR] [1528993777.332903057]: Could not find the planner configuration 'BFMTkConfigDefault' on the param server [ERROR] [1528993777.333557242]: Could not find the planner configuration 'PDSTkConfigDefault' on the param server [ERROR] [1528993777.334391734]: Could not find the planner configuration 'STRIDEkConfigDefault' on the param server [ERROR] [1528993777.335209338]: Could not find the planner configuration 'BiTRRTkConfigDefault' on the param server [ERROR] [1528993777.337834268]: Could not find the planner configuration 'LBTRRTkConfigDefault' on the param server [ERROR] [1528993777.340810491]: Could not find the planner configuration 'BiESTkConfigDefault' on the param server [ERROR] [1528993777.343505094]: Could not find the planner configuration 'ProjESTkConfigDefault' on the param server [ERROR] [1528993777.344906710]: Could not find the planner configuration 'LazyPRMkConfigDefault' on the param server [ERROR] [1528993777.346300595]: Could not find the planner configuration 'LazyPRMstarkConfigDefault' on the param server [ERROR] [1528993777.347891216]: Could not find the planner configuration 'SPARSkConfigDefault' on the param server [ERROR] [1528993777.352570257]: Could not find the planner configuration 'SPARStwokConfigDefault' on the param server i know they are from the drop down menu of the OMPL planning library section. what should i edit to fix this? EDIT: Current ompl_planning.yaml (fixed through the fix i mentioned) planner_configs: SBL: type: geometric::SBL range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() EST: type: geometric::EST range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0 setup() goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 LBKPIECE: type: geometric::LBKPIECE range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 BKPIECE: type: geometric::BKPIECE range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 ... manipulator: default_planner_config: RRTConnect planner_configs: - SBL - EST - LBKPIECE - BKPIECE - ... projection_evaluator: joints(joint_1,joint_2) longest_valid_segment_fraction: 0.005 Prior to the fix, all of the names under the "planner_configs:" line were concatenated with kConfigDefault, along with the base names up top such as TRRT, RRTConnect, etc. Moveit looks for the base names, and a default, but if all of them are labeled default like mine was, it caused an issue.

move_group_interface and pose_goal

$
0
0
Hey guys, I'm writing my Bachelor-thesis, have 4 weeks to go and I have a serious problem. I run a 5DOF robotarm. Right now I'm trying to implement a move_group_interface program to send cartesian goals to the arm to pick up tings later. The controller is workin and the robot follows random paths perfectly. Now the problem is that I'm unable to generate valid pose goals. I'll tell you what works and what I've tried till now. 1) RVIZ: Random valid target => motion_planner finds a path and the controller executes without any problems. 2) move_group_interface => generate randomPoseGoal => works like RVIZ, so no problem (while studying the sourcecode I realized that it just generates the pose_goal by generating a joint_space_goal (maybe something like that would be my solution?!) 3) generate randomJointSpaceGoal => works perfect as well 4) reading the robotPose after reaching a random goal => extracting the necessary information (like pose.x, pose.y, pose.z, orientation.x, orientation.y, orientation.z, orientation.w) => build a poseGoal by myself with these information => trajectory is calculated and executed 5) using getCurrentRPY() after reaching a randomGoal=> gernerate a poseGoal with the obtained position and orientation and creating the orientation via tf::generateQuaternionMsgFromRollPitchYaw works as well. The positions I use are reachable and the orientation should. When I change just a little bit on working data MoveIt! wont find a plan. Example: "smallarm_hw_motion_planner 0.287307 -0.0883872 0.298863 -2.244 0.854 -2.411" works fine "smallarm_hw_motion_planner 0.287307 -0.0883872 0.298863 -2.244 0.854 -2.311" no motion_plan found (the 3 in the last argument) so where is my problem? How do I transform the coordinate systems? My plan is to send something like this to the move_group_interface to move the arm. rosrun pos.x pos.y pos.z angle.r angle.p angle.y at minimum the correct position. later then by calling a function.. I hope somebody can help me greetings Chris

How to control the 'ghost' in MoveIt's Rviz MotionPlanning plugin from code?

$
0
0
Hi guys, I am fairly new to MoveIt's MotionPlanning API. When adding the MotionPlanning plugin to rviz, a 'ghost' of the controlled robot arm is spawned, along with an interactive marker that can be used to drag it around. Is there also a way to control the ghost (the end effector and the joints) in a cpp node? Can the joint states of this ghost be read out somewhere? Cheers, Tim

Dynamixel MoveIt Abrupt Motor Failure

$
0
0
I am currently trying to get a robotic arm (http://www.crustcrawler.com/products/ProRoboticArm/) to perform simple motion plans through MoveIt's Rviz motion plan tools however when planning random movements the motors sometimes flash an error abruptly (most likely an overload error) and give out any functionality very briefly then start to function normally right afterwards. This abrupt failure seems to happen randomly. Below is the attempts I made to solve this issue. 1.)Attempts to change the URDF 'effort' and 'velocity' limits which am still unclear what the numbers mean in correspondence to a percentage or either the specific torque number 2.)Configuration of the firmware through Robotis (currently using 1.0 for dynamixel) 3.)Wiring scheme of the daisy chain configuration I am being vague for the purpose of hoping to get someone that has experienced these same issues before. Any feedback would be much appreciated!

Fail to use move group interface of the MoveIt! when connecting gazebo with Moveit!.

$
0
0
After I succeeded to connect the gazebo with Moveit!, I launched the move_group_interface.cpp but the Rviz failed to load the robot model and failed to recognize the Reference frame. As a result, the trajectory and motion of the robot cannot be displayed on the Rviz. The gazebo_moveit.launch file is: The content of the moveit_planning_execution.launch is: [/slave/joint_states] The move_group_interface.launch file is: After launch the gazebo and Moveit! launch file, the error information, with no effect on the system, is listed: ******************************************************** * MoveGroup using: * - ApplyPlanningSceneService * - CartesianPathService * - ExecuteTrajectoryAction * - GetPlanningSceneService * - MoveAction * - PickPlaceAction * - MotionPlanService * - QueryPlannersService * - StateValidationService ******************************************************** [ INFO] [1529585147.859698952, 0.974000000]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner [ INFO] [1529585147.859710241, 0.974000000]: MoveGroup context initialization complete You can start planning now! **[ERROR] [1529585150.124966293, 3.214000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529585150.125468961, 3.215000000]: Loading robot model 'slave'... [ INFO] [1529585150.125560087, 3.215000000]: No root/virtual joint specified in SRDF. Assuming fixed joint **[ERROR] [1529585150.244122237, 3.333000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529585150.244419062, 3.333000000]: Loading robot model 'slave'... [ INFO] [1529585150.244485995, 3.333000000]: No root/virtual joint specified in SRDF. Assuming fixed joint [ INFO] [1529585150.803089224, 3.892000000]: Starting scene monitor [ INFO] [1529585150.805629079, 3.894000000]: Listening to '/planning_scene' [ INFO] [1529585150.850030824, 3.938000000]: Constructing new MoveGroup connection for group 'arm' in namespace '' [ INFO] [1529585151.992825987, 5.059000000]: Ready to take commands for planning group arm. [ INFO] [1529585151.992922608, 5.059000000]: Looking around: no [ INFO] [1529585151.992951078, 5.059000000]: Replanning: no And after launch the move_group_interface.launch, the infromation is listed: **[ERROR] [1529586437.344894935, 1277.554000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586437.345196231, 1277.554000000]: Loading robot model 'slave'... [ INFO] [1529586437.345293585, 1277.554000000]: No root/virtual joint specified in SRDF. Assuming fixed joint **[ERROR] [1529586437.475137289, 1277.684000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586437.475333051, 1277.684000000]: Loading robot model 'slave'... [ INFO] [1529586437.475394364, 1277.684000000]: No root/virtual joint specified in SRDF. Assuming fixed joint [ INFO] [1529586438.544521612, 1278.733000000]: Ready to take commands for planning group arm. [ INFO] [1529585151.992922608, 5.059000000]: Looking around: no [ INFO] [1529585151.992951078, 5.059000000]: Replanning: no And after launch the move_group_interface.launch, the infromation is listed: **[ERROR] [1529586437.344894935, 1277.554000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586437.345196231, 1277.554000000]: Loading robot model 'slave'... [ INFO] [1529586437.345293585, 1277.554000000]: No root/virtual joint specified in SRDF. Assuming fixed joint **[ERROR] [1529586437.475137289, 1277.684000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586437.475333051, 1277.684000000]: Loading robot model 'slave'... [ INFO] [1529586437.475394364, 1277.684000000]: No root/virtual joint specified in SRDF. Assuming fixed joint [ INFO] [1529586438.544521612, 1278.733000000]: Ready to take commands for planning group arm. [ INFO] [1529586438.813722018, 1279.002000000]: RemoteControl Ready. **[ INFO] [1529586439.048185756, 1279.232000000]: Reference frame: /world** [ INFO] [1529586439.048214553, 1279.232000000]: End effector link: arm6_Link [ WARN] [1529586444.133075577, 1284.308000000]: Fail: ABORTED: No motion plan found. No execution attempted. [ INFO] [1529586444.133141021, 1284.308000000]: Visualizing plan 1 (pose goal) FAILED [ INFO] [1529586444.133161303, 1284.308000000]: Visualizing plan 1 as trajectory line [ INFO] [1529586444.133244718, 1284.308000000]: No planning scene passed into moveit_visual_tools, creating one. **[ERROR] [1529586444.136977092, 1284.312000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586444.137093335, 1284.312000000]: Loading robot model 'slave'... [ INFO] [1529586444.137115776, 1284.312000000]: No root/virtual joint specified in SRDF. Assuming fixed joint **[ERROR] [1529586444.229218318, 1284.404000000]: Semantic description is not specified for the same robot as the URDF** [ INFO] [1529586444.229415620, 1284.404000000]: Loading robot model 'slave'... [ INFO] [1529586444.229494272, 1284.404000000]: No root/virtual joint specified in SRDF. Assuming fixed joint [ INFO] [1529586444.825959927, 1284.998000000]: Publishing maintained planning scene on '' Pay attention to the Reference frame.It should be /base_link, not /world.So here is a mistake. And there are other errors as above. Therefore, I don't know how to get the moveit, gazebo and move group together. Wish for your answer and help.

Can't display occupied voxels octomap using pointcloud2

$
0
0
Fairly new to this so let me know if there's a better way of doing things! I'm attempting dynamic collision avoidance with a Kinect V1 and the ur5 moveit package on ROS kinetic. The PC is running Ubuntu 16.04 and i have the following packages installed: - camera_pose - octomap_mapping - octomap_ros - OpenNI - openni_camera - perception_pcl - robotiq - trac_ik - universal_robot - ur_modern_driver - ur_scripts I've been following the ROS tutorial on perception/configuration (link below) in an effort to have moveit process the point cloud into an octomap and display the occupied voxels: http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/perception_configuration/perception_configuration_tutorial.html And am also aware of this other thread which is extremely similar, however i wasn't able to achieve a working result using just the information here: https://answers.ros.org/question/195770/moveit-collision-avoidance-with-point-cloud-2/ I have Openni working so can visualise the pointcloud2 okay in moveit and have completed all the steps in the above, including altering the sensor_manager.launch.yaml files. However when i echo the planning scene topic, `/move_group/monitored_planning_scene`, i am getting nothing. This is despite trying a number of static transform publishers to arrange everything with respect to `/world` (I would post images of my tf trees but i dont have enough karma). Can anyone shed any light on this?

MoveIt! - How to execute trajectories backwards

$
0
0
Hello guys, I was wondering if it is possible to execute a trajectory backwards in MoveIt!. So, for example, let's say that I have a manipulator and I want to go from point 1 to point 2 and MoveIt! calculates a plan for a trajectory with 5 waypoints. When the trajectory is executed, the manipulator goes to the first waypoint, then to the second, and so on until it reaches the 5th waypoint. If I want to go from point 2 to point 1 right after I reach point 2, I shouldn't necessarily have to calculate a new trajectory again, right? I should simply have use the trajectory calculated from point1 to point 2 and go from waypoint 5 to waypoint 4 till I reach waypoint 1, right? So, is there any way to reuse the first trajectory calculated in order to follow its path backwards? Thanks in advance! Best regards, José Brito

how pos/vel_based_pos_traj_controller work?

$
0
0
Hi all, I am trying to control a real UR5 using the position based controller of ur_modern_driver package, but I have a little problem: when i plan and execute a trajectory through MoveIt the robot achieves the goal not in a clean way (the end-effector passes over the goal and reaches it in a second moment after few oscillations). - What should I do in order to improve this situation? I know there are some parameters that could be set in the ur5_controllers.yaml file (ur_modern_driver -> config -> ur5_controllers.yaml) but the PID parameters can be set only for velocity_based controller, which I don't use because when I try to use it the robot doesn't move at all! Then here comes another question: - how can I use vel_based_pos_traj_controller from ur_modern_driver package? At the moment I am using pos_based_pos_traj_controller, but I don't know how to setup it. Here I copy its yaml code: pos_based_pos_traj_controller: type: position_controllers/JointTrajectoryController joints: - shoulder_pan_joint - shoulder_lift_joint - elbow_joint - wrist_1_joint - wrist_2_joint - wrist_3_joint constraints: goal_time: 0.6 stopped_velocity_tolerance: 0.05 shoulder_pan_joint: {trajectory: 0.1, goal: 0.1} shoulder_lift_joint: {trajectory: 0.1, goal: 0.1} elbow_joint: {trajectory: 0.1, goal: 0.1} wrist_1_joint: {trajectory: 0.1, goal: 0.1} wrist_2_joint: {trajectory: 0.1, goal: 0.1} wrist_3_joint: {trajectory: 0.1, goal: 0.1} stop_trajectory_duration: 0.5 state_publish_rate: 125 action_monitor_rate: 10 # state_publish_rate: 50 # Defaults to 50 # action_monitor_rate: 20 # Defaults to 20 #hold_trajectory_duration: 0.0 # Defaults to 0.5 The commands I run in order to communicate with real hardware are the followings: roslaunch ur_modern_driver ur5_ros_control.launch robot_ip:=192.168.0.9 roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch roslaunch ur5_moveit_config moveit_rviz.launch config:=true my ubuntu version: 16.04 Ros Kinetic Thanks in advance to anyone who will help. -Enrico

Calculating the unreachable pose on UR robot

$
0
0
Hello guys, I am trying to find out the unreachable pose and some singularity points based on six-axis robot, just like UR robot. In fact, when i am given a coordinate value of the end-effector of a UR robot from a vision system, i am not sure if this position is reachable for the robot. So i want to pre-calculate and prevent the robot moving to a unreachable point. Maybe Moveit can give me this abnormal area of a robot. Or do you guys know how to predict occurrence of these situations in Moveit. Thanks a lot.
Viewing all 1441 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>