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

Alessio's profile - activity

2022-02-05 05:50:33 -0500 received badge  Nice Answer (source)
2021-03-03 05:26:50 -0500 received badge  Famous Question (source)
2020-05-02 07:48:58 -0500 received badge  Famous Question (source)
2020-05-02 07:48:58 -0500 received badge  Notable Question (source)
2020-01-23 10:51:29 -0500 received badge  Notable Question (source)
2019-11-15 02:45:23 -0500 received badge  Popular Question (source)
2019-11-04 05:51:43 -0500 received badge  Popular Question (source)
2019-11-01 06:20:04 -0500 received badge  Teacher (source)
2019-10-31 14:33:30 -0500 answered a question how to create MoveIt package for robot arm with gripper?

just create a new xacro file where you include the two urdfs, something like: <?xml version="1.0"?> <robot

2019-10-31 14:33:30 -0500 received badge  Rapid Responder (source)
2019-10-31 12:17:46 -0500 edited question segfault eigen RobotState ROS Kinetic + PCL

Eigen version for ROS Kinetic + PCL 1.9.1 Hi, I'm working on a project with ROS Kinetic and PCL 1.9.1. I'm on ubuntu 16.

2019-10-31 12:04:58 -0500 commented question segfault eigen RobotState ROS Kinetic + PCL

Hi, thanks for the reply. It makes sense and I was expecting this kind of answer but I asked to be sure. I have updated

2019-10-31 12:00:10 -0500 edited question segfault eigen RobotState ROS Kinetic + PCL

Eigen version for ROS Kinetic + PCL 1.9.1 Hi, I'm working on a project with ROS Kinetic and PCL 1.9.1. I'm on ubuntu 16.

2019-10-31 07:39:14 -0500 asked a question segfault eigen RobotState ROS Kinetic + PCL

Eigen version for ROS Kinetic + PCL 1.9.1 Hi, I'm working on a project with ROS Kinetic and PCL 1.9.1. I'm on ubuntu 16.

2019-08-26 19:05:55 -0500 commented question find all IK solutions ur10 moveit

Hi jarvisschultz. I'm referring to the configurations elbow up/down, wrist up/down and shoulder left/right which lead to

2019-08-26 13:05:56 -0500 asked a question find all IK solutions ur10 moveit

find all IK solutions ur10 moveit Hi, I'm working at an university project with an UR10. I'm using mainly the Move Group

2017-12-04 08:42:26 -0500 received badge  Famous Question (source)
2017-12-04 08:42:26 -0500 received badge  Notable Question (source)
2017-11-16 16:58:31 -0500 received badge  Famous Question (source)
2017-03-01 17:44:55 -0500 received badge  Popular Question (source)
2017-02-27 08:23:59 -0500 received badge  Notable Question (source)
2017-02-26 16:00:04 -0500 asked a question OpenCV encoding problem depth image

Hi, I'm facing some problems during the encoding of the depth image coming from a kinect sensor. The hardware is simulated on Vrep. The kinect is publishing a standard depth image and I have no problem at all if I try to visualize it on Rviz. It displays well showing a normal behavior.

If I try to do the same thing using a python node and OpenCV I have the following result. As you can see the Depth Image does not show a grey-scale behavior but it has some horizontal lines!

image description

Here the python code.

I have also tried with "passthrough" instead of 16UC1 but the result is the same.

def depth_callback(self, ros_image):
try:
    depth_image = self.bridge.imgmsg_to_cv2(ros_image,"16UC1")
    except CvBridgeError, e:
            print e

cv2.imshow("Depth Image", depth_image)
2017-01-30 15:08:48 -0500 received badge  Popular Question (source)
2017-01-30 14:51:20 -0500 commented question Control YouBot Arm Problem Gripper

The code on my pc is well formatted, I just edit my post above. I'm thinking that could be a problem related to the simulation program.

2017-01-30 14:48:39 -0500 received badge  Editor (source)
2017-01-29 14:53:46 -0500 asked a question Control YouBot Arm Problem Gripper

Hi, I'm trying to control the arm of a Kuka YouBot. I have a problem with the gripper, i'm stuck with an error when i publish desiredGripPos.

The error is the following: File "/home/alessio/kuka_ws/src/teleop_kuka/src/arm_teleop.py", line 139, in processJoints self.gripPub.publish(desiredGripPos)

Instead i have no problem with the others joints. The python code works well because i can see the changing in the values but it does not publish this values to the gripper.

Ubuntu 14 + ROS Indigo

Here the code:

import rospy
from sensor_msgs.msg import JointState, Joy
from brics_actuator.msg import JointPositions, JointValue, JointVelocities
import sys
import copy
import numpy

class arm_teleop:

 def __init__(self):
    # rospy.init_node('arm_teleop')
    rospy.Subscriber("joint_states", JointState, self.processJoints)
    rospy.Subscriber('/joy', Joy, self.processJoystick)
    self.armPub = rospy.Publisher('/arm_controller/position_command', JointPositions, queue_size=10)
    self.velPub = rospy.Publisher('/arm_controller/velocity_command', JointVelocities, queue_size=10)
    self.gripPub = rospy.Publisher('/gripper_controller/position_command', JointPositions, queue_size=10)

    self.joyMsg = None

    self.crntJointStates = JointState()
    self.crntJointPositions = JointPositions()
    self.gripperPositions = JointPositions()
    self.angularStep = 0.07
    self.maxVel = 1.0
    self.gripStep = 0.001
    self.previous_vel_change = False

    self.jointBounds = [
        {'upper': 5.80, 'lower': 0.011},
        {'upper': 2.60, 'lower': 0.020},
        {'upper': -0.015708, 'lower': -5.02654},
        {'upper': 3.40, 'lower': 0.03},
        {'upper': 5.60, 'lower': 0.12},
        {'upper': 0.0115, 'lower': 0.0},
        {'upper': 0.0115, 'lower': 0.0},
    ]


