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

dual-swordsman's profile - activity

2023-05-22 08:55:33 -0500 received badge  Famous Question (source)
2023-05-14 23:52:00 -0500 received badge  Famous Question (source)
2023-05-14 23:52:00 -0500 received badge  Notable Question (source)
2023-05-14 23:52:00 -0500 received badge  Popular Question (source)
2023-02-22 01:55:21 -0500 received badge  Notable Question (source)
2022-10-06 19:37:21 -0500 received badge  Famous Question (source)
2022-10-06 19:37:21 -0500 received badge  Notable Question (source)
2022-10-06 19:37:21 -0500 received badge  Popular Question (source)
2022-08-01 05:57:28 -0500 received badge  Popular Question (source)
2022-08-01 03:58:05 -0500 marked best answer Why rviz crash when using robot_upstart?

Hi everyone, really need some help in getting rviz to work with robot_upstart. I'll try to describe the issue and what I have tried as detailed as possible.

1) Requirement:

I would like to make an integrated roslaunch that start when the robot computer boot/turned on. My integrated roslaunch file includes these ROS nodes:

  • Arduino rosserial node (USB connected)
  • HMI node that is based on QT (touchscreen HDMI connected)
  • Hokuyo LiDAR using urg_node (USB connected)
  • Rviz node which received data from hokuyo lidar for Lidar reading
  • QR code reading node (using USB Webcam)

2) Specifications:

  • ROS Melodic
  • Ubuntu 18.04
  • Jetson Xavier AGX
  • Arduino Due

3) Issue

When I boot up the robot computer, every node except for rviz working as I intended. Note that I already tested the roslaunch before implementing the robot_upstart and the rviz node CAN work with the lidar. It can display live update from lidar reading. I used multiple steps and tutorial to implement robot_upstart in the robot computer.

First, I follow the step from this tutorial https://roboticsbackend.com/make-ros-... . I used this command to install my roslaunch to become:

rosrun robot_upstart install agv_slam/launch/agv_main.launch --job agv_uia  --symlink

However, this only allow my ros nodes to be run in the background only. So no display at all from my HMI node and camera node. I then tried these steps: https://github.com/Khalaf90/robot_ups... and https://stackoverflow.com/questions/6.... This tutorial basically ask me to modified my roslaunch service which is named as agv_uia and this service file in produced from the robot_upstart command. I did as the tutorial did and below is my service file:

sudo nano /lib/systemd/system/YourServiceName.service

This is the agv_uia.service file:

[Unit]
Description="bringup agv_uia"
After=network.target
After=display_manager.service
Wants=display_manager.service

[Service]
Type=simple
Environment=DISPLAY=:0
Environment="XAUTHORITY=/run/user/1000/gdm/Xauthority"
Environment="/home/mic-710aix"
Environment="XDG_RUNTIME_DIR=/home/mic-710aix/catkin_ws/tmp"
ExecStart=/usr/sbin/agv_uia-start

[Install]
WantedBy=multi-user.target

Even when I edited this, RVIZ still can't worked with robot_startup. The error that I got was:

rviz crashed with SIGABRT in__gnu_cxx::__verbose_terminate_handler()
2022-08-01 03:57:57 -0500 answered a question Why rviz crash when using robot_upstart?

Hi all, I just want to update that I already solved this. Apparently, there is a syntax error for home environment. Bel

2022-07-28 10:49:41 -0500 marked best answer The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

Hi everyone,

A) My setup:

Xubuntu 20.04, ROS2 Foxy, microros foxy 2.05, Arduino Due, Jetson Nano 4GB

B) My question:

I just trying out microROS with my Arduino Due. However, this error come out when I try to just compile without uploading the code. Note that I already successfully build microros workspace according to this guide: https://micro.ros.org/docs/tutorials/... Can anyone help?

The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

image description

C) What I have tried

  • I already did the patch SAMD guide based on this https://github.com/micro-ROS/micro_ro...

  • I already uninstall and install back Arduino IDE

  • I already try basic blink code to upload to my Arduino Due and it works. So now the problem revolve around the microros library.

  • I already setup microros workspace

D) Below is my platform.txt

The location: /home/<username>/arduino/arduino-1.8.19/hardware/arduino/avr

# Arduino SAM Core and platform.
# ------------------------------
#
# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification

