- AndreaParticipantNovember 1, 2018 at 6:06 pmPost count: 7
I’d need some idea for stopping the arm before the move_joints() command has been completed.
Thanks in advance!
AndreaEdouard RenardKeymasterNovember 8, 2018 at 1:57 pmPost count: 239
Could you give more info about the context ? Are you at the ROS level, Python API level, Blockly level, … ?
Thanks!Edouard RenardKeymasterNovember 8, 2018 at 4:50 pmPost count: 239
Thanks. For now the move commands from the Python API are synchronous, so you can’t stop one in the main execution thread. This has been made like that to simplify things. The Python API is targeted to beginner/intermediate programmers. For advanced programmers, or if you want to do much more complex applications, you’d have to start using the ROS communication tools (Python or C++).
What you can do from that:
1. Still use the Python API and work with multiple threads. In one thread you execute the move_joint() or move_pose() or shift_pose(). In another thread, you can create a simple ROS publisher and publish an message (type: actionlib_msgs/GoalID) on the “/niryo_one/commander/robot_action/cancel” topic. You can find here a tutorial to do that quickly.
2. If you really want to go to the next step and create more complex applications where you have more control, then start using ROS and create your own nodes that will use the other Niryo One nodes. See this guide to get started with Niryo One ROS stack.
I hope this helps!AudyIltisParticipantFebruary 4, 2019 at 6:54 pmPost count: 1
Hi…i have created a service from the Service Project Template that generates several background jobs that will continuously run. When I issue the stop command to the service the Stop-command never seems to reach the service. I’ve set up commands that update a log file when the Stop-MyService command is issued and nothing makes its way into that functional.
- You must be logged in to reply to this topic.