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

SivamPillai's profile - activity

2021-04-19 16:15:33 -0500 received badge  Good Answer (source)
2016-06-28 08:31:56 -0500 received badge  Nice Answer (source)
2016-04-20 15:11:10 -0500 received badge  Great Answer (source)
2016-04-20 15:11:10 -0500 received badge  Guru (source)
2014-09-08 13:01:18 -0500 received badge  Enthusiast
2014-01-28 17:27:17 -0500 marked best answer Kinect explore.launch failed again in Husky A200

Hi,

I had previously made explore and human tracking work well with Husky A200. However, recently when I tried to do the same again today it did not work. I tried several things to repair this but none of them worked.

Here are some more details: 1) I am using Ubuntu 12.04 with fuerte 2) I am using the openni_camera_deprecated package in the launch file. 3) I have also remapped the vel topic to /husky/cmd_vel

Here's the Launch file:

<launch>

<arg name="robot_name" default="default"/>

<group ns="clearpath">

<group ns="robots/$(arg robot_name)">  

  <!-- HUSKY -->
  <include file="$(find husky_bringup)/minimal.launch" />

  <!-- KINECT -->
  <arg name="debug" default="false"/>
  <arg if="$(arg debug)" name="launch_prefix" value="xterm -rv -e gdb -ex run -args"/>
  <arg unless="$(arg debug)" name="launch_prefix" value=""/>
  <node pkg="openni_camera" type="openni_node" name="openni_node1" output="screen" launch-prefix="$(arg launch_prefix)">
    <param name="device_id" value="#1"/> <!-- this line uses first enumerated device -->
    <rosparam command="load" file="$(find openni_camera_deprecated)/info/openni_params.yaml" />
    <param name="rgb_frame_id" value="/openni_rgb_optical_frame" />
    <param name="depth_frame_id" value="/openni_depth_optical_frame" />
    <param name="use_indices" value="false" />
    <param name="depth_registration" value="true" />
    <param name="image_mode" value="2" />
    <param name="depth_mode" value="2" />
    <param name="debayering" value="2" />
    <param name="depth_time_offset" value="0" />
    <param name="image_time_offset" value="0" />
  </node>
  <include file="$(find openni_camera_deprecated)/launch/kinect_frames.launch"/>

  <!-- SKIM CLOUD -->
  <node pkg="clearpath_tools" type="SkimImage" name="skim1" >
    <param name="in"                value="camera/rgb/points" />
    <param name="out"               value="camera/points/skim" />
    <param name="skim_factor"       value="2" />
  </node>

  <!-- PASSTHROUGH -->
  <node pkg="clearpath_tools" type="Passthrough" name="passthrough1" >
    <param name="in"                value="camera/points/skim" />
    <param name="out"               value="camera/points/passthrough" />
    <param name="dist"              value="4.0" />
  </node>

  <!-- EXPLORE DEMO -->
  <node pkg="clearpath_kinect_demo" type="ClearpathDemoExplore" name="ClearpathDemoExplore1" output="screen">
    <param name="in" value="camera/points/passthrough" />
    <param name="out" value="camera/points/visualization" />
    <param name="out_vel" value="husky/cmd_vel" />
    <param name="angular_vel_correction" value="2" />
    <param name="lin_speed" value="0.3" />
    <param name="ang_speed" value="0.3" />
    <param name="cam_height" value="0.55" />
    <param name="cam_z_trans" value="0.35" />
    <param name="wall_buffer" value="0.6" />
    <param name="random_walk" value="0" />
    <param name="publish_visualization" value="1" />
  </node>

</group> <!-- end of robot group -->

</group>

</launch>


I used rxgraph to verify the topic links and I found a strange thing. It is that I already have a topic


/husky/cmd_vel sending data to /husky/clearpath_base node

running from clearpath services. However after I launch explore.launch file I see that a completely new topic is initiated

/clearpath/robots/default/husky/cmd_vel sending data to /clearpath/robots/default/husky/clearpath_base