name=Arduino ARM (32-bits) Boards
version=1.6.12

# SAM3 compile variables
# ----------------------

compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

compiler.path={runtime.tools.arm-none-eabi-gcc-4.8.3-2014q1.path}/bin/
compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD
compiler.c.elf.cmd=arm-none-eabi-gcc
compiler.c.elf.flags=-Os -Wl,--gc-sections
compiler.S.cmd=arm-none-eabi-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD
compiler.cpp.cmd=arm-none-eabi-g++
compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD
compiler.ar.cmd=arm-none-eabi-ar
compiler.ar.flags=rcs
compiler.objcopy.cmd=arm-none-eabi-objcopy
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2hex.flags=-O binary
compiler.elf2hex.cmd=arm-none-eabi-objcopy
compiler.ldflags=
compiler.size.cmd=arm-none-eabi-size
compiler.define=-DARDUINO=
compiler.combine.flags=-u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid

# This can be overridden in boards.txt
build.extra_flags=

# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.cpp.extra_flags=
compiler.S.extra_flags=
compiler.ar.extra_flags=
compiler.elf2hex.extra_flags=
compiler.libraries.ldflags=


compiler.libsam.c.flags="-I{build.system.path}/libsam" "-I{build.system.path}/CMSIS/CMSIS/Include/" "-I{build.system.path}/CMSIS/Device/ATMEL/"

# USB Flags
# ---------
build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} -DUSBCON '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}'

# Default usb manufacturer will be replaced at compile time using
# numeric vendor ID if available or by board's specific value.
build.usb_manufacturer="Unknown"


# SAM3 compile patterns
# ---------------------

## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -mthumb -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file ...
(more)
2022-07-28 10:49:33 -0500 commented answer The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

Hi I found out that there is a similar issue based on #819 issue https://github.com/micro-ROS/micro_ros_arduino/issues/8

2022-07-28 08:14:36 -0500 answered a question microROS - rclc add subscription does not execute always the callback

Hi, microros is only to be use with ROS2 Foxy and latest. As far I know, microros is not compatible with ROS2 Dashing.

2022-07-28 08:11:06 -0500 edited question The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

The platform does not support 'compiler.libraries.ldflags' for precompiled libraries. Hi everyone, A) My setup: Xubun

2022-07-28 08:01:53 -0500 asked a question The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.

The platform does not support 'compiler.libraries.ldflags' for precompiled libraries. Hi everyone, A) My setup: Ubunt

2022-06-17 23:46:45 -0500 asked a question Why rviz crash when using robot_upstart?

Why rviz crash when using robot_upstart? Hi everyone, really need some help in getting rviz to work with robot_upstart.

2022-06-17 23:19:38 -0500 received badge  Famous Question (source)
2022-06-17 23:19:38 -0500 received badge  Notable Question (source)
2022-03-02 01:57:22 -0500 commented question Can key_teleop be use with ROS Melodic and how can I install the package?

I have updated the question with error message. Thank you.

2022-03-02 01:57:22 -0500 received badge  Commentator
2022-03-02 01:56:57 -0500 edited question Can key_teleop be use with ROS Melodic and how can I install the package?

Can key_teleop be use with ROS Melodic and how can I install the package? Hi everyone, I wanted to try to use the key_te

2022-03-02 01:56:57 -0500 received badge  Editor (source)
2022-03-02 01:55:22 -0500 edited question Can key_teleop be use with ROS Melodic and how can I install the package?

Can key_teleop be use with ROS Melodic and how can I install the package? Hi everyone, I wanted to try to use the key_te

2022-03-02 01:33:58 -0500 asked a question Can key_teleop be use with ROS Melodic and how can I install the package?

Can key_teleop be use with ROS Melodic and how can I install the package? Hi everyone, I wanted to try to use the key_te

2022-02-23 04:21:20 -0500 received badge  Popular Question (source)
2022-02-15 22:31:29 -0500 commented answer rosdep cannot initialise

Hi tfoote, thank you so much for pointing out the python version. I forgot that I changed the python default which is di

2022-02-15 22:17:14 -0500 marked best answer rosdep cannot initialise

System spec:

Ubuntu 18.04 ROS Melodic

Python 3.10.2 (when i run python --version)

Jetson Xavier

