Comments (4)
Thank you very much for the detailed explanation. My assumption was that I could create my own plan which the planner would attempt to follow but I suppose the constraints are maybe too stringent. I ended up writing a control loop and it is quite smooth.
from franka_ros_interface.
Hi,
Depending on the number of waypoints you want the robot to follow, it can get very difficult to get a successful and feasible plan using Moveit, especially if you are using a time-indexed trajectory like the ones generated by DMPs. Moveit by default will (try to) use its own planners to create a new path plan for the robot to follow while staying within the constraints you specify (eg. waypoints). This may not necessarily succeed, and if it does there is no guarantee that it takes the path you want.
If you have a trajectory encoded as a DMP, you can have a continuous stream of goal positions (discretised for each time step). It is better to use a controller to follow this trajectory, rather than depending on moveit (if you want to follow the DMP path, then Moveit is unnecessary, less reliable and slower). I would suggest generating a smooth trajectory from the DMP and commanding the robot joints directly with the generated trajectory points. Since DMP allows for generating discretised trajectories with any level of granularity, you can generate points that are close enough to provide a smooth trajectory and ensure that the robot is following the required path. The safest way would be to write a control loop that would command the robot joints to the required joint position targets at each time step using the time-indexed trajectory generated by the DMP.
Also, just to be clear, it should be possible to execute a plan through waypoints using Moveit as long as the provided points are within the accessible workspace for the robot. There are several things you have to consider here though (eg. number of waypoints and time constraints would increase the planning complexity). There are several resources online which can help you with using Moveit for planning through multiple waypoints. This package is not implementing or providing support for planners, but only provides an interface for using MoveIt. I can't provide much support if the problems you are having are with MoveIt itself.
Hope this helps.
-- Saif
from franka_ros_interface.
A 'planner' by definition would only create a plan for the robot to follow and by itself does not make the robot 'follow' any plan. You should have a 'controller' for this purpose. Moveit works this way too. It creates a plan using one of its available path planners, and then uses a controller to execute it. When using moveit, this controller is by default one of the ROS TrajectoryControllers.
So if you are creating a plan yourself, you don't have to (should not) provide it to a moveit planner again, but should just choose an appropriate controller to execute your plan (while ensuring stability and smoothness ofc).
from franka_ros_interface.
Sorry, I misspoke! I meant when providing a pre-made plan to execute_plan which in turn would request a controller to execute it. But this makes sense, thanks!
from franka_ros_interface.
Related Issues (20)
- I got a Problem with the arm controller HOT 3
- [franka_control-2] has died! please help HOT 3
- Switch Controller Failed HOT 5
- Strange noises and barely noticable jerky movement when using test_controller.py HOT 2
- catkin build issue HOT 11
- Fix shebang for python2 and python3 compatibility HOT 4
- ArmInterface() seems to get stuck moveit '/get_planning_scene' HOT 1
- com
- about control frequency HOT 4
- use franka_ros_interface with two panda arm simultaneously HOT 3
- Values of width and force in grasp HOT 1
- Error occurs with libfranka 0.8 and no real time kernel HOT 1
- REQUIRED process [franka_control-3] has died error when running driver node HOT 3
- Lacks dependencies about quaternion HOT 1
- Maybe it could not be run in zsh HOT 1
- Any control interface for cartesian velocity control? HOT 1
- load_gripper:=false doesn't work HOT 1
- 【cartesian_impedance mode】Has anyone tried cartesian_impedance with franka ros interface? HOT 1
- Issue when controlling and moving the robot HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from franka_ros_interface.