ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
There is something wrong with your macro which prevent you from setting the parameters as desired. At the beginning you define parameters (*origin
-> is that a typo ?) and then you don't actually use them.
For example this : <update_rate>1</update_rate>
, should be <update_rate>${update_rate}</update_rate>
.
So when you call your xacro here :
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10">
None of your parameters are actually set to those values (and why is it ${namespace}
here ? It should be an actual value).
So you end up with a really odd configuration, I would suggest few things :
40
which is better than 1
because this is an extremely low value for the update rate so just make sure you actually change the parmeter (as the example above).samples
set to 3
with a resolution
of 10
, that seems very low. The resolution is multiplied by the number of samples to define the number of range data points returned so you will only get 30
values with those settings. I would suggest to set the resolution
to 1
and directly define the samples
as the number of data you want. For example if you have a 360°
lidar and you want a data every 1°
I would just set the samples
to 360
and resolution to 1
.2 | No.2 Revision |
There is something wrong with your macro which prevent you from setting the parameters as desired. At the beginning you define parameters (*origin
-> is that a typo ?) and then you don't actually use them.
For example this : <update_rate>1</update_rate>
, should be <update_rate>${update_rate}</update_rate>
.
So when you call your xacro here :
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10">
None of your parameters are actually set to those values (and why is it ${namespace}
here ? It should be an actual value).
So you end up with a really odd configuration, I would suggest few things :
40
which is better than 1
because this is an extremely low value for the update rate so just make sure you actually change the parmeter (as the example above).samples
set to 3
with a resolution
of 10
30
values with those settings. Moreover, if the resolution is greater than 1 the range data is average so I would suggest to set the resolution
to 1
and directly define the samples
as the number of data you want. For example if you have a 360°
lidar and you want a data every 1°
I would just set the samples
to 360
and resolution to 1
.3 | No.3 Revision |
There is something wrong with your macro which prevent you from setting the parameters as desired. At the beginning you define parameters (*origin
-> is that a typo ?) and then you don't actually use them.
For example this : <update_rate>1</update_rate>
, should be <update_rate>${update_rate}</update_rate>
.
So when you call your xacro here :
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10">
None of your parameters are actually set to those values (and why is it ${namespace}
here ? It should be an actual value).
So you end up with a really odd configuration, I would suggest few things :
40
which is better than 1
because this is an extremely low value for the update rate so just make sure you actually change the parmeter (as the example above).samples
set to 3
with a resolution
of 10
. The resolution is multiplied by the number of samples to define the number of range data points 30
values with those settings. resolution
to 1
and directly define the samples
as the number of data you want. For example if you have a 360°
lidar and you want a data every 1°
I would just set the samples
to 360
and resolution to 1
.4 | No.4 Revision |
There is something wrong with your macro which prevent you from setting the parameters as desired. At the beginning you define parameters (*origin
-> is that a typo ?) and then you don't actually use them.
For example this : <update_rate>1</update_rate>
, should be <update_rate>${update_rate}</update_rate>
.
So when you call your xacro here :
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10">
None of your parameters are actually set to those values (and why is it ${namespace}
here ? It should be an actual value).
So you end up with a really odd configuration, I would suggest few things :
40
which is better than 1
because this is an extremely low value for the update rate so just make sure you actually change the parmeter (as the example above).samples
set to 3
with a resolution
of 10
. The resolution is multiplied by the number of samples to define the number of range data points returned. Moreover, if the resolution is greater than 1 the range data is average so I would suggest to set the resolution
to 1
and directly define the samples
as the number of data you want. For example if you have a 360°
lidar and you want a data every 1°
I would just set the samples
to 360
and resolution to 1
.Edit :
I found from here that we could insert a block by * prefix
You're right it's possible to do that but when you choose to do this you need to insert the block like this :
<xacro:insert_block name="origin" />
Also there might be another thing wrong here when you call the xacro :
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10">
<origin xyz="0 0 0.5" rpy="0 0 0"/>
</xacro:hokuyo_utm30lx>
I'm not sure what will happen and where the origin
tag will end up but following the wiki I would call the xacro like this and define the origin
inside the macro
:
<xacro:hokuyo_utm30lx robot_namespace="${namespace}" min_angle="-1.047" max_angle="1.047"
update_rate="40" ray_count="10" />