Description: I was following the official tutorial from ROS wiki on installing ROS Melodic but I having a problem when i tried to init rosdep.

Installation of rosdep was not a problem. the result is as follows:

sudo apt install python-rosdep
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-rosdep is already the newest version (0.21.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

However, the initialisation of rosdep return this:

sudo rosdep init
 Traceback (most recent call last):
  File "/usr/bin/rosdep", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 77, in <module>
    __import__('pkg_resources.extern.packaging.requirements')
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
    from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 672, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible
  File "/usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py", line 43, in load_module
    __import__(extant)
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
    collections.MutableMapping.register(ParseResults)
AttributeError: module 'collections' has no attribute 'MutableMapping'

Hence, I suspect it is due to python version. I hope I could get a second opinion on this.

2022-02-15 21:15:48 -0500 asked a question rosdep cannot initialise

rosdep cannot initialise System spec: Ubuntu 18.04 ROS Melodic Python 3.10.2 (when i run python --version) Jetson Xav

2021-05-05 08:47:25 -0500 received badge  Student (source)
2021-01-14 09:21:32 -0500 marked best answer How can we actually use Float32MultiArray to publish 2D array using Python?

Hi,

I am frustrated trying to understand the concept of Float32MultiArray. I have been reading the documentations from Float32MultiArray API , MultiArrayLayout and MultiArrayDimesion but I still don't get how to do it.

Code examples are mostly in C++ (which makes me more confuse that I already am) and many of them conclude to just make their own message file. Some suggest to slice and combine the two arrays into one array then publish it. In the subscriber, the array will be then slice and split up accordingly. My array is a 2*4096 so it is hard for me to do that really. Note that I am a amateur programmer. Please help addressing my question regarding this message type so that the future amateur like me could learn better. My specifications is ROS Indigo, Python 2.7.6 and Ubuntu 14.04. Yeah my tools are old.

My list of questions are as follows:

1) How do we publish and subscribe a Float32MultiArray (or any kind of MultiArray) in Python? What is the standard procedure or steps? From what I have read, I don't understand what is stride from MultiArrayDimesion ? Why do people use stride like this: What does this means mat.data[offset + i + dstride1*j] = num?

dstride0 = mat.layout.dim[0].stride
dstride1 = mat.layout.dim[1].stride
offset = mat.layout.data_offset
while not rospy.is_shutdown():
    tmpmat = np.zeros((3,3))
    for i in range(3):
        for j in range(3):
            num = random.randrange(0,10)
            mat.data[offset + i + dstride1*j] = num
            tmpmat[i,j] = num
    pub.publish(mat)
    rospy.loginfo("I'm sending:")
    print tmpmat,"\r\n"
    r.sleep()

2) Can Float32MultiArray publish 2 array at the same time? I found answer from 2010 post saying that ROS doesn't support 2D message publishing. Is ROS supporting it now in 2019?

3) If I were to make my own message, *can I declare 2 or more array in my message? *Would that message type works? Does ROS support that?

4) Is there any *detail guide or video on using this message type apart from API that has so little explanation ? *I really want to understand about this message type.

5) Any suggestion so that I could publish 2*4096 array of signal amplitude and time (nanosec) for signal processing in my subscriber?

I really hope any expert could address my questions. I think it is really related to ROS rather than my homework. The lack of documentation and examples in python really hinder me from understanding and overcoming this issue. Hope the answers to this question would benefit anyone who looking for the same answers.

Thank you in advance.

2019-12-10 22:29:25 -0500 received badge  Taxonomist
2019-11-13 00:58:42 -0500 received badge  Famous Question (source)
2019-08-29 09:34:17 -0500 received badge  Famous Question (source)
2019-08-29 09:34:17 -0500 received badge  Notable Question (source)
2019-07-19 12:37:59 -0500 received badge  Notable Question (source)
2019-06-19 20:57:09 -0500 received badge  Enthusiast
2019-06-18 02:06:14 -0500 received badge  Popular Question (source)
2019-06-17 17:47:34 -0500 commented question Why I got error "msg does not have header"?

ah my bad, thank you for pointing that out

2019-06-17 15:42:52 -0500 asked a question Why I got error "msg does not have header"?

Why I got error "msg does not have header"? Hi, I try to make a custom message with header to get the timestamp because