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

renarded's profile - activity

2022-12-24 02:35:52 -0500 received badge  Good Question (source)
2022-11-04 15:33:45 -0500 received badge  Nice Question (source)
2021-12-23 04:50:21 -0500 received badge  Favorite Question (source)
2020-09-07 19:43:29 -0500 received badge  Famous Question (source)
2020-08-19 03:29:58 -0500 commented question communicate between foxy and dashing

I'm having the exact same issue with the same setup (but using VMs instead with a bridged adapter). I tried with eloquen

2020-08-19 03:19:03 -0500 commented question communicate between foxy and dashing

I'm having the exact same issue with the same setup (but using VMs instead with a bridged adapter). I tried with eloquen

2020-08-19 03:18:46 -0500 commented question communicate between foxy and dashing

I'm having the exact same issue with the same setup (but using VMs instead with a bridged adapter). I tried with eloquen

2020-08-19 03:18:03 -0500 commented question communicate between foxy and dashing

I'm having the exact same issue with the same setup (but using VMs instead with a bridged adapter). I tried with eloquen

2020-08-19 03:17:29 -0500 commented question communicate between foxy and dashing

I'm having the exact same issue with the same setup (but using VMs instead with a bridged adapter). I tried with eloquen

2020-08-11 00:01:11 -0500 received badge  Notable Question (source)
2020-07-31 14:52:41 -0500 received badge  Popular Question (source)
2020-06-04 08:18:10 -0500 asked a question Why should we use destroy_node() for Python nodes in ROS2?

Why should we use destroy_node() for Python nodes in ROS2? Hi everyone, In the ROS2 examples using rclpy (for example t

2019-04-24 09:40:58 -0500 received badge  Taxonomist
2019-03-07 19:50:33 -0500 received badge  Favorite Question (source)
2019-03-07 19:50:32 -0500 received badge  Good Question (source)
2018-10-02 06:42:45 -0500 received badge  Nice Question (source)
2017-12-25 05:50:24 -0500 received badge  Enlightened (source)
2017-12-25 05:50:24 -0500 received badge  Good Answer (source)
2017-08-29 04:56:23 -0500 received badge  Famous Question (source)
2017-05-25 03:58:10 -0500 received badge  Notable Question (source)
2017-05-25 03:58:10 -0500 received badge  Popular Question (source)
2017-03-02 17:55:35 -0500 received badge  Famous Question (source)
2017-01-27 18:18:05 -0500 received badge  Nice Answer (source)
2017-01-17 04:30:30 -0500 commented answer Moveit! move_group segmentation fault on Ubuntu Mate 16.04 with Raspberry Pi 3 (ROS kinetic)

@v4hn thanks for your advice, I will try that when I have time and will let you know about the result

2017-01-16 09:01:03 -0500 commented answer Should I choose to write a URDF manually or export URDF by Solidworks?

@shawnysh Each joint origin depends on the parent link. The origin of a link (in visual) is the origin of the visual part depending on the specific link (it's kind of a local offset origin). You have to export each mesh with a local origin (zero)

2017-01-13 11:07:35 -0500 answered a question Should I choose to write a URDF manually or export URDF by Solidworks?

I first tried to use SW to URDF and had many problems with meshes coordinates, and some other problems I don't remember now.

By the time I almost fixed everything I had a good understanding of how URDF was working, and I discovered xacro. Now I am only using xacro to produce my URDF.

Some points against using this SW to URDF :

  • everytime you update your file on Solidworks you need to export everything again. In my case I am running Ubuntu on my computer, and am not the one doing the mechanical design. It means I had to install SW on my Windows, and everytime I had to change something I had to restart my computer, go to Windows, run the plugin, etc, etc.

  • The development of the plugin is not supported anymore

  • One day you will need to debug something in your URDF. It will be harder if you don't know how it's made

  • With this plugin you can't use xacro, which is a great tool and will save you some time in the future

The SW to URDF plugin has both positive points and negative points. I think it can be very useful in some cases. But personally, from my experience, I would suggest to create a xacro file instead of using the plugin.

2017-01-13 10:40:56 -0500 asked a question Understanding and using IterativeParabolicTimeParameterization

I’m a little bit confused about IterativeParabolicTimeParameterization and how to use it :

  1. As I understood it is currently used internally by Moveit! after the planner found the IK solution, to add velocities and accelerations on the trajectory while checking for collisions. And then we can use it again to modify the trajectory as we wish. Is it correct ?

  2. What are all the things we can do with IterativeParabolicTimeParameterization ? From the source code it’s hard for me to guess every possibility. What are the different options we have to modify a trajectory ? And what kind of modification can we make (on position, velocity, acceleration) ?

  3. I am currently having issues with my robot (6dof robotic arm), the velocity from the Moveit! trajectory is weird : sometimes it decreases in the middle of the trajectory (and then increases again), making the robot almost stop multiple times in one trajectory, which is not acceptable for my use case. (that’s not the point here, but this error only occurs on kinetic, I was not having this issue at all on indigo. For more info about what I mean, check out https://github.com/ros-planning/movei... , I get the exact same kind of behavior). My question is : Could IterativeParabolicTimeParameterization be responsible of that (and what could possibly have happened between indigo and kinetic), and is there a way I can ask Moveit! to make the velocity increasing, then staying constant, then decreasing ?

  4. Can IterativeParabolicTimeParameterization modify only a part of the trajectory ? For example I also would like to reduce the acceleration only at the very beginning and at the very end of the trajectory, in order to enable the robot to start and stop more slowly, while keeping the same behavior for the rest of the trajectory. (something like 3% - 94% - 3% of the trajectory : the 94% in the middle stays the same, or adapt to keep the same global time with the modified beginning and ending)

  5. I was only speaking about IterativeParabolicTimeParameterization in this question. Is there another way to do what I want to do in those questions, that I didn’t think about ?

Any help would be appreciated :) Thanks in advance

2017-01-11 10:28:40 -0500 commented question Moveit! move_group segmentation fault on Ubuntu Mate 16.04 with Raspberry Pi 3 (ROS kinetic)

@tommytwoeyes I've heard that there will be no Pi 4 for 2017, but many improvement on OSes around RPI3. RPI3 is powerful enough for most ROS applications, so I think you'd better start with Pi3 now.

2017-01-11 01:24:14 -0500 received badge  Notable Question (source)
2017-01-10 14:42:33 -0500 received badge  Student (source)
2017-01-10 14:42:28 -0500 received badge  Self-Learner (source)
2017-01-10 14:42:28 -0500 received badge  Teacher (source)
2017-01-10 14:30:21 -0500 commented answer Moveit missing rosdep dependencies on raspbian jessie

@collin What steps or tutorial did you follow to get ROS indigo running on RPI3 with Raspbian Jessie ? Same as 130s, I've never heard of that before

2017-01-10 14:26:35 -0500 answered a question Moveit! move_group segmentation fault on Ubuntu Mate 16.04 with Raspberry Pi 3 (ROS kinetic)

I finally solved my problem :

I had to remove all geometry stuff from my URDF file : visual and collision, including box, cylinder and meshes. That way move_group is not having this segfault and everything is running.

So I'm guessing I am missing some dependencies or packages on my Raspberry Pi 3 with armhf (reminder : everything works well on my 64 bit laptop and on my 32 bit laptop).


Note : this is only a partial answer, as now I have another problem : collisions will not be detected because I removed them from the URDF.

2017-01-06 01:39:35 -0500 commented answer Moveit missing rosdep dependencies on raspbian jessie

Did you manage to launch moveit move_group after that ? I did the same as you and I get a segfault Thread 1 "move_group" received signal SIGSEGV, Segmentation fault. ( http://answers.ros.org/question/25060... )

2017-01-06 01:35:56 -0500 received badge  Popular Question (source)
2016-12-22 05:22:50 -0500 received badge  Editor (source)
2016-12-22 05:08:26 -0500 asked a question Moveit! move_group segmentation fault on Ubuntu Mate 16.04 with Raspberry Pi 3 (ROS kinetic)

Hi everyone,

I am currently trying to run ROS kinetic with Moveit! on my Raspberry Pi 3 board.

I successfully installed Ubuntu Mate 16.04 ( https://ubuntu-mate.org/raspberry-pi/ ), ROS kinetic ( http://wiki.ros.org/kinetic/Installat... ) and Moveit! packages on the Raspberry.

I also successfully built all the packages for my custom robot with catkin. And I can launch my nodes, set robot_description param, etc... The problems comes when I launch move_group (with move_group.launch from my moveit config folder)

Note that everything is working fine on my Ubuntu 16.04 desktop installation, I created and tested all my packages. Here is what is happening on my laptop, while running "roslaunch my_robot_package_moveit_config move_group.launch" :

...
...
[ INFO] [1482395047.420033154]: Loading robot model 'my_robot'...
[ INFO] [1482395047.511544563]: Publishing maintained planning scene on 'monitored_planning_scene'
[New Thread 0x7fffcbdf8700 (LWP 5206)]
...
...

However, on the Raspberry Pi 3 with Ubuntu Mate, with the exact same installation, config and files :

NODES
  /
    move_group (moveit_ros_move_group/move_group)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[move_group-1]: started with pid [17610]
[ INFO] [1482398385.724625628]: Loading robot model 'my_robot'...
[ INFO] [1482398386.383339632]: Loading robot model 'my_robot'...
[move_group-1] process has died [pid 17610, exit code -11, cmd /opt/ros/kinetic/lib/moveit_ros_move_group/move_group __name:=move_group __log:=/home/niryo/.ros/log/d73c13fc-c826-11e6-b1b9-b827eb50f10b/move_group-1.log].
log file: /home/my_robot/.ros/log/d73c13fc-c826-11e6-b1b9-b827eb50f10b/move_group-1*.log

I also launched move_group.launch with debug:=true :

...
... 
[ INFO] [1482398405.376777619]: Loading robot model 'my_robot'...

Thread 1 "move_group" received signal SIGSEGV, Segmentation fault.
0x76f73f96 in std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) ()
   from /opt/ros/kinetic/lib/libmoveit_planning_scene_monitor.so.0.9.3
...
...

I also tried with Ubuntu ARM ( https://wiki.ubuntu.com/ARM/RaspberryPi ) and I got the same error.

Does anyone know how to fix that ? Is it a Raspberry Pi relative problem ? Or Ubuntu version problem ? Or a Moveit! problem ?

Thanks

2016-11-28 15:25:19 -0500 asked a question Multiple Service servers vs one Service server with an bigger message structure ?

Hi everyone,

This question is mostly about design.

Here is what I want to do :

I have one node which acts as a server (with Service). It receives an instruction, and does an associated function.

Multiples functions can be called through Service servers. But only one at a time (when a function is launched no other call can be successfuly handled, a warning or error is returned).

Those functions are doing a similar task but with different parameters. What I would like is to find a nice way to handle all kinds of messages without duplicating too much code, and without having too many Service servers.

So I have thought of 2 solutions :

Solution A :

I run multiple Services servers. Each has a callback to handle one kind of message, for one particular function.

Ex : server_1, callback_1, with message_1
server_2, callback_2, with message_2
...

Problem : A lot of servers and duplicate code on callbacks

Solution B :

I run only one Service server. Then I create an aggregated message like :

Message :
- command_type
- message_1
- message_2
...

And then I handle the call in the callback like this :

- do some global stuff
- switch (command_type) : redirect to the right function with the right parameters

Problem : every time messages only use a few part of the total message

So, I am asking what would be the best approach ? Or maybe there is another way ? And what would be suitable for scalability ?

One more thing to (maybe) take into account : I am running Service client(s) on a browser with Javascript, on a different machine. I call those Service servers through rosbridge. Can multiple Service connections can affect network performance ?

2016-11-28 07:18:22 -0500 received badge  Supporter (source)
2016-11-28 00:50:33 -0500 received badge  Enthusiast