Skip to content

Commit

Permalink
Merge pull request #4 from Alpaca-zip/feature/turtlebot3_support
Browse files Browse the repository at this point in the history
Feature/turtlebot3 support
  • Loading branch information
Alpaca-zip authored Dec 29, 2023
2 parents b25739b + 4bc0e0e commit a8b2bf7
Show file tree
Hide file tree
Showing 25 changed files with 628 additions and 97 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ jobs:
uses: 'ros-industrial/industrial_ci@master'
env:
ROS_DISTRO: noetic # Replace noetic for your chosen distro.
# UPSTREAM_WORKSPACE: dependencies.rosinstall
BEFORE_BUILD_TARGET_WORKSPACE: 'apt update -q && python3 -m pip install -q -r requirements.txt'
UPSTREAM_WORKSPACE: .rosinstall
PYLINT_ARGS: '--errors-only'
PYLINT_CHECK: true

Expand All @@ -40,8 +40,8 @@ jobs:
uses: 'ros-industrial/industrial_ci@master'
env:
ROS_DISTRO: noetic # Replace noetic for your chosen distro.
# UPSTREAM_WORKSPACE: dependencies.rosinstall
BEFORE_BUILD_TARGET_WORKSPACE: 'apt update -q && python3 -m pip install -q -r requirements.txt'
UPSTREAM_WORKSPACE: .rosinstall
CATKIN_LINT: true

build_check:
Expand All @@ -53,12 +53,12 @@ jobs:
env:
- ROS_DISTRO: noetic # Replace noetic for your chosen distro.
ROS_REPO: main
# UPSTREAM_WORKSPACE: dependencies.rosinstall
UPSTREAM_WORKSPACE: .rosinstall
BEFORE_BUILD_TARGET_WORKSPACE: 'apt update -q && python3 -m pip install -q -r requirements.txt'
IMMEDIATE_TEST_OUTPUT: true
- ROS_DISTRO: noetic # Replace noetic for your chosen distro.
ROS_REPO: testing
# UPSTREAM_WORKSPACE: dependencies.rosinstall
UPSTREAM_WORKSPACE: .rosinstall
BEFORE_BUILD_TARGET_WORKSPACE: 'apt update -q && python3 -m pip install -q -r requirements.txt'
IMMEDIATE_TEST_OUTPUT: true

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,7 @@ CATKIN_IGNORE

# vscode
.vscode

