Comments (5)
A catkin package that can help reproduced this behaviour has been created in the following repo https://github.com/jrgnicho/motoman_driver_test . It also contains instructions for setup and execution.
from motoman.
@jrgnicho, @JeremyZoss, Do either of you have time to track this down?
from motoman.
Actually, I think this behavior may be caused by MoveIt's trajectory planner, rather than the FS100 controller. When I dig into the issue, it seems like the internal state MoveIt's trajectory planner uses for the trajectory start-state is different than MoveIt's own "Current Joint State" feedback. When motion plans are issued quickly back-to-back, the trajectory planner seems to use out-dated position data, and thus triggers the error described above.
I have been able to reproduce this error, both on a physical robot (Motoman FS100 controller) and using the robot-agnostic industrial_robot_simulator. Note that I have only tested in Groovy so far.
I have created a test-script here that demonstrates this behavior. Load up any MoveIt package, then run the script to issue a set of back-to-back motion commands. In my testing, for all planned moves other than the first (which is a special-case), the start position of a MoveIt-planned trajectory does not match the Current Joint Position also reported by MoveIt.
from motoman.
I have verified this behavior in hydro. On further testing, it seems this behavior is only seen when using the separate plan
and execute(plan)
calls. When using the all-in-one move()
call, the robot behaves as expected. This explains why we haven't typically seen this before, since most of our code uses the single move()
call.
I have logged a detailed MoveIt Bug Report (moveit/moveit_ros#442). See that bug for further discussions. We'll close this bug after verifying a MoveIt fix.
from motoman.
According to the comments on moveit/moveit_ros#442 this is fixed.
I'm closing this as I believe this is no longer a problem - at least not the problem that @jrgnicho and @JeremyZoss observed and investigated.
There is / may still be a problem with the driver flagging completion of trajectories too quickly, but that is related to multi-group motion and is being addressed in #179.
from motoman.
Related Issues (20)
- Floating precision with Param Extraction Library
- control motoman gp7 with 3 external axis HOT 2
- HC-10DTP Support Files HOT 3
- robot_enable service fails on YRC1000
- Can't start driver correctly on Yaskawa HC10DTP
- HC10DTP not working with MoveIt HOT 1
- GP20 Support files
- Control HC10DTP using an Xbox 360 joystick in real-time
- HC10DTP + MoveIt - Running into singularities
- motoman_driver - simple_message not available
- Update installation procedure and troubleshooting HOT 1
- ERROR :MESSAGE CALLBACK FOR MESSAGE type :2017 , not executed
- Unwanted motion when switching pendant mode HOT 2
- Motoman Ros I/O read/write error HOT 1
- Log Space: missing
- Failed to connect to server, rc: -1. Error: 'Connection refused' (errno: 111): MOTOMAN Driver HOT 1
- Error handling of action server (joint_trajectory_action)
- Trajectory start position doesn't match current robot position (3011) when using multiple groups HOT 16
- Point streaming and multiple robot groups HOT 10
- DX100 / SIA50D stops moving after several trajectories (no error / alarm)
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 motoman.