def processJoints(self, joint_states):
    armStatesReceived = joint_states.name[10] == 'arm_joint_1'


    if armStatesReceived and self.joyMsg is not None:

        self.crntJointStates = copy.deepcopy(joint_states)
        for index in range(0, len(joint_states.position)-2):
            pos = JointValue()
            pos.joint_uri = "arm_joint_" + str(index + 1)
            pos.unit = "rad"
            pos.value = joint_states.position[index]
            self.crntJointPositions.positions.append(pos)
        pos = JointValue()
        pos.joint_uri = "gripper_finger_joint_l"
        pos.unit = "m"
        pos.value = joint_states.position[5]
        self.gripperPositions.positions.append(pos)

        pos = JointValue()
        pos.joint_uri = "gripper_finger_joint_r"
        pos.unit = "m"
        pos.value = joint_states.position[6]
        self.gripperPositions.positions.append(pos)

        # desiredPos = copy.deepcopy(self.crntJointPositions)
        desiredGripPos = copy.deepcopy(self.gripperPositions)

        self.joyMsg.axes = numpy.array(self.joyMsg.axes)        
        left_axis = self.joyMsg.axes[[0, 1]]
        right_axis = self.joyMsg.axes[[2, 3]]
        l2_axis = self.joyMsg.axes[12] * -1
        r2_axis = self.joyMsg.axes[13] * -1
    square = self.joyMsg.buttons[15]
    x = self.joyMsg.buttons[14]
    circle = self.joyMsg.buttons[13]
        triangle = self.joyMsg.buttons[12]
    r1 = self.joyMsg.buttons[11]
    l1 = self.joyMsg.buttons[10]
    r2 = self.joyMsg.buttons[9]
    l2 = self.joyMsg.buttons[8]
        left_dpad = self.joyMsg.axes[6] == 1
        right_dpad = self.joyMsg.axes[6] == -1
        up_dpad = self.joyMsg.axes[7] == 1
        down_dpad = self.joyMsg.axes[7] == -1

        if not self.previous_vel_change:
            if square:
                self.maxVel += 0.25
            if circle:
                self.maxVel -= 0.25
            if self.maxVel < 0.25:
                self.maxVel = 0.25

        self.previous_vel_change = square or circle

        # object that will carry all desired velocities to each joint
        desiredVel = JointVelocities()
    # desiredGripPos = JointPositions()

        for index in range(0, len(joint_states.position)-2):
            vel = JointValue()
            vel.joint_uri = "arm_joint_" + str(index + 1)
            vel.unit = "s^-1 rad"  # radians per second
            desiredVel.velocities.append(vel)

        desiredVel.velocities[0 ...
(more)
2017-01-23 13:44:32 -0500 received badge  Enthusiast
2017-01-21 10:27:31 -0500 received badge  Famous Question (source)
2017-01-21 09:30:05 -0500 received badge  Student (source)
2017-01-21 09:02:49 -0500 received badge  Scholar (source)
2017-01-21 09:02:37 -0500 commented answer problem localization AMCL (only laser scanner)

Thanks man, I edit the first post with few details about my solution.

2017-01-19 07:26:52 -0500 received badge  Notable Question (source)
2017-01-19 03:54:31 -0500 commented answer problem localization AMCL (only laser scanner)

Yes, i'm using a static transformation between base_link and odom. The problem with laser_scan_matcher is that: according to the documentation it is not available for ros kinetic. How to install it?

2017-01-19 02:36:38 -0500 received badge  Popular Question (source)
2017-01-18 18:43:14 -0500 asked a question problem localization AMCL (only laser scanner)

Hi, I'm quite confused about AMCL. Until now, i was able to create a map with hector_slam. Now i'm trying to use AMCL to localize my robot into this map.

I want to specify that i'm using only a Hokuyo laser scanner, so without odometry. Is it necessary to implement also an IMU or to do other steps in order to get AMCL able to work?

this is the situation after i set the 2d Pose Estimate http://tinypic.com/view.php?pic=2m5zb...

If starting from that condition i move the robot, it will not localize itself. So i think that i'm missing something. Any hints? Is there a way to use the laser scanner data as odometry?

I'm running everything on ROS kinetic ubuntu 16.04. The laser scanner is connected to a raspberry Pi3 and the computational stuff are done on a desktop pc with ROS_MASTER_URI.

EDIT Finally i was able to build laser scan matcher from the source. I want to say thanks to the man here, his tutorial was very helpful to success (the last part for CSM). Talking about Laser Scan Matcher, according to these few hours of testing, the results are very very good.

Two days ago I managed to use Hector_Slam to obtain the data from the laser scanner using "pub_map_odom_transform" but the results are not so good. I mean, it works but sometimes the robot gets lost. Here some hints

So to conclude, using Laser Scanner Matcher is the best way to deal with laser scanner data for AMCL.