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

waspinator's profile - activity

2023-01-20 00:00:30 -0500 received badge  Popular Question (source)
2023-01-20 00:00:30 -0500 received badge  Notable Question (source)
2022-09-19 10:52:33 -0500 edited answer pass agruments/parameters to included launch file in yaml

use "arg" instead of "param" to pass arguments into an included launch file. Names and values must all be strings in quo

2022-09-19 10:37:56 -0500 marked best answer pass agruments/parameters to included launch file in yaml

How would you pass arguments / parameters to an included launch file? The following doesn't work and gives the following error: Unexpected key(s) found in 'include': {'param'}

launch:

- include:
    file: "$(find-pkg-share test)/launch/test.launch.py"
    param:
    -
      name: "color"
      value: "red"
2022-09-19 10:37:51 -0500 answered a question pass agruments/parameters to included launch file in yaml

use "arg" instead of "param" to pass arguments into a included launch file launch: - include: file: "$(find-pkg-sh

2022-09-13 15:42:55 -0500 asked a question pass agruments/parameters to included launch file in yaml

pass agruments/parameters to included launch file in yaml How would you pass arguments / parameters to an included launc

2022-09-10 10:24:33 -0500 commented answer Best way to integrate ndarray into ros2

did you end up finding a solution to publishing ndarrays without converting to a list?

2022-09-09 15:24:06 -0500 commented answer SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

I'm not sure if this is strictly a Rolling issue. I see the same error on Humble.

2021-02-24 20:02:16 -0500 received badge  Famous Question (source)
2021-02-24 20:02:16 -0500 received badge  Notable Question (source)
2021-01-20 10:41:10 -0500 received badge  Famous Question (source)
2020-12-07 02:37:57 -0500 received badge  Notable Question (source)
2020-12-07 02:37:57 -0500 received badge  Popular Question (source)
2020-11-16 13:04:42 -0500 edited question ROS2 rosbag2 read bag file

ROS2 rosbag2 read bag file I recorded data using ros2 bag record --all --output test.bag in ROS2 Foxy. In ROS1 I could r

2020-11-16 13:04:39 -0500 edited question ROS2 rosbag2 read bag file

ROS2 read bag file I recorded data using ros2 bag record --all --output test.bag in ROS2 Foxy. In ROS1 I could read the

2020-11-16 13:04:39 -0500 received badge  Associate Editor (source)
2020-11-16 12:33:29 -0500 asked a question ROS2 rosbag2 read bag file

ROS2 read bag file I recorded data using ros2 bag record --all --output test.bag in ROS2 Foxy. In ROS1 I could read the

2020-10-19 15:09:02 -0500 received badge  Famous Question (source)
2020-08-07 17:45:27 -0500 received badge  Famous Question (source)
2020-07-17 05:40:26 -0500 received badge  Popular Question (source)
2020-07-14 14:55:57 -0500 edited question using cv_bridge with python 3.6 on ubunut 16.04

using cv_bridge with python 3.6 on ubunut 16.04 I need to use python 3.6 in a kinetic ROS package that manipulates image

2020-07-14 13:57:26 -0500 asked a question using cv_bridge with python 3.6 on ubunut 16.04

using cv_bridge with python 3.6 on ubunut 16.04 I need to use python 3.6 in a kinetic ROS package that manipulates image

2020-03-30 04:00:23 -0500 received badge  Notable Question (source)
2020-03-27 15:28:17 -0500 commented answer defining a service message with no return value

still get an error when trying to return. Do I have to modify the Test.srv definition? service cannot process request: h

2020-03-23 06:24:53 -0500 received badge  Popular Question (source)
2020-03-22 18:06:13 -0500 edited question defining a service message with no return value

defining a service message with no return value I want to create a service that doesn't return anything, but returning N

2020-03-22 18:05:22 -0500 asked a question defining a service message with no return value

defining a service message with no return value I want to create a service that doesn't return anything, but returning N

