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

moyashi's profile - activity

2023-04-25 00:53:28 -0500 marked best answer AMCL doesn't need a static map?

Does AMCL work well without a static map?

I applied nav stack to my own robot and it apparently works well.
However, rxgraph shows that AMCL doesn't use static map served by map_server.
The map is used only by move_base.

I think that MCL (not AMCL) requires a static map and
AMCL is designed by improving MCL regarding a computational cost.

AMCL doesn't need it?

Thanks in advance.

2021-12-28 19:33:43 -0500 received badge  Good Question (source)
2021-08-27 12:45:26 -0500 marked best answer How to rosmake ROS package which is in /opt/ros/***/stacks/

Could you tell me how to re-rosmake packages under /opt/ros/*/stacks/ ?

I installed openni_kinect package.
In order to understand how it works,
I added some ROSINFO function in some codes(For example, in openni_device.cpp).
Next, I renamed ROS_NOBUILD file to ROS_NOBUILD_ORG not to skip building this package.

Finally, I did "rosmake openni_camera", however, I got an error.
The error means
"mkdir : could not make `build' directory : not permitted".

How do I solve it?
Of course, I cannot conduct "sudo rosmake * * *".

2020-12-09 17:48:49 -0500 received badge  Nice Question (source)
2020-11-12 15:21:54 -0500 received badge  Nice Question (source)
2020-08-20 13:37:11 -0500 received badge  Nice Question (source)
2019-11-19 08:46:44 -0500 received badge  Good Question (source)
2019-08-08 09:26:05 -0500 received badge  Nice Question (source)
2019-08-08 09:26:03 -0500 marked best answer catkin_make's option for optimization

I used Eigen library for my program and found that matrix calculation is very slow(Just "for loop" is faster !!).

I think that optimization is not carried out when making the program.
How can I optimize the program ?
Any good catkin option for optimization ?

Thanks in advance.

2019-07-11 03:31:34 -0500 received badge  Nice Question (source)
2019-05-28 04:26:29 -0500 received badge  Great Question (source)
2019-01-07 08:55:27 -0500 received badge  Favorite Question (source)
2018-08-22 12:53:09 -0500 marked best answer Frame's definition (/odom and /map)

Hi, I cannot understand the difference between the frame "/odom" and "/map".
I've already read here -> http://ros.org/reps/rep-0105.html#map
however, I couldn't understand.
It seems like the same frame.
Could you explain the difference?

And one more thing.
When I published a transform from "/map" to "/base_link" and launched rviz,
"/map" was shown in a strange position(very far from base_link's origin).
If possible, I'd like to set the position and orientation to a Grid Marker's corner.
How is the position defined?
I don't need to mind it?

Thanks in advance.

2018-04-09 11:02:42 -0500 marked best answer Navigation stack parameter tuning for high accurate localization

Hi, everyone.

I'm using nav stack and tuning parameters.
I tuned parameters as followings because high accurate localization is required.

    (base_local_planner's parameters)
        xy_tolerance: 0.03 (<- small value)
        yaw_tolerance: 0.05 (<- small value)

        max_vel_x: 0.50
        min_vel_x: 0.01

        max_vel_theta: 1.57
        min_vel_theta: 0.01
        max_rotational_vel: 1.57
        min_in_place_rotational_vel: 0.01

        acc_lim_th: 1.57
        acc_lim_x: 0.5
        acc_lim_y: 0.5

    (amcl's parameters)
        min_particles: 500
        max_particles: 1000(<- I can't change this value for some reason)
        kld_err: 0.01
        kld_z: 0.99
        update_min_d: 0.1
        update_min_a: 0.2
        resample_interval: 1
        transform_tolerance: 0.5

        laser_z_hit: 0.99
        laser_z_rand: 0.01
        laser_sigma_hit: 0.3
        laser_model_type: likelihood_field

        odom_alpha1~alpha5: 0.2

move_base's frequency is set to 10[Hz].
I think that my robot has enough small minimum translational and rotational velocities,
however it often oscillates at a goal point.
When the oscillation occurs, navigation takes so much time.

How can I avoid the above problem ?
Any other effective parameters ??
(I think amcl parameters are not related to accuracy of a localization but robustness of it.)

Configuration
The robot can realize very low velocity(At least 0.005[m/s], 0.005[rad/s]).
Sensor: LRF (error: +/- 0.010[m])
Map resolution: 0.010[m/pixel]
Map was drawn manually and the width of the wall is 1 pixel.

Thanks in advance.

2018-02-16 19:28:35 -0500 marked best answer Is "odom" frame in this wiki mean a world coordinate?

Hello, I'm studying navigation stack. I usually refer to navigation stack's wiki and now I'm reading this page (http://www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom).

In this page, there is some coordinate frame which is called "odom". I guess that this frame is equal to a world coordinate("/map" frame in rvis).

Is my guess correct?

Thanks in advance.

2017-10-13 05:23:39 -0500 marked best answer Standard way to use ROS with Real-time OS

Hi there,

I'm trying to use ROS with hard real time system.
What is the standard way to do it ?
Is there good instruction to do it ?

I looked over web and I thought xenomai would work fine ...
But I'm not sure that's true.

Also, I could find a solution like "sudo apt-get install linux-realtime". But apparently it doesn't work, because it's for Ubuntu 12.04 or older and I'm using Ubuntu 14.04 and ROS Indigo.

Perhaps, some people might think that it's weird to use ROS with hard real time system.
Of course, I don't use ros message and service in control loop.
The point is that I need hard real time system for other purpose
and don't like to break the system which has already installed ROS.
I'd like coexistence of them.(I hope real time kernel doesn't affect ros...)

Thank you.

2017-09-19 20:08:38 -0500 marked best answer On the second argument of ros::NodeHandle::serviceClient

When do you use ros::NodeHandle::serviceClient with the second argument "persistent" set to "false" ?

I think that when "persistent" is set to "true", ros service performs better(faster) because there is no disconnection and reconnection between server and client. So basically, I use ros service client with "persistent == true".

However, this parameter's default value is "false". I wonder that "persistent == false" performs better in some cases. What kind of case is it ?

Thanks in advance.

2017-08-18 00:20:04 -0500 received badge  Good Question (source)
2017-08-17 18:17:01 -0500 marked best answer openni2_launch doesn't work with carmine 1.09 connected to USB3.0

Hi there,

I have a trouble that openni2_launch doesn't work.
I'm using carmine 1.09 connected to USB3.0, because my MacBookPro doesn't have any USB2.0 ports.

I've already carried out firmware update for carmine 1.09, however it still doesn't work and I have the following errors.
Actually, the errors are the same as the errors which I had before I update carmine's firmware.

[ INFO] [1415845653.463960586]: Device "1d27/0609@1/12" with serial number "" connected
[ INFO] [1415845653.468566285]: No matching device found.... waiting for devices. Reason: openni2_wrapper::OpenNI2Device::OpenNI2Device(const string&) @ /tmp/buildd/ros-indigo-openni2-camera-0.2.2-0trusty-20141015-0837/src/openni2_device.cpp @ 74 : Initialize failed
Could not open "1d27/0609@1/12": Failed to open the USB device!

How can I solve this problem ?


  • OS : Ubuntu 14.04
  • ROS : Indigo
  • Hardware : MacBookPro (which has 2 USB3.0 ports)
2017-07-28 05:32:16 -0500 received badge  Famous Question (source)
2017-06-14 04:08:46 -0500 marked best answer how to catkin_make cuda code

Hi, everyone.
I'd like to know how to write CMakesLists.txt for cuda code.
Are there any good references for it ??

Code is as the following, very simple.


// hello.cu
#include <cuda.h>
#include <cuda_runtime.h>

__global__ kernel()
{
}

int main(int argc, char** argv)
{
  ros::init(argc, argv, "hello");
  ros::NodeHandle nh;

  kernel<<<1, 1>>>()
  ROS_INFO_STREAM("Hello, world.");

  return 0;
}
 

Thanks in advance.

2017-04-25 03:25:41 -0500 marked best answer How to broadcast a transform between /map and /odom

Could you tell me how to broadcast a transform between map and odom?

I'm trying to use a navigation stack.
I know I need to setup some tf publishers.

First, I made a node to publish a static transform between base_link and base_laser.
Second, a node to publish a transform between odom and base_link was made
with odometry sensor(encoder) data.

Third, I need to publish a transform between map and odom ...
But how?
The transform will be published with ... what?

If possible, could you tell me how to broadcast the transform
when making a map and using the navigation stack respectively.

Thanks in advance.

2017-04-20 17:45:13 -0500 marked best answer With hydro, pcl can be installed alone ?

Hi, everyone.

I'd like to install pcl stand-alone.
Could you tell me how to do it ?

Since I've installed ros hydro through "desktop-full",
pcl(perception_pcl) has also being installed.
So I can see libpcl** under /usr/lib.

However, pcl/gpu is not found and I cannot try kinfu.
I gues that pcl installed with ros has a small part of full-pcl.
Then I'd like to install pcl stand-alone.

I'm afraid that I will have confliction between pcl installed stand-alone and pcl installed with ros.
How can I install pcl stand-alone ?

Thanks in advance.