Ask Your Question

MrX's profile - activity

2021-12-23 15:11:15 -0500 received badge  Famous Question (source)
2021-12-23 15:11:15 -0500 received badge  Notable Question (source)
2017-02-07 17:11:37 -0500 received badge  Popular Question (source)
2017-01-25 04:09:16 -0500 answered a question Disable AVX instructions for entire catkin workspace

This works:

catkin build --force-cmake --cmake-args -DCMAKE_CXX_FLAGS="-mno-avx"
2017-01-24 08:12:20 -0500 received badge  Famous Question (source)
2017-01-24 08:03:41 -0500 asked a question Disable AVX instructions for entire catkin workspace

I have a multitude of packages in my catkin workspace that all need to be compiled without using AVX instructions. Is there a way to globally disable AVX instructions when using catkin build? It is not an option for me to disable AVX instructions in every single CMakeLists.txt.

My first attempt was to add -mavx to the Make Args of catkin config but that was unsuccessful probably because it is not a Make argument but a compiler option.

2016-06-04 19:25:44 -0500 asked a question De-noise images in rosbag

I have a rosbag with a bunch of IMU measurements and image data. In order to use the FAST detector of OpenCV, I want to de-noise my image data. For this I would preferably use OpenCV (C++ or Python). In the end the rosbag should be identical to the original rosbag except the modified images.

2016-01-07 14:31:02 -0500 received badge  Notable Question (source)
2016-01-06 11:33:48 -0500 received badge  Popular Question (source)
2016-01-06 08:02:52 -0500 asked a question New catkin workspace for testing rosinstall?

Hi folks,

Setup: Currently, I have one catkin workspace in which I have my ros package with its dependencies (other packages). I'm about to write a wiki and want to create a rosinstall file to facilitate the installation process for a future user.
Question: How can I test if my rosinstall file is complete (i.e. installing the packages according to rosinstall results in a working setup) without messing with my current catkin workspace?
My thoughts: I could install VirtualBox but then I would have to install ros all over again in the virtual machine. Is there an easier way such as creating a second catkin workspace and running rosinstall in that workspace?

2016-01-06 07:43:53 -0500 received badge  Famous Question (source)
2015-12-19 05:21:23 -0500 received badge  Enthusiast
2015-11-27 08:06:58 -0500 commented answer Turtlebot bumper

Thanks. That solved my problem. I ended up adding the following line (after minimal.launch) to the launch file: <param name="cmd_vel_mux/yaml_cfg_file" value="$(find my_robot)/param/mux.yaml"/>

mux.yaml is the file in which I define my own cmd_vel_mux parameters

2015-11-27 08:05:04 -0500 received badge  Scholar (source)
2015-11-27 08:05:02 -0500 received badge  Supporter (source)
2015-11-26 16:50:55 -0500 received badge  Notable Question (source)
2015-11-26 10:20:56 -0500 received badge  Popular Question (source)
2015-11-26 06:56:24 -0500 received badge  Organizer (source)
2015-11-24 12:03:16 -0500 received badge  Editor (source)
2015-11-24 09:30:41 -0500 asked a question Turtlebot bumper

Hi,

I am setting up a Turtlebot on Indigo. Whenever the robot hits an obstacle it starts shacking (driving forward and backwards quickly). It does not matter whether I am driving with keyop or with a navigation planner. My two most important launch files look like this:

<launch>
  <!-- Run TF setup -->
  <include file = "$(find my_robot)/launch/sensors/tf_transformations.launch" />

  <!-- Run laser node -->
  <include file = "$(find my_robot)/launch/sensors/lasersensor.launch" />

  <!-- Bring up turtlebot -->
  <include file = "$(find turtlebot_bringup)/launch/minimal.launch" />

  <!--- Run AMCL and map_server-->
  <include file = "$(find my_robot)/launch/navigation/amcl.launch" />

  <!-- Run move base framework -->
  <include file = "$(find my_robot)/launch/navigation/move_base.launch" />
</launch>

And the move_base launch file is

<launch>
  <!-- Run smoother and safety controller -->
  <include file="$(find turtlebot_navigation)/launch/includes/velocity_smoother.launch.xml"/>
  <include file="$(find turtlebot_navigation)/launch/includes/safety_controller.launch.xml"/>

  <!-- Run move base framework -->
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <rosparam file="$(find my_robot)/param/costmap_common_param.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find my_robot)/param/costmap_common_param.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find my_robot)/param/local_costmap_param.yaml" command="load" />
    <rosparam file="$(find my_robot)/param/global_costmap_param.yaml" command="load" />
    <rosparam file="$(find my_robot)/param/base_local_planner_param.yaml" command="load" />

    <remap from="cmd_vel" to="navigation_velocity_smoother/raw_cmd_vel"/>
  </node>
</launch>

All velocity outputs are correctly mapped to either

/cmd_vel_mux/input/navi
/cmd_vel_mux/input/safety_controller
/cmd_vel_mux/input/teleop

Assuming that the Turtlebot is brought up, I can push the bumping-detector and it drives back for about 3 cm. If I use teleop and drive it into an obstacle, the safety controller publishes one message on the /cmd_vel_mux/input/safety_controller topic but very shortly after that also a forward velocity is published to /cmd_vel_mux/input/teleop (because thats what I tell it to do). In that case it only reverses 1cm and immediately bumps into the obstacle again.

This is quite bad because if it hits an obstacle once, it will be stuck in this forward-backward shacking movement forever. Can I change this behavior?