Repository files navigation
This repository contains my catkin workspace in one place.
Autonomous Navigation from starting to goal
roslaunch turtlebot3_gazebo turtlebot3_house.launch
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/bot/tb3_house_map.yaml
Go to the directory where navGoal.py is present. Run the script by ./navGoal.py
ROS Topics - Publisher and Subscriber (FINISHED)
Talker and Listener working in ros_basics_tutorials
ROS Topics - Publisher and Subscriber (UNFINISHED)
Having problem with running .py
Turtle bot simulator working.
ROS TOpics - Custom messages (UNFINISHED)
Custom messages for ros packages is not complete. In IOT sensor .cpp was having some syntax error with the code.
And for .py file the error was (ModuleNotFoundError: No module named 'yaml')
ModuleNotFoundError: No module named 'rospkg'
ROS TOpics - Custom messages (FINISHED)
Custom messages are added and completed.
#!/usr/bin/env python2.7 - needed to add 2.7 in this or else it was clashing with python3.8
yaml problem solved.
made changes in CmakeList, added generate messages() or else it was not working.
iot_sensor_sub.py and iot_sensor_pub.py is working.
Next need to look into .cpp
ROS Services (UNFINISHED)
Used turtle bot service
server and client
Created custom services
Add three Int server and client
Problem with IoT sensor Publisher cpp was removed.
Added IoT Sensor Publisher Cpp code
IoT sensor Subscriber Cpp is left, some error with callback func.
custom services python working
need to add custom service Cpp code.
ROS TOpics - Custom messages (FINISHED)
Solved the problem with custom message code in Cpp
Added a new package named turtlesim_cleaner_bot
Next thing to do Service in Cpp
to do Motion in ROS.
Motion in ROS - Moving in Straight line (UNFINISHED)
Motion in ROS not working.
turtle_cleaner_bot package not working.
catkin_make error
ros.h not found error :/
Motion in ROS - Moving in Straight line (FINISHED)
Straight line Motion of cleaner bot working.
Needed to make some changes in Cmake
Added code for the user to give input of motion.
working fine.
Motion in ROS - Rotate Left and Right (UNFINISHED)
Code is in the middle, have errors.
adding a subscriber for our motion in ros code.
not finished, there are bugs.
Motion in ROS - Rotate Left and Right (FINISHED)
set desired orientation is working.
left, right, forward, backward, rotate motion is working.
Motion in ROS - Go to Goal (FINISHED)
added move to goal fuction for the turtlesim bot.
added proportional control for moving to the desired location.
Motion in ROS - Spiral Control and Cleaning Application (FINISHED)
added grid cleaning algorithm for the turtle bot.
added spiral cleaning algorithm for the bot.
made necessary changes in main function.
CV in ROS with openCV - Install openCV (FINISHED)
Anaconda 3 installed python3, which was creating problem with python2.7
openCV was not working because of the environment clash between Python2.7 and Python3.8
removed anaconda3 from the system
rm -rf ~/anaconda3
After everything is working fine.
openCV is working not giving any module or package error.
CV in ROS with openCV - openCV open and save image files (FINISHED)
Added a folder named perception
Added folder with images
Added code for opening and saving an image file using openCV
image get copied in a folder named copy inside image folder.
CV in ROS with openCV - openCV pixels and image structure (FINISHED)
Added a folder named imageStruct
Added code for determining image pixels, image length , width, channels
used numpy and openCV
CV in ROS with openCV - openCV image encoding (FINISHED)
Added a folder named imageEncoding
Added code for red,green,blue scale images
Added code for converting to HSV images
Added code for converting to grayscale images.
CV in ROS with openCV - openCV video streams input and drawing shapes (FINISHED)
Added code for video streaming in ros
Video is streamed from both Webcam and also from saved video
did a little video processing on the videos
converted to gray scale videos
added code for drawing different shapes
CV in ROS with openCV - CvBridge Bridging (UNFINISHED)
Added the code for cv bridge
having issues with usb cam package cloning and use.
having problem in sourcing setup.bash
need to solve the problem of cv Bridge in ROS
CV in ROS with openCV - CvBridge Bridging (FINISHED)
Finished the cv Bridge part
USB cam package is also working fine.
image publisher subscriber working.
usb cam - publisher, imagePUBandSUB - subscriber
CV in ROS with openCV - Simple and Adaptive thresholding (FINISHED)
Added code for simple and adaptive thresholding.
working fine.
CV in ROS with openCV - Color Filtering (FINISHED)
Added the code for color filtering.
converted RGB image to HSV image for easy detection.
given the lower and upper bound for color detection.
palyed with the thresholds for detecting the image properly.
CV in ROS with openCV - Contour drawing (FINISHED)
Added code for detecting contours
convert rgb image to gray scale
convert it to binary by adaptive thresholding.
draw contours on the image.
need to complete CV in ROS with openCV
CV in ROS with openCV - Contour processing (FINISHED)
added code to find the area and perimeter of contours.
added code to draw the contours by the above steps.
CV in ROS with openCV - read video cpp (FINISHED)
added cpp code for reading video
made changes in the cmake list
added executable for the code.
Rosserial with arduino (UNFINISHED)
Installed ros_lib in arduino
Installed other dependencies and packages.
Used Rosserial in arduino the blink sketch and hello world.
Next to configure ultrasonic sensor using ros.
Ultrasonic sensor with ROS (FINISHED)
Added code for using ultrasonic sensor with arduino and ROS.
Code is working fine.
Added package for gazebo, my_simulation and slam gmapping.
Could not fix the issue
Not working.
Started with Perception - Laser Range Finder
Rosserial arduino is finished.
Need to look into Laser Range Finder Module.
ROS Melodic - Installation of turtlebot3
Added turtlebot 3 simulation packages.
Added navigation and slam packages.
made changes in bashrc by gedit .bashrc for turtlebot3
turtle bot 3 gazebo simulation not working.
The issue is saying Model name is not set for turtlebot 3.
ROS Part II - Turtlebot3 setup (FINISHED)
Added the export data of turtlebot 3 model name in .zshrc
git clone ros code for part 2 from git repo
Did basic movement with teleop in gazebo on turtlebot3
ROS Part II - ROS navigation intro (UNFINISHED)
The simulation on rviz was not working correctly
The data shown after rostopic list is not same as the instructor.
Need to check this part
ROS part II - ROS navigation.
studied about the ROS navigation.
Transformation
Rotation Matrix in 2d and 3d frames.
Frame Change configurations.
ROS part II - ROS navigation.
got knowledge about rotation representation.
Euler angles.
Quaternions
need to study about gimbal lock.
ROS part II - Conversions in TF package
used tf package library in python script
made a new package to try my codes.
learned how to do rotation transformation from euler to quaternion and vice versa.
ROS part II - Reading Yaw from quaternions
Added code for converting euler from quaternion
subscribed to turtlebot 3 geometry messages.
used the quaternion list to get the yaw.
used view frame to generate a pdf file for frames
ROS part II - Transformation
Added code for frames transformation broadcaster
Added code for frames transformation listener
ROS Part II - Navigation demo
Used RVIZ and gazebo to perform navigation.
Used 2D Pose estimate to manually estimate initial pose
Used 2D Nav Goal to perform navigation.
Learnt about recovery behaviour during navigation if the robot gets stuck due to obstacle and path.
Learnt about clearing process which clears the previous static obstacles which are not there during navigation.
Added code for autonomous navigation of my turtlebot.
Navigation stack working fine.
Learnt about the map frame and local frame.
Learnt Particle estimater.
Learnt about local path planner.
Learnt about global path planner.
learnt about the carrot planner, navfn, global_planner.
Dijkstra Algo + A* algo - need to study
Dynamic window Algorithm for local path planner.
Learnt about the tuning of simulation time in dwa local path planner.
increasing the simulation time or prediction will increase the computation and consequently decrease the battery power soon.
Trajectory tries to minimise the total cost.
cost consists of path distance bias, goal distance bias, occdist scale
Learnt about the implementation of path dist bias, goal dist bias and occ scale.
configured the parameters dynamically using rqt_reconfigure
path dist bias is the amount by which it will the path trajectory.
goal dist bias is the amount by which it will reach a goal using the shortest path.
occ scale decides the importance of distance from wall or obstacles - a high value will give more importance
Learnt about follower application using two turtlesim
used rosrun tf tf_echo turtle1_frame turtle2_frame to see relative position and orientation between two frames.
used rosrun tf tf_monitor to know about the frames present.
added code for turtlesim broadcaster and listener.
added the launch file of turtle sim follower application.
BUG algorithm
BUG0 - head to goal straight, follow the wall if obstacle is there.
BUG1 - head to goal straight, follow the wall if obstacle is there, go to the closest location of goal.
BUG2 - head to goal straight, follow the wall if obstacle is there, creates a shortest line from start to goal, follow this line.
Need to add three turtle in turtle sim and make them follow.
Added code for the third turtle.
made the third turtle flow the 2nd turtle.
updated in the launch file.
Added a fourth turtle in tfBroadcaster.
roslaunch ros_nav tfBroadcaster.launch
fourth turtle will follow the third one.
Need to study about BUG algorithm.
Need to study about hector slam technique.
Need to study Dijkstra ALgo and A* Algo.
Need to find technique to install ROS in raspberry pi.
Need to study about kinect sensor 3d Camera.
Need to know about the working of LIDAR.
Need to study how to convert 3D models to URDF
Learned a little about Dijkstra's algorithm and A* algo
A* algo gives weights to a point according to starting and the goal location
Dijkstra only gives weight according to the starting.
Need to try different algo on solving a maze.
Learned about Kalman Filter, Monte Carlo.
Need to look into matrices, jacobian, rotational matrices.
Algorithms need to be added.
Studied basics about quaternion.
Studied about gimbal lock.
Studied how quaternion is required for representing 3d rotation.
Need to go more into the depths of quaternion mathematics.
Was trying to work with MQTT
having some problem for python 2 environment.
Added repo for room cleaning bot.
Error in mqtt subscriber function.
Need to start the ros course all over again.
Started studying about the publisher subscriber and documenting it down here.
Cloned the gazebo bicycle repo to my catkin_ws
Ran the launch file.
Not working.
Started making Usage commands in README.md
Cloned the bicyle_gazebo repo again in my catkin_ws
Model is showing in gazebo
After cloning need to make catkin_make
Then roslaunch self_balancing_bicycle main.launch
Added another bycle repo bicycle_model_URDF.. not working.
Currently working on making the bicycle move.
Added a world folder to add a wall in gazebo simulation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.