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

ChrisL8's profile - activity

2023-08-02 06:29:51 -0500 received badge  Good Answer (source)
2023-02-16 03:23:11 -0500 received badge  Self-Learner (source)
2023-02-16 03:23:11 -0500 received badge  Necromancer (source)
2022-05-13 08:32:42 -0500 received badge  Self-Learner (source)
2021-02-03 11:57:48 -0500 received badge  Famous Question (source)
2021-01-26 18:14:12 -0500 received badge  Nice Answer (source)
2020-09-01 02:43:19 -0500 received badge  Notable Question (source)
2020-08-31 09:17:28 -0500 answered a question What may be causing my map to sometimes rotates 180 degrees during operation?

This appears to be "caused" by the RPLIDAR being mounted "backwards", that is, the cord exiting toward the back of the r

2020-08-20 08:26:28 -0500 received badge  Popular Question (source)
2020-08-16 20:24:13 -0500 asked a question What may be causing my map to sometimes rotates 180 degrees during operation?

What may be causing my map to sometimes rotates 180 degrees during operation? Sometimes, while mapping or even while in

2020-08-11 06:34:00 -0500 received badge  Famous Question (source)
2020-07-30 16:47:24 -0500 received badge  Popular Question (source)
2020-07-28 07:08:42 -0500 received badge  Necromancer (source)
2020-07-25 11:54:28 -0500 answered a question ImportError: No module named rosmaster.master_api

I just had this exact same error and the issue was that I needed to run: source /opt/ros/noetic/setup.bash (or .zsh a

2020-07-25 11:38:40 -0500 marked best answer Cause path planning to take wider turns

I am having trouble getting my robot to find a path through doorways. Sometimes the global costmap just doesn't give enough space. A solution is to decrease the inflation_radius, however the result is that it plans paths with very tight corners, meaning sometimes the robot runs over items near the wall that stick out below the sensor level.

Is there a way to coerce the planner into accepting tight spaces when there is no alternative, like doorways, but take a wide birth around corners when it is possible?

It feels like a need another "inflation" box for "desired personal space".

2020-07-25 11:38:36 -0500 answered a question Cause path planning to take wider turns

This is an ancient question that never got one answer, so I'll throw up what I've found since 2015. The now famous ROS

2020-07-25 11:25:00 -0500 marked best answer What is a good gmapping alternative?

The ROS gmapping package appears to be orphaned. It took a long time to get into Medlodic, and is now in the same situation with Noetic.

I am thinking maybe this is my problem for still using gmapping in 2020?

So what are some good, maintained, easy to use for beginners, alternatives to gmapping in 2020?

I got started with gmapping using Turtlebot tutorials, and those were easy for me to follow and the package has always served me relatively well. I've tried Cartographer, but honestly it felt like an uphill battle against something that was never intended to work in ROS.

P.S. If the answer really is, "Cartographer is the best mapping system for ROS in 2020." then just give me the hard truth and I will dedicate my time to sorting out my issues with that instead of Gmapping.

2020-07-25 11:24:21 -0500 answered a question Unmet dependencies for ros desktop full

This is a slightly old question, but if you stumble on this with Ubuntu 20.04 Focal I found the offending package by doi

2020-07-18 03:08:09 -0500 commented answer What is a good gmapping alternative?

This looks very promising! I am going to try it immediately on my Melodic setup.

2020-07-17 17:33:46 -0500 received badge  Notable Question (source)
2020-07-16 19:21:02 -0500 received badge  Popular Question (source)
2020-07-16 14:00:15 -0500 marked best answer Actionlib connection_monitor.cpp fails when trying to compile ROS Medlodic from source

Here is the failure output:

[ 97%] Building CXX object CMakeFiles/actionlib.dir/src/connection_monitor.cpp.o
/home/chrisl8/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp: In member function ‘bool actionlib::ConnectionMonitor::waitForActionServerToStart(const ros::Duration&, const ros::NodeHandle&)’:
/home/chrisl8/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp:278:66: error: no matching function for call to ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(double)’
       boost::posix_time::milliseconds(time_left.toSec() * 1000.0f);
                                                                  ^
In file included from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:16,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/detail/platform_time.hpp:11,
                 from /usr/include/boost/thread/pthread/condition_variable.hpp:9,
                 from /usr/include/boost/thread/condition_variable.hpp:16,
                 from /usr/include/boost/thread/condition.hpp:13,
                 from /home/chrisl8/ros_catkin_ws/src/actionlib/include/actionlib/client/connection_monitor.h:43,
                 from /home/chrisl8/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp:36:
/usr/include/boost/date_time/time_duration.hpp:285:14: note: candidate: ‘template<class T> boost::date_time::subsecond_duration<base_duration, frac_of_second>::subsecond_duration(const T&, typename boost::enable_if<boost::is_integral<Functor>, void>::type*)’
     explicit subsecond_duration(T const& ss,
              ^~~~~~~~~~~~~~~~~~
/usr/include/boost/date_time/time_duration.hpp:285:14: note:   template argument deduction/substitution failed:
/usr/include/boost/date_time/time_duration.hpp: In substitution of ‘template<class T> boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(const T&, typename boost::enable_if<boost::is_integral<T> >::type*) [with T = double]’:
/home/chrisl8/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp:278:66:   required from here
/usr/include/boost/date_time/time_duration.hpp:285:14: error: no type named ‘type’ in ‘struct boost::enable_if<boost::is_integral<double>, void>’
In file included from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:16,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/detail/platform_time.hpp:11,
                 from /usr/include/boost/thread/pthread/condition_variable.hpp:9,
                 from /usr/include/boost/thread/condition_variable.hpp:16,
                 from /usr/include/boost/thread/condition.hpp:13,
                 from /home/chrisl8/ros_catkin_ws/src/actionlib/include/actionlib/client/connection_monitor.h:43,
                 from /home/chrisl8/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp:36:
/usr/include/boost/date_time/time_duration.hpp:270:30: note: candidate: ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>&)’
   class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration
                              ^~~~~~~~~~~~~~~~~~
/usr/include/boost/date_time/time_duration.hpp:270:30: note:   no known conversion for argument 1 from ‘double’ to ‘const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>&’
/usr/include/boost/date_time/time_duration.hpp:270:30: note: candidate: ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>&&)’
/usr/include/boost/date_time/time_duration.hpp:270:30: note:   no known conversion for argument 1 from ‘double’ to ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>&&’
make[2]: *** [CMakeFiles ...
(more)
2020-07-16 11:59:25 -0500 edited question What is a good gmapping alternative?

What is a good gmapping alternative? The ROS gmapping package appears to be orphaned. It took a long time to get into Me

2020-07-16 11:02:38 -0500 asked a question What is a good gmapping alternative?

What is a good gmapping alternative? The ROS gmapping package appears to be orphaned. It took a long time to get into Me

2020-07-16 10:59:28 -0500 asked a question What is a modern alternative to gmapping?

What is a modern alternative to gmapping? The ROS gmapping package appears to be orphaned. It took a long time to get in

2019-10-11 04:40:11 -0500 received badge  Famous Question (source)
2019-10-07 11:14:16 -0500 received badge  Notable Question (source)
2019-09-09 09:53:44 -0500 commented answer Laser Scan walls moving with robot

There is no IMU, just odometry. Could you be more specific about what kind of problem with the odometry would cause thi

2019-09-09 09:53:44 -0500 received badge  Commentator
2019-09-09 07:15:17 -0500 received badge  Popular Question (source)
2019-09-09 02:05:57 -0500 marked best answer How can I help AMCL deal with catastrophic wheel slips?

My robot uses an ASUS Xtion for a fake laser scan and odometry from encoders on the wheels. It basically is a big version of a turtlebot.

For the most part it navigates fine, but sometimes a wheel will catch on something, like a lip on a rug or a threshold and spin badly. AMCL immediately thinks the robot has rotated and RVIZ shows that the map is in clear disagreement with the laser scan image of the surrounding walls.

Is there some setting in AMCL that will help it to "reset" when the visual input is very different from the model? In short, I'd like AMCL to assume the laser scan is right and the odometry is wrong when there is a huge disparity. As it is now, if it gets too bad I often just have to shut down AMCL and start over.

Note, this is for AMCL, where the map has been created and is not being updated.

2019-09-08 15:49:59 -0500 edited question Laser Scan walls moving with robot

Laser Scan walls moving with robot In years past I was able to make maps with gmapping. Lately I cannot anymore. I've sp

2019-09-08 15:49:39 -0500 edited question Laser Scan walls moving with robot

Laser Scan walls moving with robot In years past I was able to make maps with gmapping. Lately I cannot anymore. I've sp

2019-09-08 15:48:51 -0500 edited question Laser Scan walls moving with robot

Laser Scan walls moving with robot In years past I was able to make maps with gmapping. Lately I cannot anymore. I've sp

2019-09-08 15:48:10 -0500 edited question Laser Scan walls moving with robot

Laser Scan walls moving with robot In years past I was able to make maps with gmapping. Lately I cannot anymore. I've sp

2019-09-08 15:39:52 -0500 asked a question Laser Scan walls moving with robot

Laser Scan walls moving with robot In years past I was able to make maps with gmapping. Lately I cannot anymore. I've sp

2019-07-18 07:35:35 -0500 received badge  Popular Question (source)
2019-07-18 07:35:35 -0500 received badge  Famous Question (source)
2019-07-18 07:35:35 -0500 received badge  Notable Question (source)
2019-02-26 17:37:26 -0500 received badge  Notable Question (source)
2019-02-26 17:37:26 -0500 received badge  Famous Question (source)