ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org
Ask Your Question

edessale's profile - activity

2017-04-25 20:59:51 -0600 received badge  Famous Question (source)
2016-07-13 09:02:33 -0600 received badge  Notable Question (source)
2016-04-15 01:56:06 -0600 received badge  Popular Question (source)
2016-02-11 18:23:00 -0600 commented question Determining Collision of Baxter's Arm in Gazebo

that you can use. And I also did this all in python, Openrave is a great high level simulator. Feel free to ask any more questions, this was a point of frustration for me for a while.

2016-02-11 18:22:25 -0600 commented question Determining Collision of Baxter's Arm in Gazebo

Hi, Yeah I was able to finish this. MoveIt! is a fine option, but I personally didn't want to go there so I decided to use openrave. As long as you have a collada file (which is easily generatable from a URDF), just upload the environment and there are robot.CheckCollision(...) methods

2016-01-03 01:26:58 -0600 asked a question Kinect in Gazebo: Zooming Out

Hello all,

I am using an openni_kinect in Gazebo and have been trying to make it zoom out. I have adjusted the focal length (which is currently 554 mm using rostopic info cameras/kinect/...) to lower focal lengths such as 300 in the URDF but it seems to have no effect. Below is the URDF:

<gazebo reference="kinect_link3">
    <sensor type="depth" name="openni_camera_camera">       
        <always_on>1</always_on>
        <visualize>true</visualize>             
        <camera>
            <horizontal_fov>1.047</horizontal_fov>  
            <image>
                <width>640</width>
                <height>480</height>
                <format>R8G8B8</format>
            </image>
            <depth_camera>

            </depth_camera>
            <clip>
                <near>0.1</near>
                <far>100</far>
            </clip>
        </camera>
        <plugin name="camera_controller" filename="libgazebo_ros_openni_kinect.so">
            <alwaysOn>true</alwaysOn>
                <updateRate>10.0</updateRate>
                <cameraName>kinect3</cameraName>
                <frameName>kinect_pc_frame3</frameName>                   
            <imageTopicName>rgb/image_raw</imageTopicName>
            <depthImageTopicName>depth/image_raw</depthImageTopicName>
            <pointCloudTopicName>depth/points</pointCloudTopicName>
            <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>              
            <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>            
            <pointCloudCutoff>0.4</pointCloudCutoff>                
                <hackBaseline>0.07</hackBaseline>
                <distortionK1>0.0</distortionK1>
                <distortionK2>0.0</distortionK2>
                <distortionK3>0.0</distortionK3>
                <distortionT1>0.0</distortionT1>
                <distortionT2>0.0</distortionT2>
        <focalLength>300.0</focalLength>
        <robotNamespace>/cameras</robotNamespace>
            </plugin>
    </sensor>
</gazebo>

Also, if the Kinect is zoomed out, will the subscribed PointCloud2 data still work correctly? Or does it use a default focal length and require an edit of the new focal length somewhere?

2016-01-02 17:02:59 -0600 commented question Listening to Publisher in Python from C++ Subscriber: Problem

Will do! I'll change my code up as well, thank you.

2016-01-01 11:33:42 -0600 received badge  Famous Question (source)
2015-12-31 14:20:53 -0600 received badge  Notable Question (source)
2015-12-31 14:15:11 -0600 received badge  Scholar (source)
2015-12-31 14:13:49 -0600 answered a question Listening to Publisher in Python from C++ Subscriber: Problem

EDIT: Thanks to gvdhoorn, I was able to fix my problem as well as get a better understanding of subscribers/publisher control. Below is the updated code:

Python:

 rospy.init_node('BAXTER', anonymous=True)
 pub1 = rospy.Publisher('PointCloudView', String, queue_size=10)
 pub2 = rospy.Publisher('PointCloudView', String, queue_size=10)
 pub3 = rospy.Publisher('PointCloudView', String, queue_size=10)    
....
 pub1.publish(str(0))
...
 pub2.publish(str(1))
...
 pub3.publish(str(2))

