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

Glass_Eater's profile - activity

2020-04-14 14:18:57 -0500 received badge  Famous Question (source)
2018-07-10 12:22:43 -0500 received badge  Famous Question (source)
2018-04-18 01:25:28 -0500 received badge  Notable Question (source)
2018-02-14 20:49:05 -0500 received badge  Notable Question (source)
2017-07-31 06:38:13 -0500 received badge  Student (source)
2017-07-15 01:33:55 -0500 received badge  Famous Question (source)
2017-07-15 01:33:55 -0500 received badge  Notable Question (source)
2017-07-14 06:12:41 -0500 received badge  Famous Question (source)
2017-07-14 06:12:41 -0500 received badge  Notable Question (source)
2017-07-11 08:39:58 -0500 received badge  Famous Question (source)
2017-05-06 14:06:46 -0500 received badge  Popular Question (source)
2017-04-19 17:24:13 -0500 commented question No joint solution found while trying to use inverse kinematics on Baxter robot

@rbbg I followed the instructions here http://sdk.rethinkrobotics.com/wiki/Baxter_PyKDL to install baxter_pykdl. I dont

2017-04-19 17:20:51 -0500 commented question No joint solution found while trying to use inverse kinematics on Baxter robot

@rbbg I am not sure what the standard values of the ik_service_client.py are, but I am assuming it is the values that we

2017-04-19 17:20:36 -0500 commented question No joint solution found while trying to use inverse kinematics on Baxter robot

@rgbd I am not sure what the standard values of the ik_service_client.py are, but I am assuming it is the values that we

2017-04-19 13:42:47 -0500 asked a question No joint solution found while trying to use inverse kinematics on Baxter robot

No joint solution found while trying to use inverse kinematics on Baxter robot I am trying to move a the arm of a Baxter

2017-04-19 10:00:02 -0500 received badge  Notable Question (source)
2017-04-18 12:10:32 -0500 asked a question The ik_service_client example on Baxter SDK is always giving the same result

I am trying to use the ik_service_client.py example on Baxter SDK to get the joint angles for the left arm of a Baxter robot after inputting the a position and orientation. The problem is that when I change the values for the position and orientation in the ik_service_client.py code and run the code the result is always the same. If any one can help it will be greatly appreciated.

The ik_service_client.py code : https://github.com/RethinkRobotics/ba...

2017-04-12 17:12:08 -0500 commented answer Set end effector position of Baxter Robot using 3D cartesian Data

@jarvisschultz thanks for ur answer. When trying to move the arm using the position, the orientation of the arm is also needed. I want to ask if there is any way to move the arm without having to use the orientation or if there is a program that can automatically calculate the orientation.

2017-04-12 08:27:10 -0500 received badge  Popular Question (source)
2017-04-12 08:26:00 -0500 received badge  Enthusiast
2017-04-11 08:09:01 -0500 received badge  Editor (source)
2017-04-11 05:06:39 -0500 received badge  Popular Question (source)
2017-04-10 08:15:52 -0500 asked a question move baxter end effector position regardless of orientation

I downloaded these codes from the link https://www.google.co.uk/url?sa=t&rct...

first code ik_solver.py import argparse import sys

import rospy

from geometry_msgs.msg import (
    PoseStamped,
    Pose,
    Point,
    Quaternion,
)
from std_msgs.msg import Header

from baxter_core_msgs.srv import (
    SolvePositionIK,
    SolvePositionIKRequest,
)


def ik_solve(limb, pos, orient):
    #~ rospy.init_node("rsdk_ik_service_client")
    ns = "ExternalTools/" + limb + "/PositionKinematicsNode/IKService"
    iksvc = rospy.ServiceProxy(ns, SolvePositionIK)
    ikreq = SolvePositionIKRequest()
    print "iksvc: ", iksvc
    print "ikreq: ", ikreq
    hdr = Header(stamp=rospy.Time.now(), frame_id='base')
    poses = {
        str(limb): PoseStamped(header=hdr,
            pose=Pose(position=pos, orientation=orient))}

    ikreq.pose_stamp.append(poses[limb])
    try:
        rospy.wait_for_service(ns, 5.0)
        resp = iksvc(ikreq)
    except (rospy.ServiceException, rospy.ROSException), e:
        rospy.logerr("Service call failed: %s" % (e,))
        return 1
    if (resp.isValid[0]):
        print("SUCCESS - Valid Joint Solution Found:")
        # Format solution into Limb API-compatible dictionary
        limb_joints = dict(zip(resp.joints[0].name, resp.joints[0].position))
        print limb_joints
        return limb_joints
    else:
        print("INVALID POSE - No Valid Joint Solution Found.")

    return -1

