# ROS Projects
###### tags: `ros`
[ToC]
## Intro
ROS version: ROS1 kinetic
All codes available at [Github](https://github.com/yrsheld/ros_projects/tree/main).
## ros_control
### :package: Gazebo with ros_control
Driving a simple mobile robot in gazebo.
* [Notes](https://hackmd.io/@yrsheld/r1EDYBMVn)
* [Github repo (mybot - branch: main)](https://github.com/yrsheld/ros_projects/tree/main/mybot)
<!-- blank line -->
<figure class="video_container">
<iframe src="https://drive.google.com/file/d/1S0n3_ZUSuDgTRkklTQk3WwQ7eCfQR8nv/preview" frameborder="0" allowfullscreen="true" width="500" height="300"> </iframe>
</figure>
<!-- blank line -->
## Gazebo plugins
### :package: Gazebo classic - camera, projector
Demo of using gazebo sensor & projector plugins.
Attach a lidar sensor at the top, a (depth) camera at the front facing forward, and a projector (the red rectangle) above the robot.
* [Notes](https://hackmd.io/Q_hbFTLZS-2PUAD6spf-8A?view)
* [Github repo (mybot - branch: gazebo_sensors)](https://github.com/yrsheld/ros_projects/tree/gazebo_sensors/mybot)
:::info
To view the sensor output of camera & lidar in gazebo, change the `<visualize>` in the plugin section to true.
:::


## Vision
### :package: Ball tracking
Track a red ball (with RGB camera), and move along with it.
* [Notes](https://hackmd.io/@yrsheld/Bk_CViySh)
* [Github repo (ball_track)](https://github.com/yrsheld/ros_projects/tree/be35178f426bcfa87ef842b5fb612594ff68bcca/ball_track)
#### Track orbiting ball
<!-- blank line -->
<figure class="video_container">
<iframe src="https://drive.google.com/file/d/1bk_2yLANjX-Kp12dok39rbulLUgWbe0a/preview" frameborder="0" allowfullscreen="true" width="400" height="250"> </iframe>
</figure>
<!-- blank line -->
#### Track ball at random position
<!-- blank line -->
<figure class="video_container">
<iframe src="https://drive.google.com/file/d/1xikqzR-tnM_xhlAvBpf1oMSEjbFYNEum/preview" frameborder="0" allowfullscreen="true" width="400" height="250"> </iframe>
</figure>
<!-- blank line -->
### :package: Line following with speed limit sign detection
Autonomous driving of turtlebot running on a designated path (i.e., the yellow line on the ground), with speed adjusted according to detected speed limit sign aside.
* [Notes](https://hackmd.io/@yrsheld/r1pXAwrrn)
* [Github - Speed_limit_detect](https://github.com/yrsheld/Speed_limit_detect)
