ROS Tutorial 8 with own Robot?

Hi,

I am interested in doing the 8th ROS tutorial (Unknown Environment Exploration), but I wanted to know if I could run this program by building my own ROSbot with the hardware below:

Since I use a different lidar, motors w/encoders, and robot size dimensions from the ROSbot, what changes would I need to make (and in which files) from GitHub - husarion/tutorial_pkg so that I can get this demo working?

I’m new to this, and I’d appreciate any help. Thanks.

Hi geasrmotion789,

I suggest you to go through all tutorials from the first one. They are sequential and each is based on previous one. I am sure this will answer most of your questions.

From tutorial_pkg you will have to modify tutorial_8.launch file.
Find driver for RpLidar and replace it with XV11:

    <node if="$(arg use_rosbot)" pkg="rplidar_ros" type="rplidarNode" name="rplidar">
        <param name="angle_compensate" type="bool" value="true"/>
    </node>

And adjust static transform publisher to position where you mounted lidar:

 <node if="$(arg use_rosbot)" pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 base_link laser_frame 100" />

Furthermore you will have to adjust .yaml files containing path planning and exploration parameters in rosbot_navigation package.

Last thing to change is robot parameters in CORE2 controller. Robot specific code is in ROSbot class (header, body). I think that it would be the best to create your own class based on this one.

Regards,
Łukasz

Thanks. I also want to ask how could I disable the RGB camera and the distance sensors? (because I am not going to be using them)

To disable RGB camera remove from launch file line:

<include if="$(arg use_rosbot)" file="$(find astra_launch)/launch/astra.launch"/>

Distance sensor is handled in ROSbot class, to disable it, skip it’s implementation on lines 220 - 326 in ROSbot.cpp when implementing controller for your robot.

Regards,
Łukasz