No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Description | AprilTag docking ROS 2 demo |
Checkout URI | https://github.com/adlink-ros/apriltag_docking.git |
VCS Type | git |
VCS Version | foxy-devel |
Last Updated | 2022-11-29 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
apriltag_docking | 0.1.0 |
autodock_msgs | 0.1.0 |
README
apriltag_docking
This repo shows the docking demo by leverging the AprilTag and NeuronBot2 with ROS 2 foxy-devel.
Download packages
mkdir -p autodock_ros2_ws/src
cd ~/autodock_ros2_ws/
wget https://raw.githubusercontent.com/Adlink-ROS/neuronbot2_ros2.repos/z_demo-apriltag/neuronbot2_ros2.repos
vcs import src < neuronbot2_ros2.repos
Install dependencies
cd ~/autodock_ros2_ws/
rosdep update
rosdep install --from-paths src --ignore-src -r -y --rosdistro foxy
Build packages
cd ~/autodock_ros2_ws/
source /opt/ros/foxy/setup.bash
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
AprilTag configurations
If you want to change the settings of AprilTag, e.g. tag family, tag size and tag_ids, please check below yaml files:
cd ~/autodock_ros2_ws/
vim src/apriltag_ros/apriltag_ros/cfg/tags_36h11_filter.yaml
vim src/apriltag_docking/autodock_controller/param/neuronbot.yaml
In
```, set tag **size**, tag **family**, and **tag_frames**.
```yaml
image_transport: 'raw' # image format
family: '36h11' # tag family name
size: 0.08
threads: 2
max_hamming: 0 # maximum allowed hamming distance (corrected bits)
z_up: true # rotate about x-axis to have Z pointing upwards
# see "apriltag.h" for more documentation on these optional parameters
decimate: 1.0 # decimate resolution for quad detection
blur: 1.0 # sigma of Gaussian blur for quad detection
refine-edges: 1 # snap to strong gradients
debug: 0 # write additional debugging images to current working directory
tag_ids: [0] # tag ID
tag_frames: [dock_frame] # optional frame name
tag_sizes: [0.08] # optional tag-specific edge size
Also check
autodock_controller:
ros__parameters:
cmd_vel_angular_rate: 0.25
cmd_vel_linear_rate: 0.25
default_turn: 1.0
final_approach_distance: 1.0
finish_distance: 0.5
jog_distance: 0.2
lost_tag_max: 5
max_center_count: 10
tune_angle: 0.42
tag_frame: "dock_frame"
Simulation in Gazebo
Step 1. Launch Neuronbot2 and AprilTag model in Gazebo
ros2 launch neuronbot2_gazebo neuronbot2_world.launch.py world_model:=tag.model use_camera:=top
Step 2. Launch apriltag_docking
ros2 launch apriltag_docking autodock_gazebo.launch.py open_rviz:=true
Step 3. Send request to start docking
ros2 run apriltag_docking docking_client --ros-args -p docking:=start
Use Physical NeuronBot2 and RealSense D435
Below instructions are only for users having a real NeuronBot2 with RealSense D435
Step 1. Launch Neuronbot2 and RealSense in real world
ros2 launch neuronbot2_bringup bringup_launch.py use_camera:=top
Step 2. Launch apriltag_docking
ros2 launch apriltag_docking autodock_neuronbot.launch.py open_rviz:=true
Step 3. Send request to start docking
ros2 run apriltag_docking docking_client --ros-args -p docking:=start
Integrating with BehaviorTree
Download BT_ros2:
cd ~/autodock_ros2_ws/src
git clone https://github.com/Adlink-ROS/BT_ros2.git
Build BT_ros2 with auto-docking workspace:
cd ~/autodock_ros2_ws/
source /opt/ros/foxy/setup.bash
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_AUTODOCK=ON
Run BT with auto-docking XML:
cd ~/autodock_ros2_ws/
source /opt/ros/foxy/setup.bash
source ~/autodock_ros2_ws/install/local_setup.bash
ros2 launch bt_ros2 bt_ros2.launch.py bt_xml:=/home/ros/autodock_ros2_ws/src/BT_ros2/bt_xml/bt_auto_docking.xml
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.