Skip to content

Package to move all the joints controller by joint_trajectory_controller using Rviz markers on each joint.

Notifications You must be signed in to change notification settings

awesomebytes/move_joints_interactive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

move_joints_interactive, a package to move all the joints controller by joint_trajectory_controller using Rviz markers on each joint.

===

By consulting ros_controllers list_controllers service we get all the controllers and the joints they control. For every joint we create a Interactive Marker with the mesh (if available) used for it and we attach a ROTATE_AXIS InteractiveMarkerControl to it hopefully aligned with the axis of rotation (Z axis in my tests, blue axe). When the Interactive Marker is moved the joint limits previously parsed are checked. If the joint is in a position between the joint limits a goal for the controller is created (by checking current joint states and overriding with the new value in the goal).

Video of the tool working on REEM-C

Once you run (yeah, I should rename the node):

rosrun move_joints_interactive node.py

You'll get a message saying something like:

Rviz configuration file created at: /home/YOUR_USER/nov_reemc_ws/src/move_joints_interactive/rviz/current_rviz.rviz

Just open a Rviz with that file:

rosrun rviz rviz -d /home/YOUR_USER/nov_reemc_ws/src/move_joints_interactive/rviz/current_rviz.rviz

And you will be able to play with it.

Should work with robots using ros_control and joint_trajectory_controller controllers (with topic /command interface).

===

TODO:

  • Check IK if the movement is safe (make it optional but enabled by default). Maybe add menu config to enable/disable also.
  • Give other backend controllers (joint_states without controller like MoveIt!? also other controllers, I've only used joint_trajectory controllers) robot state publisher is who needs to be sent messages.
  • Enable options to override sizes of markers and meshes.
  • Make it work with other robots (pr2 initiated)
  • Fix mesh parsing as links without visual tag crash the function

About

Package to move all the joints controller by joint_trajectory_controller using Rviz markers on each joint.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages