-
Notifications
You must be signed in to change notification settings - Fork 19
Home
This wiki is officially deprecated. All documentation should be viewed at https://docs.remo.tv
If you're coming from Let's Robot, there are a few key things this controller does differently. You can read more about it here.
If this is your first time working with a Raspberry Pi or Linux, we recommend following our initialization tutorial to get started.
If doing things manually isn't your style, we made an optional guided installation script that handles mostly everything for you.
The RasPi will need the following things installed so it can talk to your motors and talk to the internet. Make sure you don't get any errors in the console when doing the step below. If you have an issue, you can run this line again, that will usually fix it!
- Install the required software libraries and tools. Make sure you don't get any errors in the console. If you have an issue, you can run this line again, and that will usually fix it!
sudo apt update sudo apt upgrade -y sudo apt install ffmpeg python-serial python-dev libgnutls28-dev espeak python-smbus python-pip git
- Download the remotv controls scripts from GitHub.
git clone https://github.com/remotv/controller.git ~/remotv
- Install python requirements
sudo python -m pip install -r ~/remotv/requirements.txt
- Open the new
remotv
directorycd remotv
- Copy
controller.sample.conf
tocontroller.conf
cp controller.sample.conf controller.conf
-
Edit the
controller.conf
file created in the previous section.nano controller.conf
-
Configure the
[robot]
sectionVariable Default Value Description owner
YourRemoUsername
The username you have registered on remo.tv robot_key
YourRobotAPIKey
The API key for your robot that you made on the site. channel
The name of the channel you want the robot to join. This is optional. If the named channel cannot be found, the robot will join the first channel. turn_delay
0.4
Only used by the motor_hat
andmdd10
. This changes how long your bot drives for. I suggest you leave this at the default value until after your bot is moving.straight_delay
0.5
Only used by the motor_hat
andmdd10
. This changes how long your bot drives for. I suggest you leave this at the default value until after your bot is moving.
-
type
should be the hardware type for the motor controller of your bot. Available types are currently - Configure your hardware section. Each type can have their own section in the controller. Look through the file for a section named the same as your hardware controller. If the section exists, read through it and ajust the variables as required.
-
Configure the
[camera]
section.Variable Default Value Description no_camera
false
This allows the camera to be disabled no_mic
false
This allows the microphone to be disabled type
ffmpeg
This sets the audio/video handler to use. Currently only ffmpeg
andffmpeg-arecord
are supported.x_res
768
Sets the resolution for the x
axisy_res
432
Sets the resolution for the y
axiscamera_device
/dev/video0
Sets the device name for the camera mic_num
1,0
Sets the audio hardware number for the microphone mic_device
The name of the microphone for if the hardware number keeps changing -
Configure the
[tts]
sectionVariable Default Value Description type
espeak
See the list below tts_volume
80
This is the volume level you want your bot to start with anon_tts
true
This allows you to enable or disable anonymous users from accessing your bots TTS features filter_url_tts
true
This option allows URLs pasted into chat to be blocked from the TTS function ext_chat
true
This enables or disables the extended chat functions speaker_num
1,0
This is the ALSA hardware number for your Pi. 0 is the first sound card that should work for most bots. speaker_device
This is the name of your device is the hardware number keeps changing. boot_message
ok
This is a list of phrases your bot can say when it's ready to move, separated by commas. delay_tts
false
This enables or disables delaying messages being spoken. Messages that are deleted while waiting will not be spoken over TTS. delay
10
Time in seconds to delay the TTS function.
-
Copy the
start_robot
script to your home directory.cp ~/remotv/scripts/start_robot ~
-
Add the startup script to the
crontab
crontab -e
Note: if you accidentally use the wrong editor try
EDITOR=nano crontab -e
-
Insert the following text at the bottom
@reboot /bin/bash /home/pi/start_robot
Example:
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @reboot /bin/bash /home/pi/start_robot
-
Now just plug in the Camera and USB speaker and reboot
sudo reboot
The following hardware is supported
- Adafruit Motor Hat
- Adafruit PWM / Servo Hat
- Anki Cozmo
- Cytron MDD10 10 Amp Motor Driver
- GoPiGo 2
- GoPiGo 3
- L298N Dual Motor Controller
- Pololu Maestro Servo Controller (experimental)
- MAX7219 SPI Led Driver
- MotoZero 4 Motor Controller
- MQTT Publish commands to a local MQTT Broker
- OWI 535 Robotic Arm (USB controller)
- Serial Based controllers (Parallaxy or Arduinos)
- PiBorg ThunderBorg Motor Driver
- Pololu Dual MC33926 Motor Driver (experimental)
- Pololu DRV8835 Dual Motor Driver
Missing something? You can add it, open source! Instructions for adding new hardware can be found here.
- Adafruit Motor Hat
- Adafruit PWM / Servo Hat
- Anki Cozmo on MacOS/Linux
- Anki Cozmo on Windows
- Cytron MDD10 10 Amp Motor Driver
- GoPiGo2
- GoPiGo3
- L298N Dual Motor Driver
- MAX7219 SPI LED Driver
- MotoZero 4 Motor Controller
- MQTT Publish Controller
- OWI 535 Robotic Arm (USB Controller)
- Serial Based Controllers (Parallaxy or Arduinos)
- PiBorg ThunderBorg Motor Driver
- Pololu Daul MC33926 Motor Driver (experimental)
- Pololu DRV8835 Dual Motor Driver
- Pololu Maestro Servo Controller (experimental)