I believe this is an issue that has got something to do with the namespaces provided in the launch file.


Here are some of the unwanted topics listed in rostopic list which already exists outside the namespace /clearpath/robots/default


/clearpath/robots/default/camera/points/passthrough

/clearpath/robots/default/camera/points/skim /clearpath/robots/default/camera/points/visualization /clearpath/robots/default/camera/rgb/points /clearpath/robots/default/depth/camera_info /clearpath/robots/default/depth/image_raw /clearpath/robots/default/depth/image_raw/compressed ... (more)

2014-01-28 17:27:16 -0500 marked best answer Time Synchronizer hangs after few messages

enter code hereHi,

I have a scenario where I have 2 sensors publishing messages to 2 different topics, let's say:

topicA

topicB

I wanted to subscribe to both these topics using a 3rd node; compare the values from the first 2 topics and do certain operations and generate a new output to be published onto another topic say,

topicC

For this I created custom messages for each of my sensors with a header containing the time stamp.

In the nodes publishing to topics 'topicA' and 'topicB' I initialized the timestamp field in the header as

x.header.timeStamp = ros::Time::now()

All my publisher nodes run continuously with no problems. However, I only get the first two messages at the output of my synchronizer and then it stops forever. Then I am unable to stop the node other than terminating the execution using SIGINT (ctrl+z).

Can someone tell me what I can do so that my timesynchronizer works properly and synchronizes the outputs from topicA and topicB using timestamps.

Here's the code of node 3:

void fusionCallback(const fusion::TwistsConstPtr& sensorA, const fusion::TwistsConstPtr& sensorB)
geometry_msgs::Twist vel;
ros::NodeHandle n;
ros::Publisher vel_pub = n.advertise<geometry_msgs::Twist>("/cmd_vel", 1);
ros::Rate loop_rate(10);
while(ros::ok())
{
    float sensorA_dat = sensorA->dat;
    float sensorB_dat = sensorB->dat;
    if(sensorB_dat > sensorA_dat)
        vel = sensorB->vel;
    else vel = sensorA->vel;
    vel_pub.publish(vel);
    ROS_INFO("sensorA Data = [%f] sensorB Data = [%f]", sensorA_dat, sensorB_dat);
    ros::spinOnce();
    loop_rate.sleep();

}

int main(int argc, char **argv)

ros::init(argc, argv, "vel_publisher");
ros::NodeHandle n;
//ros::Rate loop_rate(20);

using namespace message_filters;
Subscriber<fusion::Twists> sensorA_sub(n, "/fusion/cmd_vel_sensorA", 1);
Subscriber<fusion::Twists> sensorB_sub(n, "/fusion/cmd_vel_sensorB", 1);


typedef sync_policies::ApproximateTime<fusion::Twists, fusion::Twists> MySyncPolicy;

Synchronizer<MySyncPolicy> sync(MySyncPolicy(100), sensorA_sub, sensorB_sub);
sync.registerCallback(boost::bind(&fusionCallback, _1, _2));
ros::spin();

return 0;

}

Note: All braces are proper in the actual code!

Update : The Effect of spin inside callback

On the suggestion of @dornhege I tried removing the spin inside callback and then my code started working. I was able to see the output wherein the TimeSynchronizer merged the data from both the topics appropriately. I was able to terminate the execution using ctrl+c as well.

However, the problem is that now my output is not getting published. Infact, that is the reason why I have the spin inside the callback. This is as per the basic tutorials for publisher and subscriber provided here

Thanks and Regards.

2014-01-28 17:27:16 -0500 marked best answer QT and ROS

Hi guys,

I have recently started using Qt for some basic GUI front end for my applications in ROS. I am currently using Qmake directly to perform the necessary operations with my ROS program.

I would like to know what is the benefit of using the Qt-ROS package over the normal Qt? Because I am currently developing my Qt app with the help of Qt creator and using terminal signals for various push buttons and other such operations.