2019-12-22 14:52:23 -0500 received badge  Teacher (source)
2019-12-22 14:52:23 -0500 received badge  Necromancer (source)
2019-10-24 14:26:34 -0500 received badge  Famous Question (source)
2019-08-01 17:19:55 -0500 marked best answer action server vs publisher + service

When would you use a Publisher + Service Node vs an Action Node? As far as I can tell they seem equivalent, besides the fact that anything can subscribe to the publisher, while only the client gets data back from an Action server.

2019-07-11 08:55:00 -0500 marked best answer [docker] how to make sure nodes start after master?

I often find that my nodes try to start before master is ready, which breaks the system. How do I make sure that the nodes wait for master to be ready (or continually retry)? Using Docker's depends_on isn't guaranteed to work, since Docker only knows when the container is up, but not when ROS master is up.

docker-compose.ymal

version: '2'

services:

  robot-core:
    build:
      context: .
      dockerfile: robot_core.dockerfile
    volumes:
      - ../data/logs/robot_core:/root/.ros/

  robot-plan:
    build:
      context: .
      dockerfile: robot_plan.dockerfile
    environment:
      - "ROS_HOSTNAME=robot-plan"
      - "ROS_MASTER_URI=http://robot-core:11311"
    volumes:
      - ../data/logs/robot_plan:/root/.ros/

  resolvable:
    image: mgood/resolvable
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock
      - /etc/resolv.conf:/tmp/resolv.conf

robot-core.dockerfile (ros master node)

FROM ros:kinetic

RUN apt-get update \
    && apt-get install ros-kinetic-rosbridge-server --yes

RUN ln -snf /bin/bash /bin/sh
RUN mkdir -p /ros_workspace/src/robot_core
WORKDIR /ros_workspace
COPY ["robot_core", "/ros_workspace/src/robot_core"]
RUN source /opt/ros/kinetic/setup.bash; catkin_make

EXPOSE 9090 11311 33690

CMD source devel/setup.bash; roslaunch robot_core robot_core.launch

robot-core launch file

<launch>
  <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" >
     <arg name="port" value="9090"/>
  </include>
</launch>

robot-plan.dockerfile (ROS slave node)

FROM ros:kinetic

RUN ln -snf /bin/bash /bin/sh
RUN mkdir -p /ros_workspace/src/robot_msgs
RUN mkdir -p /ros_workspace/src/robot_plan
WORKDIR /ros_workspace
COPY ["robot_msgs", "/ros_workspace/src/robot_msgs"]
COPY ["robot_plan", "/ros_workspace/src/robot_plan"]
RUN source /opt/ros/kinetic/setup.bash; catkin_make

EXPOSE 9090 11311 33690

CMD source devel/setup.bash; roslaunch robot_plan robot_plan.launch

robot-plan launch file

<launch>
    <node name="robot_plan" pkg="robot_plan" type="plan_server.py" output="screen" respawn="true">
        <rosparam command="load" file="$(find robot_plan)/config/config.yaml" />
    </node>
</launch>

reference: https://github.com/osrf/docker_images...

2019-05-24 09:29:34 -0500 received badge  Famous Question (source)
2019-05-20 02:22:08 -0500 marked best answer position and velocity control of wheeled robot

I'm trying to control both position and velocity of a wheeled robot using ROS. Are there packages that are designed to do motion planning for this use case? Is there an example in ROS of using multiple PIDs to do something like this instead?

image description

2019-03-06 17:13:42 -0500 received badge  Famous Question (source)
2019-03-05 14:52:44 -0500 marked best answer pass python objects in ROS messages and services

Is there a way to define a ROS message or service with arbitrary python objects? Is the only option to use a string and use json.dumps / json.loads?