C++:

ros::init (argc, argv, "my_pcl_tutorial");
ros::NodeHandle nh2;

sub4 = nh2.subscribe("/PointCloudView", 10, saveFiles);
ros::spin();
2015-12-31 12:58:24 -0600 commented answer Listening to Publisher in Python from C++ Subscriber: Problem

Thank you for the very informative write! You explained everything very, very clearly. in a way people relatively new such as myself can understand. I'm fixing my code right now and I will post it as soon as it is ready.

2015-12-31 12:46:58 -0600 received badge  Supporter (source)
2015-12-31 08:16:44 -0600 received badge  Popular Question (source)
2015-12-30 17:29:13 -0600 asked a question Listening to Publisher in Python from C++ Subscriber: Problem

Hello all,

I have a publisher in Python that I want publishing an Integer value from 0-2. I want to subscribe to that publisher from C++ and obtain that value. Below is the relevant code:

PYTHON:

def capturePointCloud(tracker):
    pub1 = rospy.Publisher('PointCloudView', Int8, queue_size=1)
    pub1.publish(tracker)   
    print "Made it"

where the tracker parameter is 0, 1 or 2. This is published 3 times through 3 capturePointCloud calls. I'd like for it to only be published once, and then when it's received on the C++ subscriber be stopped publishing, but for now I just want this working.

C++

 int main (int argc, char** argv)
{
    ros::init (argc, argv, "my_pcl_tutorial");
    ros::NodeHandle nh2;

    ROS_INFO("message is");
    while(true)
    {
      sub4 = nh2.subscribe<std_msgs::Int8>("/PointCloudView", 1, saveFiles);
    if(tracker == 2)
    break;
    }
}
    void saveFiles(std_msgs::Int8 msg)
    {
    ROS_INFO("message is");
    tracker = msg.data;
    ....

I have not finished the saveFiles callback function because it is irrelevant. For some reason, the callback function in C++ is never reached. I have used rostopic info /PointCloudView and I get:

Type: std_msgs/Int8

Publishers: 
 * /BAXTER (http://localhost:37366/)

Subscribers: 
 * /my_pcl_tutorial (http://localhost:38479/)
 * /rostopic_8283_1451517068960 (http://localhost:59099/)

/PointCloudView even shows up on rostopic list, so what am I doing wrong here? The code looks fine to me, and I cannot figure out why the subscriber is not listening to the publisher. C++ listeners should be able to access Python publishers and what I'm doing is fairly simple, so why is this not working? I'd be very grateful for any help. Thank you all.


EDIT:

Thanks to @gvdhoorn, I was able to fix my problem as well as get a better understanding of subscribers/publisher control. Below is the updated code:

Python:

 rospy.init_node('BAXTER', anonymous=True)
 pub1 = rospy.Publisher('PointCloudView', String, queue_size=10)
 pub2 = rospy.Publisher('PointCloudView', String, queue_size=10)
 pub3 = rospy.Publisher('PointCloudView', String, queue_size=10)    
....
 pub1.publish(str(0))
...
 pub2.publish(str(1))
...
 pub3.publish(str(2))

C++:

ros::init (argc, argv, "my_pcl_tutorial");
ros::NodeHandle nh2;

sub4 = nh2.subscribe("/PointCloudView", 10, saveFiles);
ros::spin();
2015-12-23 03:19:42 -0600 asked a question Determining Collision of Baxter's Arm in Gazebo

Hello all,

I am implementing a BiRRT where I am working on Baxter, along with its 7 DOF arms. I would like to, given a joint angle configuration of [s0, s1, e0, e1, ...], determine if this configuration will create a collision with the environment. I already have the STL meshes of the environment so I plan on creating a CollisionObject out of those using the FCL (Flexible Collision Library), but I have no clue where to start on making a CollisionObject out of Baxter's arm. I've been losing a lot of time to this. Could somebody give me some pointers on where to start? Thank you all.

2015-11-04 20:11:16 -0600 received badge  Enthusiast