Welcome to cellphone robot project! This is part of Project Cellphone robot and is mainly focused on the some extended functionalities, hardware control, as well as message-passing between the android application and the ROS system resided on any linux system. In our project we decide to use Raspberry Pi 3 Model B, a single-board computer with considerate computation power. Read wiki for concrete details.
- Follow the link and configure the ROS environment. For instance you can build the catkin works space in
~/catkin_ws
. - Type the following line in your terminal.
$ cd ~/catkin_ws/src
$ git clone https://github.com/wang3303/ros_cellphonerobot.git
$ cd ~/catkin_ws
$ catkin_make
- Note: ROS_PACKAGE_PATH environment variable includes the directory you're in. You should see something similar as below in your terminal.
$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share
$ roslaunch ros_cellphonerobot robot.launch
This will bring all the nodes online.
You can modify the profile for your robot in /ros_cellphonerobot/rosparam/profile.yaml
. The explanation for this file could be found here.
You can run the following line to publish keys to /action
topic for debugging. For instance, w
could stand for moving forward. a
could stand for moving backward.
$ rosrun ros_cellphonerobot key_publisher.py
- Install Tensorflow
- Uncomment the node
image_classify.py
inros_cellphonerobot/
. You can publish images to topic/inception
- Important Note:
ros_inception.py
will download Neural Network weights and models the first time it runs. Hence, wait patiently untilros_inception.py
successfully download necessary files. You can monitor downloading progress by outputros_inception.py
to screen after modifying the launch file.
<node pkg="ros_cellphonerobot" name="image_classify" type="image_classify.py" output="screen"/>
- Make sure you pass argument
--model_dir
and--num_top_predictions
to this node as instructed here.