Is there any benefit other than having Qt inside the ROS package?

2014-01-28 17:26:41 -0500 marked best answer Husky A200 crashed after Ubuntu 12.04 and Fuerte update

Hi,

I updated the onboard mini-ITX PC in Husky A200 with Ubuntu 12.04 and ROS Fuerte today. while the installations were successful and i was able to complete all the procedures including the download of clearpath packages for Ubuntu 12.04 the system repeatedly keeps saying

"unable to communicate with the master"

Initially I downloaded the various clearpath packages for husky including,

ros-fuerte-clearpath-husky-robot

ros-fuerte-clearpath-husky

ros-fuerte-clearpath-common

ros-fuerte-clearpath-kinect

I performed the steps provided in husky page which is briefly mentioned below.

roscd clearpath_common
sudo ./setup_udev.bash
roscd clearpath_bringup/upstart
sudo ./install.bash eth0 administrator husky_bringup

And finally,

sudo service clearpath start

However, for any further ROS command it mostly says,

unable to communicate with the master!

Interestingly I found that the install.bash file for fuerte also contains the name electric in several places. Should I modify this to fuerte instead?

Looking for some suggestions on restoring the communications in Husky,

Thanks.

2014-01-28 17:26:40 -0500 marked best answer Shell Script and C Program in ROS

Hi,

I have been using ROS now for quiet a good time and have been able to achieve several applications. However, recently i came up with a new requirement of having the capability to make ROS run shell scripts and C programs. Although I have some idea on this using some crude Linux methods, I would like to know if there is any formal method of being able to do this?

I have a custom code for a specific application written in C and the operations of the code is invoked using shell commands. I would like to incorporate this into ROS environment to complete my task.

Any relevant information could help me on this.

I am using Ubuntu 12.04 with ROS-fuerte and another system with Ubuntu 11.10 and ROS-electric.

Thanks.

2014-01-28 17:26:16 -0500 marked best answer Multi machine communication through Internet.

Hi All,

I have been using ROS for a while now and most of my activities involve multi-machine communication. However, all this happens in a network formed with a single router (LAN) in the same subnet.

My question is, is it possible to achieve multi-machine communication using ROS in a global scale? I believe it is definitely possible with complex TCP/IP programming or using the concept of server/ client. However, i would like to know are there any simpler techniques to achieve this the way I have been able to do simple multi-master communication using ROS in LAN.

It would be great if someone would be able walk me through the beginner's steps for this.

Thanks.

2014-01-28 17:25:21 -0500 marked best answer No output from /imu/data

Hi People,

I am working on Husky A200 Robot from clearpath. I have got an issue with the imu_um6 node of the Robot.

The follwoing is an update of the question with a new form of output that appears simpler to be solved in ros answers:

when I try to run roslaunch imu_um6 test.launch

the following is the output:

SUMMARY

PARAMETERS

  • /imu_um6_node/port

  • /rosdistro

  • /rosversion

NODES

/

imu_pose (imu_um6/imu_pose.py)

imu_tf (tf/static_transform_publisher)

imu_um6_node (imu_um6/imu_um6_node.py)

rviz (rviz/rviz)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found

ERROR: cannot launch node of type [imu_um6/imu_um6_node.py]: can't locate node [imu_um6_node.py] in package [imu_um6]

Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading'="" from="" '="" usr="" lib="" python2.7="" threading.pyc'=""> ignored

process[imu_tf-2]: started with pid [7153]

ERROR: cannot launch node of type [imu_um6/imu_pose.py]: can't locate node [imu_pose.py] in package [imu_um6]

Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading'="" from="" '="" usr="" lib="" python2.7="" threading.pyc'=""> ignored

process[rviz-4]: started with pid [7154]


After this even my rviz shows up but there is no change in the position or orientation of the imu_link frame whatever motions I create with the hardware...

Any help in debugging this would highly be appreciated. Thanks.

2014-01-28 17:25:13 -0500 marked best answer rviz integration with different frames and sensors

