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

Wilsonator's profile - activity

2019-03-18 18:29:07 -0500 received badge  Student (source)
2017-06-13 20:49:30 -0500 received badge  Famous Question (source)
2016-11-22 07:41:14 -0500 received badge  Famous Question (source)
2016-09-01 12:51:17 -0500 received badge  Notable Question (source)
2016-09-01 12:30:38 -0500 commented question Launch on local machine using machine tag

Thanks, was just typo in this question. The problem still remains!

2016-08-31 05:15:22 -0500 received badge  Popular Question (source)
2016-08-30 16:04:05 -0500 asked a question Launch on local machine using machine tag

For a launch file that is part of a bigger project, I am using the following format:

<launch>
    <arg name="machine"/>

    <node pkg="atv" type="foo.py" name="foo"
        output="log" machine="$(arg machine)"/>
</launch>

This works great in a project where I create a launch file, include machines, then send the machine name to this included launch file as an argument.

However when trying to do testing of individual components, I would like to be able to use this launch file to launch on the current local machine.

There seems to be reference to a 'default_machine' in the code for launching nodes, but I cannot seem to figure out how to launch on it. Leacing machine as blank, or ="" is invalid. I have tried to send localhost while ROS_MASTER_URI=http://localhost:11311, ROS_HOSTNAME=localhost, I have also tried default_machine. Not luck!

Anyone know what I should set the machine tag to for launching the node on the local machine?

2016-08-09 16:24:49 -0500 received badge  Supporter (source)
2016-08-08 01:45:09 -0500 received badge  Notable Question (source)
2016-08-04 19:02:28 -0500 received badge  Editor (source)
2016-08-04 18:57:19 -0500 commented answer Arduino Due - Unable to sync with device - Then works fine

This did not work. See more details in my edit.

2016-08-04 17:57:39 -0500 received badge  Popular Question (source)
2016-07-29 18:37:28 -0500 asked a question Arduino Due - Unable to sync with device - Then works fine

I have an odd error occurring for my arduino Due.

I have a sketch which defined '#define USE_USBCON' and is running as a publisher. The baud rate is set 'nh.getHardware()->setBaud(115200);' with a value of 115200.

When I run rosserial_python to connect to the arduino (using the Programming Port, I cannot get the native port to work with ROS) I run the following command:

rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=115200

rosserial_python then outputs:

[INFO] [WallTime: 1469834947.678725] ROS Serial Python Node
[INFO] [WallTime: 1469834947.687998] Connecting to /dev/ttyACM0 at 115200 baud

Then paused for about 10-15 seconds and outputs:

[ERROR] [WallTime: 1469834964.796031] Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino

Immediately after this the program starts to work normally and outputs:

[INFO] [WallTime: 1469834965.178744] Note: publish buffer size is 512 bytes
[INFO] [WallTime: 1469834965.179308] Setup publisher on raw_pot_data [geometry_msgs/Vector3Stamped]

Why could this be occurring? While everything seems to be running fine after the first error, it does make me nervous that something is waiting to crash.

* EDIT *

I performed further testing as per Steven_Daniluk's suggestion, however 'while(!nh.connected()) {nh.spinOnce();}' did not work for me.

I have tried using the standard tutorial HelloWorld script, only adding a single line at the top:

#define USB_USBCON

The result was the same sync error, then a successful connection.

I tried adding 'while(!nh.connected()) {nh.spinOnce();}' after 'nh.advertise(chatter)', however this did not work either (same error).

Furthermore I have seen even worse behavior where it will be stuck permanently with the sync error, and only reloading the Arduino script appear to fix this.

I have no idea what is going on.