The second code movement_commands.py

import baxter_interface
import baxter_external_devices
import rospy
import ik_solver
from geometry_msgs.msg import (    
    Point,
    Quaternion,
)


# Moves relative to current Position
def moveRel(x,y,z):
    pose = left.endpoint_pose()
    print "current pose: ", pose
    curX = pose["position"].x
    curY = pose["position"].y
        curZ = pose["position"].z
    newX = curX + x
    newY = curY + y
    newZ = curZ + z
    loc = Point(newX,newY,newZ)
    print "loc: ", loc    
    faceDown = Quaternion( 0.0, 0.0, 0.5, 0.0)
    #print "orient: ", faceDown
    limb_joints = ik_solver.ik_solve('left', loc, faceDown)
    prev = loc
    if limb_joints != -1:
        print "limb_joints: ", limb_joints
        print "moving arm to limb_joints joints"
        left.move_to_joint_positions(limb_joints)


# Takes a Point()
def moveTo(goal):
    loc = goal
    faceDown = Quaternion( 0.0, 0.0, 0.5, 0.0)
    #print "loc: ", loc    
    #print "orient: ", orient[1]
    limb_joints = ik_solver.ik_solve('left', loc, faceDown)
    prev = loc
    if limb_joints != -1:
        #print "limb_joints: ", limb_joints
        #print "moving arm to goal limb_joints joints"
        print "  "
        print "  "
        print "  "
        left.move_to_joint_positions(limb_joints)

rospy.init_node('move_left_hand')
rs = baxter_interface.RobotEnable()
rs.enable()

left = baxter_interface.Limb('left')
leftGripper = baxter_interface.Gripper('left')
pose = left.endpoint_pose()
b = True
pos = pose.popitem()
orient = pose.popitem()
prev = pos[1]

left.set_joint_position_speed(1.0)

print "-----------------------------------"
pose = left.endpoint_pose()
print "current pose: ", pose
s = raw_input("Press q to run ... ")
if s == 'q':
    moveTo(Point(-0.008758931559827073, 0.4037057092838424, 1.1405580898861356))
    print left.endpoint_pose()

The second code movement_commands.py has a function moveTo where you put the position of the end effector and it moves there but you also have to put the orientation which is a quaternion. I don’t completely understand how the orientation works so I want to ask if there is a way to only put the position of the I want the end effector to be at without having to use the orientation.

2017-04-10 05:00:48 -0500 received badge  Popular Question (source)
2017-04-08 10:36:40 -0500 received badge  Supporter (source)
2017-04-07 22:44:34 -0500 received badge  Scholar (source)
2017-04-07 22:44:29 -0500 commented answer What does the endpoint.pose() command mean in the Baxter SDK

@jarvisschultz thank you for your answer I also want to ask if you know what the difference between the position and orientation is.

2017-04-07 10:58:34 -0500 asked a question What does the endpoint.pose() command mean in the Baxter SDK

In the Baxter SDK there is a command endpoint_pose() when I execute it with the a specified limb I get a reuslt like

{'position': Point(x=0.14484562211109325, y=0.6912815563308439, z=-0.45768906596768155), 'orientation': Quaternion(x=-0.5946265621165651, y=0.8034360301238139, z=0.029333852671252516, w=-0.007022977415755815)}

Does anyone know what this result mean.

2017-04-06 05:46:33 -0500 asked a question Set end effector position of Baxter Robot using 3D cartesian Data

I want to ask if it is possible to set the arm position of a Baxter robot by stating the 3D Cartesian coordinate position of the end effector instead of using joint angle of each joint.If it is possible to do this or if you have any ideas they are all welcome.

2017-04-05 00:59:50 -0500 received badge  Popular Question (source)
2017-04-03 11:23:01 -0500 asked a question How to track frames from tf in ROS

I am a beginner in using ROS. I am trying to track some frames that are published as a set of transform but I do not know how to do this. I would like to ask if anyone that knows how to track frames on ROS can help me.