2019-03-05 14:52:12 -0500 received badge  Famous Question (source)
2019-01-11 00:15:35 -0500 received badge  Famous Question (source)
2018-12-06 06:46:15 -0500 received badge  Popular Question (source)
2018-12-06 06:46:15 -0500 received badge  Notable Question (source)
2018-12-06 06:46:15 -0500 received badge  Famous Question (source)
2018-10-24 17:31:01 -0500 received badge  Famous Question (source)
2018-09-18 19:52:45 -0500 marked best answer Script ROS to start at boot

I'm following the http://wiki.ros.org/roslibjs/Tutorial... example and running it in docker container.

It works if I manually type in the three commands by hand

  1. roscore &
  2. rosrun actionlib_tutorials fibonacci_server &
  3. roslaunch rosbridge_server rosbridge_websocket.launch

but now I'd like to start the server automatically when the container runs.

I tried to make a script with those 3 commands and call it once the container is booted, but it doesn't work. It seems maybe some of the later commands are being run before the earlier ones finish whatever it is they're doing.

I can make it work by adding sleep 10 commands between the ros commands, but that doesn't seem like a good solution. What happens if something takes longer than 10 seconds to start?

Is there a proper way to script ROS so that you don't have to manually type in commands? Would it involve systemd? I saw some answers talk about upstart, but that's not used much anymore.

Thanks

output after script is run

[ERROR] [1473788676.856009756]: [registerPublisher] Failed to contact master at [localhost:11311].  Retrying...
... logging to /root/.ros/log/bd282b86-79d9-11e6-a6d8-0242ac110002/roslaunch-7cc22b76aecc-41.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

... logging to /root/.ros/log/bd2b0c3e-79d9-11e6-898e-0242ac110002/roslaunch-7cc22b76aecc-43.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://7cc22b76aecc:43707/
ros_comm version 1.12.2


SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.2

NODES

auto-starting new master
started roslaunch server http://7cc22b76aecc:43708/

SUMMARY
========

PARAMETERS
 * /rosbridge_websocket/address:
 * /rosbridge_websocket/authenticate: False
 * /rosbridge_websocket/delay_between_messages: 0
 * /rosbridge_websocket/fragment_timeout: 600
 * /rosbridge_websocket/max_message_size: None
 * /rosbridge_websocket/port: 9090
 * /rosbridge_websocket/retry_startup_delay: 5
 * /rosdistro: kinetic
 * /rosversion: 1.12.2

NODES
  /
    rosapi (rosapi/rosapi_node)
    rosbridge_websocket (rosbridge_server/rosbridge_websocket)

auto-starting new master
process[master]: started with pid [71]
process[master]: started with pid [75]
ROS_MASTER_URI=http://7cc22b76aecc:11311/

setting /run_id to bd282b86-79d9-11e6-a6d8-0242ac110002
[ INFO] [1473788677.469727221]: Connected to master at [localhost:11311]
ROS_MASTER_URI=http://localhost:11311

ERROR: Unable to start XML-RPC server, port 11311 is already in use
Unhandled exception in thread started by <bound method XmlRpcNode.run of <rosgraph.xmlrpc.XmlRpcNode object at 0x7f2dd3104990>>
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py", line 212, in run
    self._run()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py", line 281, in _run
    self._run_init()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py", line 231, in _run_init
    self.server = ThreadingXMLRPCServer((bind_address, port), log_requests)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/xmlrpc.py", line 112, in __init__
    SimpleXMLRPCServer.__init__(self, addr, SilenceableXMLRPCRequestHandler, log_requests)
  File "/usr/lib/python2.7/SimpleXMLRPCServer.py", line 593, in __init__
    SocketServer.TCPServer.__init__(self, addr, requestHandler, bind_and_activate)
  File "/usr/lib/python2.7/SocketServer.py", line 417, in __init__
    self.server_bind()
  File "/usr/lib/python2.7/SocketServer.py", line 431, in server_bind
    self ...
(more)
2018-08-09 07:11:30 -0500 received badge  Popular Question (source)
2018-08-09 07:11:30 -0500 received badge  Notable Question (source)
2018-07-17 08:09:25 -0500 received badge  Famous Question (source)