PiPuck: Difference between revisions

From GCtronic wiki
Jump to navigation Jump to search
No edit summary
(Redirected page to Pi-puck)
 
Line 1: Line 1:
=Overview=
#REDIRECT [[Pi-puck]]
Features:
* Raspberry Pi zero W (rPi) connected to the robot via I2C
* interface between the robot base camera and the rPi via USB
* 1 digital microphone and 1 speaker
* USB hub connected to the rPi with 2 free ports
* uUSB cable to the rPi uart port. Also ok for charging
* 2 chargers. 1 for the robot battery and 1 for the auxiliary battery on top of the extension
* charging contact points in front for automatic charging. External docking station available
* several extension options. 6 i2C channels, 2 ADC inputs
* several LED to show the status of the rPi and the power/chargers
 
=System=
The system is based on Raspbian Stretch and can be downloaded from the following link [http://projects.gctronic.com/epuck2/gctronic-stretch-ros-kinetic-opencv3.4.1.img.tar.gz gctronic-stretch-ros-kinetic-opencv3.4.1.img.tar.gz].
 
user/pw: pi/raspberry<br/>
The system starts in console mode, to switch to desktop (LXDE) mode issue the command <code>startx</code>.
 
When booting the first time, the first thing to do is expanding the file system in order to use all the available space on the micro sd:<br/>
1. <code>sudo raspi-config</code><br/>
2. Select <code>Advanced Options</code> and then <code>Expand Filesystem</code><br/>
3. reboot
 
==Installed software==
* ROS Kinetic
* OpenCV 3.4.1
* zram
* SSH
 
=Robot configuration=
The e-puck2 robot must be programmed with the following firmware [http://projects.gctronic.com/epuck2/gumstix/e-puck2_main-processor_gumstix_c35e8da_06.11.18.elf  e-puck2_main-processor_gumstix.elf] and the selector must be placed in position 10.<br/>
This is needed in order to exchange data with the robot through I2C.
 
=ROS=
The ROS workspace is located in <code>~/rosbots_catkin_ws/</code>
 
Before starting the e-puck2 ROS node on the raspberry, issue the following commands:
* <code>export ROS_IP=raspberry-ip</code>
* <code>export ROS_MASTER_URI=http://pc-ip:11311</code>
 
To start the e-puck2 ROS node issue the command:<br/>
<code>roslaunch epuck_driver_cpp epuck_controller.launch epuck_id:='3000'</code><br/>
This launch file will start the e-puck2 node and the camera node.
 
On the PC side issue the following commands in one terminal:
* <code>export ROS_IP=pc-ip</code>
* <code>export ROS_MASTER_URI=http://pc-ip:11311</code>
* <code>roscore</code>
And then start rviz in another terminal:
* <code>rviz rviz</code>
* open the configuration file named <code>single_epuck_driver_rviz.rviz</code> you can find in <code>epuck_driver_cpp/config/</code> directory
 
The last version of the e-puck2 ROS node can be downloaded from the git: <code>git clone -b e-puck2 https://github.com/gctronic/epuck_driver_cpp.git</code>
 
=OpenCV=
==Blob tracking==
A simple demo was developed to track an orange blob. It is thought to be run with the omnivision extension. The robot rotate in place towards the target when it finds one.<br/>
The code can be downloaded from the following repo: <code>git clone https://github.com/e-puck2/e-puck2_pi_blob-tracking.git</code>

Latest revision as of 05:11, 15 March 2019

Redirect to: