마곡 AI 로봇 해커톤 中 ROS 2(Robot Operating System)
로봇 제작 기술워크숍 세미나 자료
Seminar link : Seoul MakerSpace G Camp
- Jetson Nano 4GB Dev Kit
- Jetpack 4.6
- ROS 2 Eloquent
This Repo contains mainly two parts.
- ROS 2 Basic &
rclpy
Programming Examples => basic_topic_pkg - ROS 2 autonomous Robot based on Popular RC Car => MaRo
There's 6 rclpy scripts for Node programming, And also 3 for Topic programming
- My First ROS 2 Node.
- Run Node periodically by
create_timer
. - About
rclpy.spin
. - ROS 2 Node Composition.
- Node Composition with
create_timer
. - ROS 2 Node logger level.
How to Run
ros2 run basic_topic_pkg example_node_<number>
Moreover, There's 3 rclpy scripts for ROS 2 Topic programming.
- Publish
cmd_vel
message toturtlesim
through topic publisher - Subscribe turtlesim's
pose
message and analize about message type. - Small Project, Make
turtle2
mimicturtle1
using publisher & subscriber both.
How to Run
ros2 run basic_topic_pkg topic_pub_node
ros2 run basic_topic_pkg topic_sub_node
ros2 run basic_topic_pkg topic_pub_sub_node
There's Full BOM for MaRo in Parts
folder.
And also you can find custom stl
, dxf
files in there.
Lastly, Even there's Assembly Guide for MaRo. Please refer this notion page.
All Setups are prepared through shell scripts. Just Run that 😁
Shell Scripts in Setup
Folder
ai_demo_setup.sh
=> Install prerequisites for ROS 2 Deep Learning Nodeparts_install.sh
=> Install python3 packages control RC Carros2_setup.sh
=> Install ROS 2 onto Jetpack 4.6utils_setup.sh
=> Install few usefull utilities / Setup aliases for developingvscode_install.sh
=> Install VSCode for Jetpack 4.6
Most of above scripts are referneced from JetsonHacks
Always Thank you, Mr. Jim !!
There's mainly 4 ROS 2 applications for MaRo. All packages are prepared for autonomous driving.
- RQT Control Plugin for MaRo
- 2D Lidar to odometry
- 2D Lidar SLAM (slam_toolbox)
- Autonomous Driving with
Nav 2
Based on rqt_robot_steering plugin, I recreated that for MaRo.
- this package is referenced from CLOBOT-Co-Ltd
- Fully support for Nav 2