ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ahmohamed's profile - activity

2023-02-06 12:03:14 -0500 received badge  Taxonomist
2019-05-20 02:35:14 -0500 marked best answer moveit visual servoing

I've been working with moveit for the past two weeks. However, I am trying to do visual servoing with my robot, but I cannot find any example about moveit with visual servoing. I know that using moveit with API is always plan for the next movement which delays the process.

I try to use my visual servoing with planning in python I get really slow running (2Hz). I change to c++ and I get faster progress which is (10Hz). 10Hz is fine but still, the planning is not required in this process, especially the end_effector move by the small change from the old position.

is there any way I can stop the planning, or just generating the joint angle from the position so I can start with the current position and then add the difference.

I've been thinking about using IK_service but I am not sure if it will be fast enough to do visual servo.

2017-10-30 13:39:16 -0500 commented question MoveIt control using Kinematic model for faster control rate

If you use setFromIK you can directly use the robot controller (send the value using joint_state/command) and avoid usin

2017-10-05 01:45:41 -0500 received badge  Famous Question (source)
2017-07-26 04:10:22 -0500 edited answer moveit visual servoing

Here is what I do, following the advice of @v4hn by using Kinematic Model I manage to load the model and then compute t

2017-07-26 04:09:43 -0500 answered a question moveit visual servoing

Here is what I do, following the advice of @v4hn bu using Kinematic Model I manage to load the model and compute the IK

2017-07-10 16:04:25 -0500 commented answer moveit visual servoing

thank you guys for your advice. So far I am trying to use IK_service to do the job. @gvdhoom I will appreciate if you c

2017-07-10 05:46:28 -0500 received badge  Notable Question (source)
2017-07-09 05:07:40 -0500 commented answer moveit visual servoing

The issue I have is I am not able to generate the IK for my arm which is 7DOF. I've been trying to generate it using IKf

2017-07-09 05:03:29 -0500 received badge  Popular Question (source)
2017-07-09 02:12:42 -0500 received badge  Editor (source)
2017-07-09 02:12:42 -0500 edited question moveit visual servoing

moveit visual servoing I've been working with moveit for the past two weeks. However, I am trying to do visual servoing

2017-07-08 13:27:32 -0500 edited question moveit visual servoing

moveit visual servoing I've been working with moveit for the past two weeks. However, I am trying to do visual servoing

2017-07-08 13:21:53 -0500 asked a question moveit visual servoing

moveit visual servoing I've been working with moveit for the past two weeks. However, I am trying to do visual servoing

2017-04-24 02:53:43 -0500 received badge  Famous Question (source)
2016-12-27 12:47:19 -0500 received badge  Notable Question (source)
2016-11-16 05:31:45 -0500 received badge  Popular Question (source)
2016-10-09 03:19:21 -0500 answered a question init done opengl support available,No gui/ window for calibartion

hello,

I have the same issue did you manage to solve it??

2016-07-28 04:05:25 -0500 asked a question Dual Dynamixel controller with moveit

Hello,

I am working on PhantomX Reactor Robot Arm which is 5 dof and using dynamixel motors. I am trying to control the arm using moveit. However I have a problem when I try to run joint with dual motor I get this error appeare in the shell with controller_manager

    [ERROR] [WallTime: 1469691515.740486] Exception in your execute callback: JointPositionControllerDual instance has no attribute 'motor_id'
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 291, in executeLoop
    self.execute_callback(goal)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/dynamixel_controllers/joint_trajectory_action_controller.py", line 142, in process_follow_trajectory
    self.process_trajectory(goal.trajectory)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/dynamixel_controllers/joint_trajectory_action_controller.py", line 257, in process_trajectory
    motor_id = self.joint_to_controller[joint].motor_id
AttributeError: JointPositionControllerDual instance has no attribute 'motor_id'

I try to run the arm with a single motor and it working fine just I got this problem when I run dual motors joints.

this is the controller manager

<launch>
  <node name="fda_controller_manager" pkg="dynamixel_controllers" type="controller_manager.py" required="true" output="screen">
    <rosparam>
        namespace: fda_manager
        serial_ports:
            port_0:
                port_name: "/dev/ttyUSB0"
                baud_rate: 1000000
                min_motor_id: 1
                max_motor_id: 25
                update_rate: 20
    </rosparam>
  </node>
</launch>

and this is my start_controller

<launch>
  <rosparam file="$(find fda_controllers)/config/fda_controller.yaml" command="load"/>
  <node name="fda_controller_spawner" pkg="dynamixel_controllers" type="controller_spawner.py"
        args="--manager=fda_manager
              --port port_0
              --type=simple
        joint1_position_controller
                joint2_position_controller      
        joint3_position_controller
        joint4_position_controller
        joint5_position_controller"
        output="screen"/>


  <node name="fda_action_controller_spawner" pkg="dynamixel_controllers" type="controller_spawner.py"
        args="--manager=fda_manager
              --type=meta
                fda_joint_trajectory_action_controller
        joint1_position_controller
                joint2_position_controller      
        joint3_position_controller
        joint4_position_controller
        joint5_position_controller"
        output="screen"/>
</launch>

this is may script

#!/usr/bin/env python
import roslib
roslib.load_manifest('fda_controllers')

import rospy
import actionlib
from std_msgs.msg import Float64
import trajectory_msgs.msg 
import control_msgs.msg  
from trajectory_msgs.msg import JointTrajectoryPoint
from control_msgs.msg import JointTrajectoryAction, JointTrajectoryGoal, FollowJointTrajectoryAction, FollowJointTrajectoryGoal



class Joint:
        def __init__(self, motor_name):
            #arm_name should be b_arm or f_arm
            self.name = motor_name           
            self.jta = actionlib.SimpleActionClient('fda_joint_trajectory_action_controller', FollowJointTrajectoryAction)
            rospy.loginfo('Waiting for joint trajectory action')
            self.jta.wait_for_server()
            rospy.loginfo('Found joint trajectory action!')


        def move_joint(self, angles):
            goal = FollowJointTrajectoryGoal()                  
            char = self.name[0] #either 'f' or 'b'
            goal.trajectory.joint_names = [char+'_joint',char+'_joint',char+'_joint',char+'_joint',char+'_joint']
            point = JointTrajectoryPoint()
            point.positions = angles
            point.time_from_start = rospy.Duration(6)                   
            goal.trajectory.points.append(point)
            self.jta.send_goal_and_wait(goal)


def main():
            arm = Joint('f_arm')
            arm.move_joint([0.5,1.5,1.0])
            arm.move_joint([6.28,3.14,6.28])


if __name__ == '__main__':
      rospy.init_node('joint_position_tester')
      main()

Thank you

2016-07-27 01:03:37 -0500 received badge  Enthusiast