Heyy People,

I am a recent user of ROS and rviz. I am currently using Husky A200 for my project activities and I found rviz to be particularly interesting.

I displayed my Hokoyu LIDAR output on rviz. However, there was still an error shown on the .Global parameters section saying the frame /laser does not exist. This happens further, to any new frame that I wish to see but that does not exist in the drop-down list.

How should I modify rviz so that these frames are visible in the dropdown list or work with no errors? Further, I am wanting to solve this issue in the context of localization and mapping so that I see in real-time the map development using rviz.

My tf frames only consists of the Camera frames from my Kinect as follows: /camera_link

/camera_rgb_frame , /camera_depth_frame

/camera_rgb_optical_frame , /camera_depth_optical_frame

Any help in this regards would be appreciated. Thanks.

2014-01-28 17:25:06 -0500 marked best answer Plotting Lidar Scan data in rviz

Hi People,

I've been recently working on ROS with my new Husky A200 Robot from Clearpath. Platform Details: OS - Ubuntu 11.10 ROS - ros-electric-desktop-full Sensor - Hokuyo Lidar Issue - rviz output for laser scan

I opened rviz in its default state using

rosrun rviz rviz -l

Later I tried to add an interface for LaserScan and in the topics field I chose /lidar/scan However, I dont see any output and instead I get the error message as shown below:

topic: no message received

Transform:sender=/lidar/hokuyo : For frame [laser]: Frame [laser] does not exist

A simple command like rxplot /lidar/scan gives me the data from my Lidar scanner which implies I am able to communicate with the sensor otherwise.

looking forward for a reply that could help me proceed with my Lidar. Thanks.

2014-01-28 17:25:03 -0500 marked best answer Kinect with Husky A200

Hi, I am trying to use the package/ lauch file - husky_kinect/ explore.launch provided by clearpath to interface kinect with Husky, using Multiple machine communication from my Laptop connected through Wi-fi.

However, I get the following message in the terminal:


core service [/rosout] found

process[clearpath/robots/default/husky/clearpath_base-1]: started with pid [3430]

process[clearpath/robots/default/openni_node1-2]: started with pid [3431]

process[clearpath/robots/default/kinect_base_link-3]: started with pid [3434]

process[clearpath/robots/default/kinect_base_link1-4]: started with pid [3435]

process[clearpath/robots/default/kinect_base_link2-5]: started with pid [3436]

process[clearpath/robots/default/kinect_base_link3-6]: started with pid [3437]

process[clearpath/robots/default/skim1-7]: started with pid [3438]

process[clearpath/robots/default/passthrough1-8]: started with pid [3439]

process[clearpath/robots/default/ClearpathDemoExplore1-9]: started with pid [3440]

[ERROR] [WallTime: 1332237175.981882] Connection error on /dev/clearpath. Will retry every second.

[ INFO] [1332237185.228103655]: [/clearpath/robots/default/openni_node1] No devices connected.... waiting for devices to be connected

[ INFO] [1332237186.241847581]: [/clearpath/robots/default/openni_node1] No devices connected.... waiting for devices to be connected

[ INFO] [1332237187.251546161]: [/clearpath/robots/default/openni_node1] No devices connected.... waiting for devices to be connected

[ INFO] [1332237188.267365562]: [/clearpath/robots/default/openni_node1] No devices connected.... waiting for devices to be connected

[ INFO] [1332237189.279634720]: [/clearpath/robots/default/openni_node1] No devices connected.... waiting for devices to be connected


I have been previously able to establish multi-machine communication and have even done teleoperation this way.

Any help would be appreciated. Thanks

2014-01-13 03:53:28 -0500 received badge  Good Answer (source)
2013-12-02 19:08:59 -0500 received badge  Guru (source)
2013-12-02 19:08:59 -0500 received badge  Great Answer (source)
2013-10-16 22:58:06 -0500 received badge  Good Answer (source)
2013-07-28 21:56:32 -0500 received badge  Nice Answer (source)