# debug
/test/*
!/test/.gitkeep
12 changes: 12 additions & 0 deletions .rosinstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- git:
local-name: turtlebot3_simulations
uri: https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
version: noetic-devel
- git:
local-name: turtlebot3_msgs
uri: https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
version: noetic-devel
- git:
local-name: turtlebot3
uri: https://github.com/ROBOTIS-GIT/turtlebot3.git
version: noetic-devel
12 changes: 10 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@ project(vgraph_planner)
set(CMAKE_CXX_STANDARD 14)

# find dependencies
find_package(catkin REQUIRED COMPONENTS rospy)
find_package(catkin REQUIRED COMPONENTS
geometry_msgs
nav_msgs
rospy
)

# Declare a catkin package
catkin_package(CATKIN_DEPENDS rospy)
catkin_package(CATKIN_DEPENDS
geometry_msgs
nav_msgs
rospy
)

# Install Python executables
install(PROGRAMS scripts/vgraph_planner.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
41 changes: 41 additions & 0 deletions launch/include/turtlebot3_amcl.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="scan_topic" default="/scan"/>
<arg name="initial_x_pos" default="0.0"/>
<arg name="initial_y_pos" default="0.0"/>
<arg name="initial_yaw_pos" default="0.0"/>

<node name="amcl" pkg="amcl" type="amcl">
<remap from="scan" to="$(arg scan_topic)"/>
<param name="initial_pose_x" value="$(arg initial_x_pos)"/>
<param name="initial_pose_y" value="$(arg initial_y_pos)"/>
<param name="initial_pose_a" value="$(arg initial_yaw_pos)"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="3000"/>
<param name="kld_err" value="0.02"/>
<param name="update_min_d" value="0.20"/>
<param name="update_min_a" value="0.20"/>
<param name="resample_interval" value="1"/>
<param name="transform_tolerance" value="0.5"/>
<param name="recovery_alpha_slow" value="0.00"/>
<param name="recovery_alpha_fast" value="0.00"/>
<param name="gui_publish_rate" value="50.0"/>
<param name="laser_max_range" value="3.5"/>
<param name="laser_max_beams" value="180"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="laser_model_type" value="likelihood_field"/>
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha1" value="0.1"/>
<param name="odom_alpha2" value="0.1"/>
<param name="odom_alpha3" value="0.1"/>
<param name="odom_alpha4" value="0.1"/>
<param name="odom_frame_id" value="odom"/>
<param name="base_frame_id" value="base_footprint"/>
</node>
</launch>
20 changes: 20 additions & 0 deletions launch/include/turtlebot3_world.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="model" default="burger" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="x_pos" default="0.0"/>
<arg name="y_pos" default="0.0"/>
<arg name="yaw_pos" default="0.0"/>

<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find turtlebot3_gazebo)/worlds/turtlebot3_world.world"/>
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>

<param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro"/>

<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model turtlebot3_$(arg model) -x $(arg x_pos) -y $(arg y_pos) -Y $(arg yaw_pos) -param robot_description"/>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
<launch>
<arg name="map_file" default="$(find vgraph_planner)/map/map.yaml"/>
<arg name="test_folder" default="$(find vgraph_planner)/test"/>
<arg name="down_scale_factor" default="0.2"/>
<arg name="clearance" default="0.3"/>
<arg name="use_origin" default="true"/>
<arg name="down_scale_factor" default="0.1"/>
<arg name="clearance" default="0.1"/>

<node name="vgraph_planner_node" pkg="vgraph_planner" type="vgraph_planner.py" output="screen">
<param name="~map_file" value="$(arg map_file)"/>
<param name="~test_folder" value="$(arg test_folder)"/>
<param name="~down_scale_factor" value="$(arg down_scale_factor)"/>
<param name="~clearance" value="$(arg clearance)"/>
<param name="~use_origin" value="$(arg use_origin)"/>
</node>
</launch>
42 changes: 42 additions & 0 deletions launch/turtlebot3_vgraph_navigation.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="model" default="burger" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="x_pos" default="-2.0"/>
<arg name="y_pos" default="0.0"/>
<arg name="yaw_pos" default="0.0"/>
<arg name="scan_topic" default="/scan"/>
<arg name="map_file" default="$(find vgraph_planner)/maps/map.yaml"/>
<arg name="test_folder" default="$(find vgraph_planner)/test"/>
<arg name="down_scale_factor" default="0.3"/>
<arg name="clearance" default="0.1"/>
<arg name="open_rviz" default="true"/>

<include file="$(find vgraph_planner)/launch/include/turtlebot3_world.launch">
<arg name="model" value="$(arg model)"/>
<arg name="x_pos" value="$(arg x_pos)"/>
<arg name="y_pos" value="$(arg y_pos)"/>
<arg name="yaw_pos" value="$(arg yaw_pos)"/>
</include>

<include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
<arg name="model" value="$(arg model)" />
</include>

<include file="$(find vgraph_planner)/launch/include/turtlebot3_amcl.launch">
<arg name="scan_topic" value="$(arg scan_topic)"/>
<arg name="initial_x_pos" value="$(arg x_pos)"/>
<arg name="initial_y_pos" value="$(arg y_pos)"/>
<arg name="initial_yaw_pos" value="$(arg yaw_pos)"/>
</include>

<include file="$(find vgraph_planner)/launch/include/vgraph_planner.launch">
<arg name="map_file" value="$(arg map_file)"/>
<arg name="test_folder" value="$(arg test_folder)"/>
<arg name="down_scale_factor" value="$(arg down_scale_factor)"/>
<arg name="clearance" value="$(arg clearance)"/>
</include>

<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)"/>

<node if="$(arg open_rviz)" name="rviz" pkg="rviz" type="rviz" required="true" args="-d $(find vgraph_planner)/rviz/turtlebot3_navigation.rviz"/>
</launch>
Binary file removed map/map.pgm
Binary file not shown.
7 changes: 0 additions & 7 deletions map/map.yaml

This file was deleted.

Binary file removed map/vgraph.png
Binary file not shown.
Binary file removed map/vgraph_optimized.png
Binary file not shown.
5 changes: 5 additions & 0 deletions maps/map.pgm

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions maps/map.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
image: ./map.pgm
resolution: 0.050000
origin: [-10.000000, -10.000000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196
18 changes: 11 additions & 7 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@
<description>The vgraph_planner package</description>
<maintainer email="[email protected]">Alpaca-zip</maintainer>
<license>Apache 2.0</license>

<buildtool_depend>catkin</buildtool_depend>

<build_depend>rospy</build_depend>

<build_export_depend>rospy</build_export_depend>

<exec_depend>rospy</exec_depend>
<depend>geometry_msgs</depend>
<depend>nav_msgs</depend>
<depend>rospy</depend>
<exec_depend>amcl</exec_depend>
<exec_depend>gazebo_ros</exec_depend>
<exec_depend>map_server</exec_depend>
<exec_depend>rviz</exec_depend>
<exec_depend>turtlebot3_bringup</exec_depend>
<exec_depend>turtlebot3_description</exec_depend>
<exec_depend>turtlebot3_gazebo</exec_depend>
<exec_depend>xacro</exec_depend>
</package>
Loading

0 comments on commit a8b2bf7

Please sign in to comment.