Markov Localization Explained
In this tutorial, I explain the math and theory of robot localization and I will solve an example of Markov localization.
In this tutorial, I explain the math and theory of robot localization and I will solve an example of Markov localization.
This work is similar to the previous work here, but this time I used Single Shot MultiBox Detector (SSD) for car detection. Installation is similar, clone the SSD Caffe:
1 2 3 |
git clone https://github.com/weiliu89/caffe.git ssdcaffe cd ssdcaffe git checkout 5365d0dccacd18e65f10e840eab28eb65ce0cda |
add the following lines to your Makefile.config
1 2 |
INCLUDE_DIRS += /usr/include/hdf5/serial LIBRARY_DIRS += /usr/lib/x86_64-linux-gnu/hdf5/serial |
and build it:
1 |
make && make distribute |
used video_stream_opencv to stream your video:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!-- Example of run: roslaunch video_file.launch video_file:=/home/behnam/Desktop/dash_cam.mp4 --> <launch> <!-- launch video stream --> <!--remaping the topic --> <remap from="/videofile/image_raw" to="/image_raw"/> <include file="$(find video_stream_opencv)/launch/camera.launch" > <!-- node name and ros graph name --> <arg name="camera_name" value="videofile" /> <!-- full path to the video file --> <arg name="video_stream_provider" value="$(arg video_file)" /> <!-- throttling the querying of frames to --> <arg name="fps" value="30" /> <!-- setting frame_id --> <arg name="frame_id" value="videofile_frame" /> </include> </launch> |
download the trained model from here and put them in the model …
To run this, you need to install Fast-RCNN and Autoware. Just in case you got error regarding hd5f when making Fast-RCNN, add the following lines to your Makefile.config
1 2 |
INCLUDE_DIRS += /usr/include/hdf5/serial LIBRARY_DIRS += /usr/lib/x86_64-linux-gnu/hdf5/serial |
Now run the following command to start:
1 2 3 4 |
source /opt/ros/kinetic/setup.bash source /home/<user_name>/Autoware/ros/devel/setup.sh export ROS_PACKAGE_PATH=/home/<user_name>/Autoware/:$ROS_PACKAGE_PATH roslaunch cv_tracker rcnn.launch |
if you got an error like :
1 |
Check failed: error == cudaSuccess (30 vs. 0) unknown error |
That means your graphics card is not ready or accessible, in my everytime I suspend my notebook I get that …
Car Detection Using Fast Region-based Convolutional Networks (R-CNN) in ROS with Caffe Read More »
Most of the wheeled robots in ROS use move_base to move the robot. move_base geometry model is based on differential drive which basically transforms a velocity command (twist message) into a command for rotating the left and the right wheels at a different speed which enable the car to turn into the right or left or goes straight. But cars …
Ackermann steering car robot model with simulation in Gazebo Read More »
Two wheels differential drive robot (with two caster wheels). List of installed sensors: • Velodyne VLP-16. • Velodyne HDL-32E. • Hokuyo Laser scanner. • IMU. • Microsoft Kinect/Asus Xtion Pro. • RGB Camera. You can manually control the robot with Joystick controller for mapping robot environment. Autonomous navigation is possible by setting goal pose.