This is the project for the autonomous navigation of the mobile robot which is built from scratch by myself with a huge support from Dr.Stephen Alty at Royal Holloway, University of London
https://sungjik.wordpress.com/2015/09/28/my_personal_robotic_companion/
- Raspberry Pi 3 Model B+
- Microsoft x box kinect sensor bar only
- xBox 360 Kinect sensor USB extension and power supply
- Freenove Super Starter Kit for Arduino
- 2X DC 6V 210RPM Encoder Motor Set DC Gear Motor with Mounting Bracket and Wheel
- 12V Battery Pack
- Motor Control Shield for Arduino
- DC DC Boost Converter Step-up
- H&S® 4 x Heavy Duty 50mm Rubber Swivel Castor Wheels Trolley Furniture Caster Brake
- 5 pcs. FLAT STEEL MENDING REPAIR CONNECTOR JOINING PLATE 200MM X 80MM
- Am-Tech Nuts and Bolts (240 Pieces)
- Duracell MN1500 Plus Power AA Size Batteries-Pack of 12
- Charcoal Companion CC6021, Cedar Grilling Plank, Wood, 14x30x3.81 cm, CC6021
- Poweradd Pilot X7 20,000mAh Portable Universal External Power Bank, Red-Black
- Rolson Tools 36039 Mini Tool Kit - 26 Pieces
- Soldering Iron Kit, 60W Adjustable Temperature Soldering-iron Gun Kit with 5 Soldering Tips, Desoldering Pump, Tin Wire Tube, Soldering Iron Stand, Tw
- Helix Oxford 12 inch 30cm Shatter Resistant Ruler
- CONNEX DP8500052 Wood Screw Kit (215 Pieces)
- Bahco 300-14-F15/16-Hp Toolbox Handsaw 14In
- Hot Glue Gun, TOPELEK Heats Up Quickly 20W Mini Heating Hot Melt Glue Gun with Sticks(50pcs 100mm), ON-Off Switch for DIY Arts, Hobby, Craft, Home Rep
- DELL Inspiron 15 7500
- CPU: i7 7th Gen
- GPU: GTX1060 Max Design
- OS: Ubuntu 16.0.4 LTS
- ROS: Kinetic
- Python: 3.6.2
- Raspberry Pi
- Model: 3 Model B+
- OS: Light Ubuntu(I wanted to use Ubuntu)
# ===== Server =====
$ export ROS_IP=ip_address
$ export ROS_MASTER_URI=http://ip_address_of_master:1131
$ cd ~/sketchbook/rosserial_test
# using arduino-make, we deploy the code(.ino file) followed by launching the ros topic
$ sh deploy_run_ros.sh
# ===== Local Machine =====
$ export ROS_IP=ip_address
$ export ROS_MASTER_URI=http://ip_address_of_master:1131
# check if the topic has been successfully launched
$ rostopic list
# go forward
$ rostopic pub /remote_control std_msgs/String "data: 'FORWARD'"
# turn left
$ rostopic pub /remote_control std_msgs/String "data: 'LEFT'"
# turn right
$ rostopic pub /remote_control std_msgs/String "data: 'RIGHT'"
# stop moving
$ rostopic pub /remote_control std_msgs/String "data: 'STOP'"
- I used Arduino-mk
# install arduino-mk
$ sudo apt-get install arduino-mk
$ make # verification of the code
$ make upload # upload the verified code
$ make upload clean # upload the verified code followed by removing the built directory
# for more details pls, check the git repo
-
Set
ROS_IP
on each machine: -
Set an IP address/HOSTNAME of the master server as
ROS_MASTER_URI
on each machine -
Reference: http://wiki.ros.org/ROS/Tutorials/MultipleMachines
$ export ROS_IP=ip_address
# 11311 is the default port for rosmaster
$ export ROS_MASTER_URI=http://ip_address_of_master:1131
# Test
# on master
$ roscore
$ rosrun rospy_tutorials listener.py
# on server
$ rosrun rospy_tutorials talker.py
hmm... does not look pretty good and it was quite unstable... Eventually it got broken.lol
this time it turned out that the legs was not stable... I mean it's obviously looks like a legless bouncing chicken.